@relaycorp/awala-keystore-cloud
is a Node.js library that implements
Awala private key stores across a range of cloud providers and open
source backing services, so that server-side apps can be deployed to a wide variety of platforms.
Most of this documentation is aimed at operators of those server-side apps using this library. To get help, learn how to integrate this library or contribute to this library, please refer to the GitHub project.
The following platforms are currently supported:
The GCP key store only uses Cloud KMS, which is serverless and fully managed by Google, so you don't need to worry about up/down scaling or uptime/performance monitoring. We protect sensitive cryptographic material with Cloud KMS as follows:
As of this writing, the library complies with all of KMS' data integrity guidelines.
All the metadata about the keys are stored on MongoDB.
You should provision the following in GCP:
RSA_SIGN_PSS_2048_SHA256
by default.This library will provision and manage the key versions in the KMS signing key.
Identity keys:
cloudkms.cryptoKeys.get
on the KMS signing key.cloudkms.cryptoKeyVersions.create
on the KMS signing key.cloudkms.cryptoKeyVersions.viewPublicKey
on the newly-created KMS signing key version.cloudkms.cryptoKeyVersions.useToSign
on the KMS signing key version.cloudkms.cryptoKeyVersions.viewPublicKey
on the KMS signing key version, when issuing a certificate.Session keys:
cloudkms.cryptoKeyVersions.useToEncrypt
on the KMS encryption key.cloudkms.cryptoKeyVersions.useToDecrypt
on the KMS encryption key.