Key Management Services
KMS clients for the purpose of isolating ed25519 private key signing.
GitHub Repository
Core
Dependencies
- systems.comodal.json_iterator
- software.sava.core
- software.sava.rpc
- software.sava.ravina_core
Service Usage
The KMS library provides SigningService
and SigningServiceFactory
interfaces to enable decoupled transaction signing.
Load via Service Provider
Load from service config.
Load from concrete implementation config.
Service Configuration
Provide the signing service factory class desired and corresponding configuration. If it is a network related implementation, configure a backoff as well.
Implementations
Local Disk
Local configuration of secret information.
Factory Class
software.sava.kms.core.signing.MemorySignerFactory
Configuration
See sava core private key parsing for all supported encodings.
File Pointer
Points to a file with the secret contents as shown above.
Factory Class
software.sava.kms.core.signing.MemorySignerFromFilePointerFactory
Configuration
HTTP KMS
Host an independent HTTP server that signs data.
Dependencies
- java.net.http
- systems.comodal.json_iterator
- software.sava.core
- software.sava.rpc
- software.sava.ravina_core
- software.sava.kms_core
Endpoints
GET v0/publicKey
Returns a base58 or base64 encoded public key for the service.
- Response Headers:
- X-ENCODING: [base58 | base64]
POST v0/sign
Accepts base64 encoded data and returns a corresponding signature.
The server should be able to parse and inspect the data before signing, unless the requesting service can be completely trusted.
- Request Headers:
- X-ENCODING: base64
Factory Class
software.sava.kms.http.HttpKMSClientFactory
User Configuration
Google KMS
Use Google Cloud Key Management Service to sign data.
Google’s dependency tree exports the same package from multiple jars. This prevents the ability to use this library on the module path.
Dependencies
- systems.comodal.json_iterator
- software.sava.core
- software.sava.rpc
- software.sava.ravina_core
- software.sava.kms_core
- google.cloud.kms