Getting Wallet Addresses
Primus HSM supports generating addresses for the following crypto currencies:
- BTC
- ETH
- XLM
- XRP
- IOTA
Use Cases
Getting the address can be used as a helper function, for when you don't want to compute the address yourself.
However, getting the address directly from the HSM can also be used as a security feature: It is possible to generate key pairs without exposing the public key outside of the HSM until the first signature is created. This is useful if your threat model includes quantum computers.
A potential quantum computer may be able to reverse the private key from a public key, breaking elliptic curve cryptography. This would allow such a quantum attacker to steal the funds stored in the wallet. To defend against that, Primus HSM supports getting only the wallet address from the HSM, but not the public key. The wallet address is a hash of the public key. Symmetric primitives such as hashes are not significantly affected by the threat of quantum computers.
Requirements
Getting the wallet address of a key only works for keys that:
- Are SKA keys.
- Have an
addressFormatattached.
These settings must be applied during key creation (generation or import). They cannot be changed later!
Getting the Address
POST /v1/key/address
Description: Returns the crypto currency address base (without checksum or network prefix) of a key in base64 format.
Request:
{ "label": "my-wallet-master-key" }
Response:
{ "address": "O+4DVWuyYakowbj6mvDSqDag3Zo=" }