Commit Graph

35 Commits

Author SHA1 Message Date
Shiloh Heurich 2d1f277635
Fix typos in documentation and error messages (#7975)
- Fix 'requesteed' -> 'requested' in errors/errors.go
- Fix 'paylod' -> 'payload' in docs/acme-divergences.md

These changes address typos identified by the linter.
2025-01-24 08:10:06 -08:00
Jacob Hoffman-Andrews efaa370457
doc: boulder now has Retry-After on all ratelimits (#7876)
Thanks to MikeMcQ from the forum for
[noticing](https://community.letsencrypt.org/t/new-rate-limit-page-in-conflict-with-boulder-variances/229849).
2024-12-12 16:27:58 -05:00
Aaron Gable 62ff373885
Probs: remove divergences from RFC8555 (#6877)
Remove the remaining divergences from RFC8555 regarding what error types
we use in certain situations. Specifically:
- use "invalidContact" instead of "invalidEmail";
- use "unsupportedContact" for contact addresses that use a protocol
other than "mailto:"; and
- use "unsupportedIdentifier" for identifiers that specify a type other
than "dns".
2023-05-15 12:35:12 -07:00
Aaron Gable 1fcd951622
Probs: simplifications and cleanup (#6876)
Make minor, non-user-visible changes to how we structure the probs
package. Notably:
- Add new problem types for UnsupportedContact and
UnsupportedIdentifier, which are specified by RFC8555 and which we will
use in the future, but haven't been using historically.
- Sort the problem types and constructor functions to match the
(alphabetical) order given in RFC8555.
- Rename some of the constructor functions to better match their
underlying problem types (e.g. "TLSError" to just "TLS").
- Replace the redundant ProblemDetailsToStatusCode function with simply
always returning a 500 if we haven't properly set the problem's
HTTPStatus.
- Remove the ability to use either the V1 or V2 error namespace prefix;
always use the proper RFC namespace prefix.
2023-05-12 12:10:13 -04:00
Samantha 28a7776ed7
docs: Update ACME divergences (#6779)
Update ACME divergences doc to reflect changes made in #6256
2023-03-29 17:22:09 -04:00
Phil Porada 6c84a69043
Remove MandatoryPOSTasGET flag (#6672)
Remove the `MandatoryPOSTasGET` flag from the WFE2.
Update the ACMEv2 divergence doc to note that neither staging nor
production use MandatoryPOSTasGET.

Fixes #6582.
2023-02-17 13:04:31 -05:00
Phil Porada e3a383208a
Remove ACMEv1 mention from divergence doc (#6673)
The ACMEv1 API has been shut down for a long time and this is part of
ongoing cleanup.
2023-02-17 13:04:14 -05:00
Aaron Gable a216f348cf
Update divergences for mandatory POST-as-GET (#5564)
We do not plan to turn on mandatory POST-as-GET in production
at any time in the immediate future. Update the "divergences" doc
to reflect this.
2021-08-04 17:16:09 -07:00
Jonathan Vanasco 8e8f8bdf6a
Add documentation for RFC-conformant design implementation decisions. (#5105)
@jsha suggested I re-implement a PR against Pebble regarding Authorization
reuse into Boulder (see https://github.com/letsencrypt/pebble/pull/325).

This is an initial attempt. I opted to handle this by creating a new file for
"Implementation Details" that are RFC conformant and are known to have
confused client developers.
2020-10-05 18:03:57 -07:00
Aaron Gable cbef9ac43b
Update acme divergences documentation (#5101)
This change reorganizes the document to have all changes
noted under their respective section headings, updates estimated
resolution dates on long-standing divergences, and updates all URLs
to reference the final RFC 8555 instead of various drafts.

In addition, it adds a note that we do not accept the (optional)
`notBefore` and `notAfter` fields of a `newOrder` request.
2020-09-23 13:37:57 -07:00
Dennis Benzinger | SAP Hybris a92d54ae6d
Fix link to `acme-divergences-v1.md` (#5049) 2020-08-24 14:54:26 -07:00
Daniel McCarney ff69225a62
docs: update acme-divergences for rfc 8555. (#4203)
We can remove some divergences since in the V2 API:
* We use the correct error namespace.
* We use the correct `Content-Type` for Certificate requests.
* We use the correct `url` field in Challenge objects.
* We use the correct HTTP status code for Challenge POST requests.
2019-05-06 13:15:12 -04:00
Jacob Hoffman-Andrews c55cabfc3e Update acme-divergences for RFC 8555 / ACME v2. (#4153)
Separetely document ACMEv1 divergences from RFC 8555, since
anyone implementing today should be targeting ACMEv2.
2019-04-15 11:50:01 -04:00
Jacob Hoffman-Andrews d1e6d0f190 Remove TLS-SNI-01 (#4114)
* Remove the challenge whitelist
* Reduce the signature for ChallengesFor and ChallengeTypeEnabled
* Some unit tests in the VA were changed from testing TLS-SNI to testing the same behavior
  in TLS-ALPN, when that behavior wasn't already tested. For instance timeouts during connect 
  are now tested.

Fixes #4109
2019-03-15 09:05:24 -04:00
Daniel McCarney 8caecd075a README/docs refresh (#3876)
This is primarily based on @rolandshoemaker's `readme-updates` branch and the closed PR: #3195

The README is restructured to be user-driven. Information that is strictly contributor focused (e.g. dep upgrades) is moved to CONTRIBUTING.md. The review feedback from #3195 from @jsha was all about text that we removed entirely in 29cdd78155

The README now links to the production deployment guide in the wiki and describes our general position on using Boulder.

The CONTRIBUTING.md guide links to the various docs/ pages and was updated.

The docs/acme-divergences page is updated for draft-15.

The DESIGN.md document is moved from the root of the repo into docs/. It has been updated to cover ACMEv2 and precertificates/SCT embedding.

Resolves https://github.com/letsencrypt/boulder/issues/3850
2018-10-10 15:48:39 -07:00
Daniel McCarney f84d54313d docs: update ACMEv2 link to draft-14. (#3831) 2018-08-23 14:55:54 -07:00
Daniel McCarney 92d273408f
docs: remove order ready status v2 divergence. (#3792) 2018-07-05 15:30:27 -04:00
Tom Delmas e78a7bdb10 Doc "Boulder divergences from ACME": ACME v2 is in production (#3725)
Update ACME divergences to reflect that ACME v2 is in production and has 3 divergences from the current RFC.
2018-05-21 09:29:08 -04:00
Daniel McCarney aff1d64605 Clarify ACME divergences doc (#3154)
A frequent point of confusion is which ACME draft Boulder implements. Often people imagine (sensibly!) that there is one draft they can reference to understand Boulder.

This commit updates the divergences doc to clarify that it should be used to compare Boulder to whatever the most current ACME draft is and that Boulder doesn't implement a specific draft. This commit also adds a reference to what ACME v1 is and a link to the ACME v2 blog post.

Small references are also added to the "applications" concept from prev. drafts. Otherwise folks that land on older ACME drafts may wonder why the divergences doc doesn't mention "applications", a concept that was renamed to "orders" in subsequent drafts. We do document divergences for "orders" and attention should be directed there.
2017-10-06 14:18:15 -07:00
Daniel McCarney bbd0587440 Update acme-divergences documentation for draft-06 & draft-07 (#2845)
The IETF working group has published a [draft-06](https://tools.ietf.org/html/draft-ietf-acme-acme-07) and [draft-07 revision of ACME](https://tools.ietf.org/html/draft-ietf-acme-acme-07). This PR updates the Boulder `docs/acme-divergences.md` documentation for both drafts. Primarily this meant updating section numbers and links. 

Notable updates:
* Added "index" directory Link divergence
* Removed divergence for "existing" field of authorizations - this was removed from the spec so it isn't a divergence anymore \o/
* Added divergence for the Boulder certificates endpoint not respecting client `Accept` headers and using the `application/pkix-cert` content type in responses vs `application/pem-certificate-chain`
* Added divergence for `unsupportedContact` and `accountDoesNotExist` errors.
* Added divergence for the `only-return-existing` field.
* Added divergence for retrying challenges
* Removed "meta" directory divergence since Boulder supports this now

Resolves #2825
2017-07-05 12:24:12 -07:00
Jacob Hoffman-Andrews 6155ec9ad2 Update divergences doc to describe rel=next. (#2678)
Based on a conversation with an implementer who found this confusing (since
Certbot 0.11 uses them).
2017-04-14 10:08:10 -04:00
Sophie Herold 5be390e9d7 Adds some divergences (#2578)
Adds some draft-05 divergences RE: account status field, challenge status code.
2017-02-27 09:36:17 -05:00
Sophie Herold db3a6d6507 Draft-05 divergences and sync with release (#2573)
Updates acme-divergences.md for draft-05 changes.
2017-02-20 12:30:00 -05:00
Daniel McCarney d26a54b3e9 Adds 'kid' divergence to docs (#2458)
Resolves #2455
2016-12-29 14:51:47 -08:00
Daniel 2cf2b97358
Updates divergences after more feedback 📣 2016-12-19 11:45:43 -05:00
Daniel McCarney abb54bdf81 Adds divergences for URL & existing reg status code. (#2402)
Issue #2365 reported two places where we had divergences from ACME-04 in Boulder's implementation that were not reflected in the divergences doc. This PR documents:

1. That Boulder checks the `resource` field from the protected JWS header instead of the `url` field as described in Section 5.4.1
2. That Boulder uses a response with HTTP status code 409 (Conflict) when returning a Location header for an existing reg while Section 6.3 describes using HTTP status code 200 for this purpose.

This resolves #2365.
2016-12-08 10:20:44 -08:00
Roland Bracewell Shoemaker 5e4e79f9fb Update references in acme-divergences.md (#2356)
Fixes #2345.
2016-11-28 10:54:11 -08:00
Roland Bracewell Shoemaker 5c874cc9eb Revoke by authorization (#2319)
The current ACME specification allows certificates to be revoked by a account key for an account that holds valid authorizations for every name in the certificate to be revoked. This PR adds a branch to the existing wfe.RevokeCertificate method which checks if the account key holds the required authorizations if it isn't the key for the issuing account or the certificate key.

Fixes #2318.
2016-11-10 15:27:34 -08:00
Roland Bracewell Shoemaker ce679bad41 Implement key rollover (#2231)
Fixes #503.

Functionality is gated by the feature flag `AllowKeyRollover`. Since this functionality is only specified in ACME draft-03 and we mostly implement the draft-02 style this takes some liberties in the implementation, which are described in the updated divergences doc. The `key-change` resource is used to side-step draft-03 `url` requirement.
2016-10-27 10:22:09 -04:00
Roland Bracewell Shoemaker c6e3ef660c Re-apply 2138 with proper gating (#2199)
Re-applies #2138 using the new style of feature-flag gated migrations. Account deactivation is gated behind `features.AllowAccountDeactivation`.
2016-09-29 17:16:03 -04:00
Roland Bracewell Shoemaker f84eaef99e Mention we used new-authz instead of application requirements in relevant sections (#2216) 2016-09-29 17:14:12 -04:00
Daniel McCarney 58bac84707 Describe certificate revocation divergence. (#2211)
This PR adds a divergence to the acme-divergence doc for Section 6.6 "Certificate Revocation". Boulder does not currently support authorizing a revocation request using an arbitrary account key that is authorized for the same domains as in the certificate.
2016-09-28 09:16:39 -07:00
Roland Bracewell Shoemaker 2c966c61b2 Revert "Allow account deactivation (#2138)" (#2188)
This reverts commit 6f3d078414, reversing
changes made to c8f1fb3e2f.
2016-09-19 11:20:41 -07:00
Roland Shoemaker 49c2436765 Remove acct deactivation section from docs/acme-divergences.md 2016-08-30 11:46:35 -07:00
Roland Bracewell Shoemaker cfd37bd48a Add documentation of the Boulder divergences from ACME (#2071)
Fixes #2043.
2016-07-25 10:36:04 -04:00