class E2ETestKeyManagementService : SingletonSerializeAsToken, KeyManagementService
A simple in-memory KMS that doesnt bother saving keys to disk. A real implementation would:
Probably be accessed via the network layer as an internal node service i.e. via a message queue, so it can run on a separate/firewalled service.
Use the protocol framework so requests to fetch keys can be suspended whilst a human signs off on the request.
Use deterministic key derivation.
Possibly have some sort of TREZOR-like two-factor authentication ability
etc
<init> |
E2ETestKeyManagementService() A simple in-memory KMS that doesnt bother saving keys to disk. A real implementation would: |
keys |
val keys: Map<PublicKey, PrivateKey> Returns a snapshot of the current pubkey->privkey mapping. |
freshKey |
fun freshKey(): KeyPair Generates a new random key and adds it to the exposed map. |
toKeyPair |
open fun toKeyPair(publicKey: PublicKey): KeyPair |
toPrivate |
open fun toPrivate(publicKey: PublicKey): PrivateKey |
toToken |
open fun toToken(context: SerializeAsTokenContext): SerializationToken |