Commit Graph

18 Commits (fe04f93d7fbe881ca5ad7df7e9b5b676c4daa8a9)

Author SHA1 Message Date
Shulhan fe04f93d7f
all: reformat all go files with the next gofmt (Go 1.19)
There are some changes that manually edited, for example using '-' as
default list and grouping imports.
2 years ago
Mariano Cano 6d644880bd Allow to kms signers to define the SignatureAlgorithm
CloudKMS keys signs data using an specific signature algorithm, in RSA keys,
this can be PKCS#1 RSA or RSA-PSS, if the later is used, x509.CreateCertificate
will fail unless the template SignatureCertificate is properly set.

On contrast, AWSKMS RSA keys, are just RSA keys, and can sign with PKCS#1 or
RSA-PSS schemes, so right now the way to enforce one or the other is to used
templates.
3 years ago
Mariano Cano a864f0134d Fix key version when SHA512WithRSA is used.
There was a typo creating RSA keys with SHA256 digests instead of
SHA512
3 years ago
Mariano Cano 163eb7029c Refactor cloudkms signer to return an error on the constructor. 3 years ago
Mariano Cano cae08bff80 Validate that the signer can get the public key. 3 years ago
Mariano Cano 4c562160fc Fix typo. 3 years ago
Mariano Cano a947779795 Add uri support initializing cloudkms. 3 years ago
Mariano Cano d30a95236d Use always go.step.sm/crypto 4 years ago
Mariano Cano 63e36ecd7a Refactor the initialization of KeyManagers. 4 years ago
Mariano Cano 1138cc4207 Retry CloudKMS GetPublicKey.
On HSM keys are not generated instantly and the GetPublicKey fails
with a FailedPrecondition error. This change will retry GetPublicKey
if this happens.
4 years ago
Mariano Cano b11bbd5728 Fix typo. 4 years ago
Mariano Cano fa8116497c Make Signer public and add contructor NewCloudKMS. 4 years ago
Mariano Cano 5d5ee68d88 Make GCP client public to facilitate extensibility. 4 years ago
Mariano Cano dff498f17f Add tests for cloudkms. 4 years ago
Mariano Cano a773977a81 Fix interface change. 4 years ago
Mariano Cano 927a3b3a86 Return crypto.PublicKey on kms.GetPublicKey. 4 years ago
Mariano Cano e60beeb7fc Make cloudkms more robust.
* Automatically create key rings if needed.
* User CryptoKeyVersions if needed.
* Add support to close the client.
* Add new pareters to CreateKey responses to make things easier.
4 years ago
Mariano Cano d13754166a Add support for cloudkms and softkms. 4 years ago