Mariano Cano
ad8a813abe
Fix linter errors
3 years ago
Panagiotis Siatras
e6b2359273
ca: fixed import statement order
3 years ago
Panagiotis Siatras
9ba33bab4e
ca: refactored to use the read package
3 years ago
Mariano Cano
915911efb6
Disable http loggers in test.
...
They hide the test that fail on tests in the CI.
3 years ago
Mariano Cano
ead742ca0f
Fix unit test
3 years ago
Herman Slatman
81b0c6c37c
Add API implementation for authority and provisioner policy
3 years ago
Mariano Cano
6dcde8a743
Fix typo
3 years ago
Mariano Cano
a4dd586a81
Add method to get the CA url from the client.
3 years ago
Mariano Cano
616490a9c6
Refactor renew after expiry token authorization
...
This changes adds a new authority method that authorizes the
renew after expiry tokens.
3 years ago
Mariano Cano
41ea67ce10
Attempt to fix a bootstrap tests
3 years ago
Herman Slatman
4ebf43c011
Merge pull request #820 from smallstep/herman/acme-api
...
Refactor ACME Admin API
3 years ago
Herman Slatman
5cb23c6029
Merge pull request #804 from smallstep/herman/normalize-ipv6-dns-names
...
Normalize IPv6 hostname addresses
3 years ago
Herman Slatman
d00729df0b
Refactor ACME Admin API
3 years ago
Chris Crook
11637b5793
Add descriptive provisioner JWK decryption error messages
...
Wrap other errors in decryption process with more helpful messaging. This should help users troubleshoot misconfiguration more easily.
Fixes #816
3 years ago
Herman Slatman
bfa2245abb
Merge branch 'master' into herman/normalize-ipv6-dns-names
3 years ago
Herman Slatman
c7c5c3c94e
Merge branch 'master' into herman/scep-macos-renewal-fixes
3 years ago
Herman Slatman
fd9845e9c7
Add cursor and limit to ACME EAB DB interface
3 years ago
Herman Slatman
716b946e7a
Normalize IPv6 hostname addresses
3 years ago
Herman Slatman
64680bb16d
Fix PR comments
3 years ago
Herman Slatman
3612eefc31
Cleanup
3 years ago
Herman Slatman
9c6580ccd2
Fix macOS SCEP client issues
...
Fixes #746
3 years ago
Herman Slatman
30859d3c83
Remove server-side paging logic for ExternalAccountKeys
3 years ago
Herman Slatman
6929e31fe0
Merge branch 'master' into hs/acme-eab
3 years ago
Herman Slatman
22ff90f655
Merge branch 'master' into hs/acme-eab
3 years ago
Herman Slatman
07addd0cac
Fix linting issue
3 years ago
Herman Slatman
a68208a3ba
Set Step CLI User-Agent when performing ACME requests
3 years ago
Mariano Cano
2c63abcf52
fix grammar
3 years ago
Mariano Cano
7c4e6dcc96
Remove duplicated code in bootstrap methods
3 years ago
Mariano Cano
64c19d4264
Fix subject in test, use ip
3 years ago
Mariano Cano
b0b2e77b0e
Avoid doing unauthenticated requests on the SDK
...
When step-ca runs with mTLS required on some endpoints, the SDK
used in autocert will fail to start because the identity certificate
is missing. This certificate is only required to retrieve all roots,
in most cases there's only one, and the SDK has access to it.
3 years ago
Herman Slatman
d799359917
Merge branch 'master' into hs/acme-eab
3 years ago
Herman Slatman
3bc3957b06
Merge branch 'master' into hs/acme-revocation
3 years ago
Herman Slatman
d0c23973cc
Merge branch 'master' into hs/acme-eab
3 years ago
Herman Slatman
2d357da99b
Add tests for ACME revocation
3 years ago
Mariano Cano
d35848f7a9
Fix unit tests.
3 years ago
Mariano Cano
b9beab071d
Fix unit tests.
3 years ago
Mariano Cano
8c8db0d4b7
Modify errs.BadRequestErr() to always return an error to the client.
3 years ago
Mariano Cano
8ce807a6cb
Modify errs.BadRequest() calls to always send an error to the client.
3 years ago
max furman
7fac8c96c3
Merge branch 'master' into max/context
3 years ago
max furman
a7d144996f
SSH backwards compat updates
...
- use existence of new value in data map as boolean
- add tests for backwards and forwards compatibility
- fix old tests that used static dir locations
3 years ago
max furman
d777fc23c2
Add ca.WithInsecure and use methods for file names
3 years ago
max furman
e5951fd84c
Use methods in the step package
...
* rather than variables set at execution time, which may not match the
actual current context
3 years ago
max furman
7eeebca529
Enable step path contexts in identity and pki paths
3 years ago
max furman
10db335f13
mv pkg config -> step
3 years ago
max furman
741ac64c61
change name of package cli-utils/config to cli-utils/step
3 years ago
Herman Slatman
e7a988b2cd
Pin golangci-lint to v1.43.0 and fix issues
3 years ago
Herman Slatman
bcd1240a0e
Merge branch 'master' into hs/acme-eab
3 years ago
Mariano Cano
36b622bfc2
Use Golang's default keep-alive.
...
Since Go 1.13 a net.Listen keep-alive is enabled by default if
the protocol and OS supports it. The new one is 15s to match
the net.Dial default one. Previously http.Server ListenAndServe
and ListenAndServeTLS used to add a wrapper with 3m that we
replicated.
See https://github.com/golang/go/issues/31510
3 years ago
Herman Slatman
dd4b4b0435
Fix remaining gocritic remarks
3 years ago
Herman Slatman
e0b495e4c8
Merge branch 'master' into hs/acme-eab
3 years ago
max furman
933b40a02a
Introduce gocritic linter and address warnings
3 years ago
Herman Slatman
f34d68897a
Refactor retrieval of provisioner into middleware
3 years ago
Herman Slatman
9d4cafc4bd
Merge branch 'master' into hs/acme-eab
3 years ago
Herman Slatman
c2bc1351c6
Add provisioner to remove endpoint and clear reference index on delete
3 years ago
Herman Slatman
9c0020352b
Add lookup by reference and make reference optional
3 years ago
Mariano Cano
6729c79253
Add support for setting individual password for ssh and tls keys
...
This change add the following flags:
* --ssh-host-password-file
* --ssh-user-password-file
Fixes #693
3 years ago
Herman Slatman
f11c0cdc0c
Add endpoint for listing ACME EAB keys
3 years ago
Herman Slatman
9d09f5e575
Add support for deleting ACME EAB keys
3 years ago
Herman Slatman
a98fe03e80
Merge branch 'master' into hs/acme-eab
3 years ago
Herman Slatman
1dba8698e3
Use LinkedCA.EABKey type in ACME EAB API
3 years ago
Mariano Cano
e3ef4a7da9
Update test with default tls options.
3 years ago
Herman Slatman
c6a4c4ecba
Change ACME EAB endpoint
3 years ago
Herman Slatman
c6bfc6eac2
Fix PR comments
3 years ago
Herman Slatman
b65a588d5b
Make authentication work for /admin/eak
3 years ago
Mariano Cano
8fb5340dc9
Use a token at start time to configure linkedca.
...
Instead of using `step-ca login` we will use a new token provided
as a flag to configure and start linkedca. Certificates will be kept
in memory and refreshed automatically.
3 years ago
max furman
1df21b9b6a
Addressing comments in PR review
...
- added a bit of validation to admin create and update
- using protojson where possible in admin api
- fixing a few instances of admin -> acme in errors
3 years ago
max furman
77fdfc9fa3
Merge branch 'master' into max/cert-mgr-crud
3 years ago
max furman
9fdef64709
Admin level API for provisioner mgmt v1
3 years ago
Herman Slatman
03c472359c
Add sync.WaitGroup for proper error handling in Run()
3 years ago
Herman Slatman
13fe7a0121
Make serving SCEP endpoints optional
...
Only when a SCEP provisioner is enabled, the SCEP endpoints
will now be available.
The SCEP endpoints will be served on an "insecure" server,
without TLS, only when an additional "insecureAddress" and a
SCEP provisioner are configured for the CA.
3 years ago
Herman Slatman
97b88c4d58
Address (most) PR comments
3 years ago
Herman Slatman
5df60c5a9b
Add support for multiple SCEP provisioners
...
Similarly to how ACME suppors multiple provisioners, it's
now possible to load the right provisioner based on the
URL.
3 years ago
Herman Slatman
339039768c
Refactor SCEP authority initialization and clean some code
3 years ago
Herman Slatman
48c86716a0
Add rudimentary (and incomplete) support for SCEP
3 years ago
max furman
94ba057f01
wip
3 years ago
max furman
01a4460812
wip
3 years ago
max furman
9bfb1c2e7b
wip
3 years ago
max furman
d8d5d7332b
wip
3 years ago
max furman
9bf9bf142d
wip
3 years ago
Herman Slatman
bc2bb53009
Merge branch 'master' into hs/scep
3 years ago
max furman
4f3e5ef64d
wip
3 years ago
max furman
5d09d04d14
wip
3 years ago
max furman
4d48072746
wip admin CRUD
3 years ago
max furman
98a6e54530
wip
3 years ago
max furman
af3cf7dae9
first steps
3 years ago
max furman
7b5d6968a5
first commit
3 years ago
Mariano Cano
26e7cc6177
Allow to use the SDK with ed25519 keys.
3 years ago
Herman Slatman
c04f556dc2
Merge branch 'master' into hs/scep
3 years ago
max furman
8c709fe3c2
Init config on load | Add wrapper for cli
3 years ago
Mariano Cano
5846314f88
Add missing Rekey method to the ca.Client
...
Fixes #315
3 years ago
Herman Slatman
68d5f6d0d2
Merge branch 'master' into hs/scep
3 years ago
Mariano Cano
1328aa3e47
Fix review comments.
3 years ago
Mariano Cano
50b9aaec57
Add new identity tests.
4 years ago
Mariano Cano
e414d0c8ea
Fix unit tests.
4 years ago
Mariano Cano
c5234e9c61
Refactor tls tunnel connections.
...
New method will use an identity-like file with the configuration
used to create the (m)TLS connection to the tunnel.
4 years ago
Mariano Cano
e75a9409a5
Add experimental support for a TLS over TLS tunnel.
4 years ago
Herman Slatman
0487686f69
Merge branch 'master' into hs/scep
4 years ago
Mariano Cano
02a5879cfe
Specify always a Proxy in all custom transports.
...
Fixes #535
4 years ago
max furman
93c3c2bf2e
Error handle non existent provisioner downstream and disable debug route logging
4 years ago
max furman
b1888fd34d
Use different method for unescpaed paths for the router
4 years ago
Max
b724af30ad
Merge pull request #496 from smallstep/max/acme
...
Convert to ACME DB interface
4 years ago
max furman
672e3f976e
Few ACME fixes ...
...
- always URL escape linker output
- validateJWS should accept RSAPSS
- GetUpdateAccount -> GetOrUpdateAccount
4 years ago
Herman Slatman
2320d0911e
Add sync.WaitGroup for proper error handling in Run()
4 years ago
Herman Slatman
b815478981
Make serving SCEP endpoints optional
...
Only when a SCEP provisioner is enabled, the SCEP endpoints
will now be available.
The SCEP endpoints will be served on an "insecure" server,
without TLS, only when an additional "insecureAddress" and a
SCEP provisioner are configured for the CA.
4 years ago
Herman Slatman
c5e4ea08b3
Merge branch 'master' into hs/scep
4 years ago
Herman Slatman
b97f024f8a
Remove superfluous call to StoreCertificate
4 years ago
max furman
df05340521
fixing broken unit tests
4 years ago
max furman
f72b2ff2c2
[acme db interface] nosql authz unit tests
4 years ago
max furman
074ab7b221
[acme db interface] add linker tests
4 years ago
max furman
bb8d54e596
[acme db interface] unit tests compiling
4 years ago
max furman
fc395f4d69
[acme db interface] compiles!
4 years ago
max furman
80a6640103
[acme db interface] wip
4 years ago
Mariano Cano
8c8c160c92
Fix method name in comment.
4 years ago
Mariano Cano
bdeb0ccd7c
Add support for the flag --issuer-password-file
...
The new flag allows to pass a file with the password used to decrypt
the key used in RA mode.
4 years ago
Herman Slatman
583d60dc0d
Address (most) PR comments
4 years ago
Herman Slatman
e1cab4966f
Improve initialization of SCEP authority
4 years ago
Herman Slatman
8c5b12e21d
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.
4 years ago
Herman Slatman
2d21b09d41
Remove some duplicate and unnecessary logic
4 years ago
Herman Slatman
3a5f633cdd
Add support for multiple SCEP provisioners
...
Similarly to how ACME suppors multiple provisioners, it's
now possible to load the right provisioner based on the
URL.
4 years ago
Herman Slatman
7948f65ac0
Merge branch 'master' into hs/scep
4 years ago
Herman Slatman
7ad90d10b3
Refactor initialization of SCEP authority
4 years ago
Mariano Cano
5be86691c1
Fix unit tests in Go 1.16.
4 years ago
Herman Slatman
78d78580b2
Add note about using a second (unsecured) server
4 years ago
Herman Slatman
9e43dc85d8
Merge branch 'master' into hs/scep-master
4 years ago
Herman Slatman
713b571d7a
Refactor SCEP authority initialization and clean some code
4 years ago
Herman Slatman
ffdd58ea3c
Add rudimentary (and incomplete) support for SCEP
4 years ago
Mariano Cano
b487edbd13
Clarify comment.
4 years ago
Mariano Cano
fbd2208044
Close key manager for safe reloads when a cgo module is used.
4 years ago
Mariano Cano
40d0596b71
Use smallstep/cli-utils instead of smallstep/cli
4 years ago
Mariano Cano
ba918100d0
Use go.step.sm/crypto/jose
...
Replace use of github.com/smallstep/cli/crypto with the new package
go.step.sm/crypto/jose.
4 years ago
Mariano Cano
d30a95236d
Use always go.step.sm/crypto
4 years ago
Mariano Cano
533ad0ca20
Use always go.step.sm/crypto/x509util
4 years ago
Mariano Cano
4943ae58d8
Move TLSOption, TLSVersion, CipherSuites and ASN1DN to certificates.
4 years ago
Mariano Cano
e83e47a91e
Use sshutil and randutil from go.step.sm/crypto.
4 years ago
Mariano Cano
6c64fb3ed2
Rename provisioner options structs:
...
* provisioner.ProvisionerOptions => provisioner.Options
* provisioner.Options => provisioner.SignOptions
* provisioner.SSHOptions => provisioner.SingSSHOptions
4 years ago
Mariano Cano
44207523be
Add missing tests.
4 years ago
Mariano Cano
0c8376a7f6
Fix existing unit tests.
4 years ago
max furman
1951669e13
wip
4 years ago
max furman
6e69f99310
Always set nbf and naf for new ACME orders ...
...
- Use the default value from the ACME provisioner if values are not
defined in the request.
4 years ago
Mariano Cano
9f1d95d8bf
Fix renew of certificate at the start of the server.
4 years ago
Mariano Cano
1d7ab9145a
Avoid lint error.
5 years ago
Mariano Cano
0b62ce9d0e
Use go 1.13 to build certificates.
5 years ago
max furman
495e60a44b
Extraneous fmt.Sprintf
5 years ago
Mariano Cano
349bca06bb
Fix line error due to deprecated DialTLS.
5 years ago
Mariano Cano
f5d2f92099
Load identity certificate from disk in each connection.
5 years ago
Ivan Bertona
9052da66a3
Fix linter, tidy go.mod file.
5 years ago
Mariano Cano
3d6a18180e
Fix a couple of race conditions in the renewal of certificates.
5 years ago
max furman
1cb8bb3ae1
Simplify statuscoder error generators.
5 years ago
max furman
dccbdf3a90
Introduce generalized statusCoder errors and loads of ssh unit tests.
...
* StatusCoder api errors that have friendly user messages.
* Unit tests for SSH sign/renew/rekey/revoke across all provisioners.
5 years ago
Mariano Cano
a025f72af7
Disable backdata on ca tests.
5 years ago