Commit Graph

41 Commits (7731edd816bd40fcde79dd3806a45c7d85d32a0f)

Author SHA1 Message Date
Max 7731edd816
Store and verify Acme account location (#1386)
* Store and verify account location on acme requests

Co-authored-by: Herman Slatman <hslatman@users.noreply.github.com>
Co-authored-by: Mariano Cano <mariano@smallstep.com>
1 year ago
max furman ab0d2503ae
Standardize linting file and fix or ignore lots of linting errors 2 years ago
Mariano Cano d461918eb0 Merge branch 'master' into context-authority 2 years ago
Mariano Cano d1f75f1720 Refactor ACME api. 2 years ago
Mariano Cano d13537d426 Use context in the acme handlers. 2 years ago
Herman Slatman 256fe113f7
Improve tests for ACME account policy 2 years ago
Herman Slatman 7df52dbb76
Add ACME EAB policy 2 years ago
Panagiotis Siatras 00634fb648
api/render, api/log: initial implementation of the packages (#860)
* api/render: initial implementation of the package

* acme/api: refactored to support api/render

* authority/admin: refactored to support api/render

* ca: refactored to support api/render

* api: refactored to support api/render

* api/render: implemented Error

* api: refactored to support api/render.Error

* acme/api: refactored to support api/render.Error

* authority/admin: refactored to support api/render.Error

* ca: refactored to support api/render.Error

* ca: fixed broken tests

* api/render, api/log: moved error logging to this package

* acme: refactored Error so that it implements render.RenderableError

* authority/admin: refactored Error so that it implements render.RenderableError

* api/render: implemented RenderableError

* api/render: added test coverage for Error

* api/render: implemented statusCodeFromError

* api: refactored RootsPEM to work with render.Error

* acme, authority/admin: fixed pointer receiver name for consistency

* api/render, errs: moved StatusCoder & StackTracer to the render package
2 years ago
Herman Slatman fd9845e9c7
Add cursor and limit to ACME EAB DB interface 2 years ago
Herman Slatman ef16febf40
Refactor ACME EAB queries
The ACME EAB keys are now also indexed by the provisioner. This
solves part of the issue in which too many EAB keys may be in
memory at a given time.
2 years ago
Herman Slatman f9ae875f9d
Use short if-style statements 2 years ago
Herman Slatman 23898e9b76
Improve EAB JWS validation and increase test coverage 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 0afea2e957
Improve tests for already bound EAB keys 3 years ago
Herman Slatman 02cd3b6b3b
Fix PR comments 3 years ago
Herman Slatman 1dba8698e3
Use LinkedCA.EABKey type in ACME EAB API 3 years ago
Herman Slatman f31ca4f6a4
Add tests for validateExternalAccountBinding 3 years ago
Herman Slatman 492256f2d7
Add first test cases for EAB and make provisioner unique per EAB
Before this commit, EAB keys could be used CA-wide, meaning that
an EAB credential could be used at any ACME provisioner. This
commit changes that behavior, so that EAB credentials are now
intended to be used with a specific ACME provisioner. I think
that makes sense, because from the perspective of an ACME client
the provisioner is like a distinct CA.

Besides that this commit also includes the first tests for EAB.
The logic for creating the EAB JWS as a client has been taken
from github.com/mholt/acmez. This logic may be moved or otherwise
sourced (i.e. from a vendor) as soon as the step client also
(needs to) support(s) EAB with ACME.
3 years ago
Herman Slatman c6bfc6eac2
Fix PR comments 3 years ago
Herman Slatman d669f3cb14
Fix misspelling 3 years ago
Herman Slatman 540d5fbbdc
Fix marshaling -> marshalling 3 years ago
Herman Slatman 2110c7722f
Fix JWK payload key equality check 3 years ago
Herman Slatman d44cd18b96
Add External Accounting Binding key "BoundAt" marking 3 years ago
Herman Slatman f81d49d963
Add first working version of External Account Binding 3 years ago
max furman b1888fd34d Use different method for unescpaed paths for the router 3 years ago
max furman 672e3f976e Few ACME fixes ...
- always URL escape linker output
- validateJWS should accept RSAPSS
- GetUpdateAccount -> GetOrUpdateAccount
3 years ago
max furman a785131d09 Fix lint issues 3 years ago
max furman 8d2ebcfd49 [acme db interface] more unit tests 3 years ago
max furman 20b9785d20 [acme db interface] continuing unit test work 3 years ago
max furman f20fcae80e [acme db interface] wip unit test fixing 3 years ago
max furman fc395f4d69 [acme db interface] compiles! 3 years ago
max furman 116869ebc5 [acme db interface] wip 3 years ago
max furman 80a6640103 [acme db interface] wip 3 years ago
max furman 1135ae04fc [acme db interface] wip 3 years ago
max furman 2ae43ef2dc [acme db interface] wip errors 3 years ago
max furman e1409349f3 Allow relative URL for all links in ACME api ...
* Pass the request context all the way down the ACME stack.
* Save baseURL in context and use when generating ACME urls.
4 years ago
max furman 4cb777bdc1 ACME accountUpdate ignore fields not recognized by the server. 4 years ago
max furman c255274572 Should be returning status code 400 for ACME Account Not Found.
Issue #173
4 years ago
max furman d368791606 Add x5c provisioner capabilities 5 years ago
max furman e3826dd1c3 Add ACME CA capabilities 5 years ago