Register asset key

The registered key allow key owner to perform operations with uubank services with universa contracts signed by this key. Also its address will be ised as ID in subsequent API calls. The registration process assures that private key owner actually register the key in the uubank profile. To ensure it the complex procedure should be followed.

General description

  • User logs in to the uubank (register new profile if need).
  • In the profile, user clicks "add key"
  • User is redirected to the Universa Web client 3.* to generate/select existing key.
  • User is redirected back to his profile in the uubank where newly added key should be shown.

Registered keys could be removed from uubank profile at any time.

The private key part resides in the user's computer and is never transferred over the network. The signing is performed in the UI page and only signed materials and public key address are transferred over the network.

Selecting the key

Profile page redirects to the webclient providing two parameters in url:

GET ...?contract_token=&request_token=

The contract_token should be placed in the token request contract as definition.data.token: <token>, and will therefore be shared with universa network. The request token will be kept secret.

The client performs all necessary actions to pick the private key (e.g. registering and logging in, generatin new keys - depedning on the user activity).

Preparing registration contract

When the sectret key is selected, the web client prepares the uubank key registration contract, that must:

  • have been signed by the snigle creator key - the key to be registered with uubank.
  • have definition.name == "uubank key registration request"
  • have definition.data.token == <contract_token>
  • have definition.data.key_address set to desired key address (short or long)

It is crucial that all these requirements are met. The properly formed contract should then be registered with the Universa network by the client.

Important notice. Only the specified address of the key will be accepted by the uubank! E.g. if the long address is specified, short one will not be accepted, and also address variations could be ised to create special addresses used only to access uubank service. Please be careful to put the desired address in the contract.

Submitting contract to the uubank

When the contract is apprved by the network, the clietn should call uupank API:

POST /api/keys/register

With following parameters:

  • contract_base64: base64 encoded registration contract described above that should have been approved by the universa network
  • request_token: the token received from the uubank in the query, as described above.

In success, the empty common reponse is returned. The user might then be instructed that the key is successfully generated and could be verified by passing to the uubank profile page at https://assets.universa.io/users/me.

Revoke asset key

As for now, it could only be done by a user accessing the profile in the uubank service.