Commit Graph

18 Commits (a0242ad6ce7a764d1b2f13f07c78c7ed54a36466)

Author SHA1 Message Date
Herman Slatman 2d85d4c1c1 Add non-TLS server and improve crypto.Decrypter interface
A server without TLS was added to serve the SCEP endpoints. According
to the RFC, SCEP has to be served via HTTP. The `sscep` client, for
example, will stop any URL that does not start with `http://` from
being used, so serving SCEP seems to be the right way to do it.

This commit adds a second server for which no TLS configuration is
configured. A distinct field in the configuration, `insecureAddress`
was added to specify the address for the insecure server.

The SCEP endpoints will also still be served via HTTPS. Some clients
may be able to work with that.

This commit also improves how the crypto.Decrypter interface is
handled for the different types of KMSes supported by step. The
apiv1.Decrypter interface was added. Currently only SoftKMS
implements this interface, providing a crypto.Decrypter required
for SCEP operations.
3 years ago
Herman Slatman 2a249d20de Refactor initialization of SCEP authority 3 years ago
Mariano Cano 163eb7029c Refactor cloudkms signer to return an error on the constructor. 4 years ago
Mariano Cano cae08bff80 Validate that the signer can get the public key. 4 years ago
Mariano Cano 4c562160fc Fix typo. 4 years ago
Mariano Cano a947779795 Add uri support initializing cloudkms. 4 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.
5 years ago
Mariano Cano b11bbd5728 Fix typo. 5 years ago
Mariano Cano cff346e7fd Skip test on travis, it won't fail because they have access to the KMS. 5 years ago
Mariano Cano fa8116497c Make Signer public and add contructor NewCloudKMS. 5 years ago
Mariano Cano 5d5ee68d88 Make GCP client public to facilitate extensibility. 5 years ago
Mariano Cano dff498f17f Add tests for cloudkms. 5 years ago
Mariano Cano a773977a81 Fix interface change. 5 years ago
Mariano Cano 927a3b3a86 Return crypto.PublicKey on kms.GetPublicKey. 5 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.
5 years ago
Mariano Cano d13754166a Add support for cloudkms and softkms. 5 years ago