RFC Errata
RFC 8555, "Automatic Certificate Management Environment (ACME)", March 2019
Source of RFC: acme (sec)
Errata ID: 5979
Status: Held for Document Update
Type: Technical
Publication Format(s) : TEXT
Reported By: jonathan vanasco
Date Reported: 2020-02-11
Held for Document Update by: Benjamin Kaduk
Date Held: 2020-02-24
Section 7.4 says:
If the server is willing to issue the requested certificate, it responds with a 201 (Created) response. The body of this response is an order object reflecting the client's request and any authorizations the client must complete before the certificate will be issued.
It should say:
If the server is willing to issue the requested certificate, it responds with a 201 (Created) response. The body of this response is an order object reflecting the client's request and any authorizations the client must complete before the certificate will be issued. The server returns an order URL in a Location header field.
Notes:
The RFC does not specify/require where the "order URL" is presented. The RFC is very explicit about where other URLs are obtained, and the common understanding is that the URL appears in a Location header after a new-order.
For example:
In 7.3; 7.3.1; 7.3.5, the RFC explicitly declares the account URL is in the Location header field.
In 7.4.1 the RFC is explicit that authorization URLs in pre-authorization appear in the Location header field.
But the order URL is only mentioned by example:
In 7.4, the RFC illustrates the order URL appearing in the Location header field (All clients seem to implement this). In 7.1, the RFC shows a table with "a typical sequence of requests" that note the "account" and "order" URLs appear in the location header field.
The specification should state something to the effect of "The server returns an order URL in a Location header field." making this functionality explicit.