Commit Graph

1882 Commits (9fdef647099dd91b53683bff49e205f16f743a57)
 

Author SHA1 Message Date
max furman 9fdef64709 Admin level API for provisioner mgmt v1 3 years ago
Herman Slatman 7e82bd6ef3 Add setup for Authority tests 3 years ago
Herman Slatman 74d8bdc298 Add tests for CreateDecrypter 3 years ago
Herman Slatman a64974c179 Fix small typo in divisible 3 years ago
Herman Slatman 382b6f977c Improve error logging 3 years ago
Herman Slatman d46a4eaca4 Change fmt to errors package for formatting errors 3 years ago
Herman Slatman 2beea1aa89 Add configuration option for specifying the minimum public key length
Instead of using the defaultPublicKeyValidator a new validator called
publicKeyMinimumLengthValidator has been implemented that uses a
configurable minimum length for public keys in CSRs.

It's also an option to alter the defaultPublicKeyValidator to also
take a parameter, but that would touch quite some lines of code. This
might be a viable option after merging SCEP support.
3 years ago
Herman Slatman 4168449935 Fix typo 3 years ago
Herman Slatman fa100a5138 Mask challenge password after it has been read 3 years ago
Herman Slatman 66a67ed691 Update to v2.0.0 of github.com/micromdm/scep 3 years ago
Herman Slatman 03c472359c Add sync.WaitGroup for proper error handling in Run() 3 years ago
Herman Slatman 1cd0cb99f6 Add more template data 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 bcacd2f4da Fix typo 3 years ago
Herman Slatman a0242ad6ce Add validation to SCEP Options 3 years ago
Herman Slatman 4cd45f6374 Remove superfluous call to StoreCertificate 3 years ago
Herman Slatman 97b88c4d58 Address (most) PR comments 3 years ago
Herman Slatman be528da709 Make tests green 3 years ago
Herman Slatman 57a62964b1 Make tests not fail hard on ECDSA keys
All tests for the Authority failed because the test data
contains ECDSA keys. ECDSA keys are no crypto.Decrypter,
resulting in a failure when instantiating the Authority.
3 years ago
Herman Slatman 5a80bc3ced Make linter happy 3 years ago
Herman Slatman dd4f548650 Fix certificateChain property 3 years ago
Herman Slatman 491c2b8d93 Improve initialization of SCEP authority 3 years ago
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 e7cb80f880 Fix linter issues 3 years ago
Herman Slatman aa2ce0a2a5 Store new certificates in database 3 years ago
Herman Slatman f0050e5ca9 Add signed failure responses 3 years ago
Herman Slatman 4fe7179b95 Add support for configuring capabilities (cacaps) 3 years ago
Herman Slatman 3b86550dbf Add support for challenge password 3 years ago
Herman Slatman 017e56c9fb Remove some duplicate and unnecessary logic 3 years ago
Herman Slatman 75cd3ab0ac Change to a fixed fork of go.mozilla.org/pkcs7
Hopefully this will be a temporary change until
the fix is merged in the upstream module.
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 a191319da9 Improve SCEP API logic and error handling 3 years ago
Herman Slatman 30d3a26c20 Remove x509 template from API 3 years ago
Herman Slatman da65f46d0f Add AuthorizeSign method to SCEP authority 3 years ago
Herman Slatman 812e1c7218 Add handling of options 3 years ago
Herman Slatman 80026e1016 Remove the copy of mozilla/pkcs7
Apparently the existing library works out of the box, after all.

We'll have to see how it works out continuing forward.
3 years ago
Herman Slatman 2a249d20de Refactor initialization of SCEP authority 3 years ago
Herman Slatman 99cd3b74fe Add full copy of mozilla/pkcs7 module as internal dependency
The full contents of the git repository @432b2356ecb...
was copied. Only go.mod was removed from it.
3 years ago
Herman Slatman 393be5b03a Add number of certs to return and fix CR LF in CACaps 3 years ago
Herman Slatman b905d5fead Improve setup for multiple SCEP providers (slightly) 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 ff7b829aa2 [action] forgot to add default labeler config file 3 years ago
max furman 114627de93 [action] labeler to v3 and use default config path location 3 years ago
Mariano Cano d7a747b92b Add SCEP in the provisioners proto.
Change provisioner.proto to match protobuf style guide.
3 years ago
max furman 94ba057f01 wip 3 years ago
max furman 01a4460812 wip 3 years ago
max furman 1726076ea2 wip 3 years ago
max furman 423942da44 wip 3 years ago
Mariano Cano 3f30552b60 Fix package name. 3 years ago