Skip to content

Commit cbef9ac

Browse files
authored
Update acme divergences documentation (letsencrypt#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.
1 parent 96f9bfa commit cbef9ac

File tree

1 file changed

+23
-6
lines changed

1 file changed

+23
-6
lines changed

docs/acme-divergences.md

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,41 @@
22

33
While Boulder attempts to implement the ACME specification ([RFC 8555]) as strictly as possible there are places at which we will diverge from the letter of the specification for various reasons. This document describes the difference between RFC 8555 and Boulder's implementation of ACME, informally called ACMEv2 and available at https://acme-v02.api.letsencrypt.org/directory. Boulder's implementation of ACMEv1 differs substantially from the final RFC. Documentation for Boulder's ACMEv1 support is available in [acme-divergences-v1.md](acme-divergences-v1.md).
44

5-
Presently the following protocol features are not implemented:
5+
Presently, Boulder diverges from the RFC 8555 ACME spec in the following ways:
66

7-
- Pre-authorization. This is an optional feature and we have no plans to implement it. V2 clients should use order based issuance without pre-authorization.
8-
- The `orders` field on account objects. We intend to support this non-essential feature in the future. Please follow Boulder Issue [#3335](https://github.com/letsencrypt/boulder/issues/3335).
7+
## [Section 6.3](https://tools.ietf.org/html/rfc8555#section-6.3)
98

10-
POST-as-GET: We support POST-as-GET but do not yet mandate it. We [plan to mandate](https://community.letsencrypt.org/t/acme-v2-scheduled-deprecation-of-unauthenticated-resource-gets/74380) POST-as-GET for all ACMEv2 requests in late 2019.
9+
We support POST-as-GET but do not yet mandate it. We
10+
[plan to mandate](https://community.letsencrypt.org/t/acme-v2-scheduled-deprecation-of-unauthenticated-resource-gets/74380)
11+
POST-as-GET for all ACMEv2 requests in November 2020.
1112

1213
## [Section 6.6](https://tools.ietf.org/html/rfc8555#section-6.6)
1314

1415
Boulder does not provide a `Retry-After` header when a user hits a rate-limit, nor does it provide `Link` headers to further documentation on rate-limiting.
1516

1617
## [Section 6.7](https://tools.ietf.org/html/rfc8555#section-6.7)
1718

18-
Boulder uses `invalidEmail` in place of the error `invalidContact` defined in [draft-ietf-acme-01 Section 5.4](https://tools.ietf.org/html/draft-ietf-acme-acme-01#section-5.4).
19+
Boulder uses `invalidEmail` in place of the error `invalidContact`.
1920

2021
Boulder does not implement the `unsupportedContact` and `dnssec` errors.
2122

22-
## [Section 7.4.2](https://tools.ietf.org/html/draft-ietf-acme-acme-07#section-7.4.2)
23+
## [Section 7.1.2](https://tools.ietf.org/html/rfc8555#section-7.1.2)
24+
25+
Boulder does not supply the `orders` field on account objects. We intend to
26+
support this non-essential feature in the future. Please follow Boulder Issue
27+
[#3335](https://github.com/letsencrypt/boulder/issues/3335).
28+
29+
## [Section 7.4](https://tools.ietf.org/html/rfc8555#section-7.4)
30+
31+
Boulder does not accept the optional `notBefore` and `notAfter` fields of a
32+
`newOrder` request paylod.
33+
34+
## [Section 7.4.1](https://tools.ietf.org/html/rfc8555#section-7.4.1)
35+
36+
Pre-authorization is an optional feature and we have no plans to implement it.
37+
V2 clients should use order based issuance without pre-authorization.
38+
39+
## [Section 7.4.2](https://tools.ietf.org/html/rfc8555#section-7.4.2)
2340

2441
Boulder does not process `Accept` headers for `Content-Type` negotiation when retrieving certificates.
2542

0 commit comments

Comments
 (0)