certificates/authority
Anton Lundin 3e6137110b Add support for using ssh-agent as a KMS
This adds a new KMS, SSHAgentKMS, which is a KMS to provide signing keys
for issuing ssh certificates signed by a key managed by a ssh-agent. It
uses the golang.org/x/crypto package to get a native Go implementation
to talk to a ssh-agent.

This was primarly written to be able to use gpg-agent to provide the
keys stored in a YubiKeys openpgp interface, but can be used for other
setups like proxying a ssh-agent over network.

That way the signing key for ssh certificates can be kept in a
"sign-only" hsm.

This code was written for my employer Intinor AB, but for simplicity
sake gifted to me to contribute upstream.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2020-11-04 09:06:23 +01:00
..
provisioner Add all AWS certificates used to verify base64 signatures. 2020-10-28 17:47:44 -07:00
testdata Add test case for error executing template. 2020-06-16 18:21:44 -07:00
authority.go Add support for using ssh-agent as a KMS 2020-11-04 09:06:23 +01:00
authority_test.go Remove unnecessary properties. 2020-09-16 13:31:26 -07:00
authorize.go Create a hash of a token if a token id is empty. 2020-09-18 16:25:08 -07:00
authorize_test.go Create a hash of a token if a token id is empty. 2020-09-18 16:25:08 -07:00
config.go Move cas options under authority. 2020-10-19 18:08:51 -07:00
config_test.go Use go.step.sm/crypto/jose 2020-08-24 14:44:11 -07:00
options.go Remove unnecessary properties. 2020-09-16 13:31:26 -07:00
provisioners.go Simplify statuscoder error generators. 2020-01-28 13:29:40 -08:00
provisioners_test.go Remove all references to old apiError. 2020-01-28 13:29:40 -08:00
root.go Simplify statuscoder error generators. 2020-01-28 13:29:40 -08:00
root_test.go Use always go.step.sm/crypto 2020-08-14 15:33:50 -07:00
ssh.go Make clearer what's an unsigned cert. 2020-08-28 14:29:18 -07:00
ssh_test.go Use go.step.sm/crypto/jose 2020-08-24 14:44:11 -07:00
tls.go Fix typo. 2020-10-05 18:00:50 -07:00
tls_options.go Move TLSOption, TLSVersion, CipherSuites and ASN1DN to certificates. 2020-08-10 15:29:18 -07:00
tls_options_test.go Move TLSOption, TLSVersion, CipherSuites and ASN1DN to certificates. 2020-08-10 15:29:18 -07:00
tls_test.go Remove unnecessary properties. 2020-09-16 13:31:26 -07:00
types.go Move Duration to a new file and move tests to provisioner package. 2019-03-11 14:54:25 -07:00
types_test.go Move Duration to a new file and move tests to provisioner package. 2019-03-11 14:54:25 -07:00
version.go Add missing version.go file. 2020-01-28 13:28:17 -08:00