github.com/letsencrypt/boulder@v0.20251208.0/docs/acme-divergences.md (about)

     1  # Boulder divergences from ACME
     2  
     3  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. A listing of RFC conformant design decisions that may differ from other ACME servers is listed in [implementation_details](https://github.com/letsencrypt/boulder/blob/main/docs/acme-implementation_details.md).
     4  
     5  Presently, Boulder diverges from the [RFC 8555] ACME spec in the following ways:
     6  
     7  ## [Section 6.3](https://tools.ietf.org/html/rfc8555#section-6.3)
     8  
     9  Boulder supports POST-as-GET but does not mandate it for requests
    10  that simply fetch a resource (certificate, order, authorization, or challenge).
    11  
    12  ## [Section 7.1.2](https://tools.ietf.org/html/rfc8555#section-7.1.2)
    13  
    14  Boulder does not supply the `orders` field on account objects. We intend to
    15  support this non-essential feature in the future. Please follow Boulder Issue
    16  [#3335](https://github.com/letsencrypt/boulder/issues/3335).
    17  
    18  ## [Section 7.4](https://tools.ietf.org/html/rfc8555#section-7.4)
    19  
    20  Boulder does not accept the optional `notBefore` and `notAfter` fields of a
    21  `newOrder` request payload.
    22  
    23  ## [Section 7.4.1](https://tools.ietf.org/html/rfc8555#section-7.4.1)
    24  
    25  Pre-authorization is an optional feature and we have no plans to implement it.
    26  V2 clients should use order based issuance without pre-authorization.
    27  
    28  ## [Section 7.4.2](https://tools.ietf.org/html/rfc8555#section-7.4.2)
    29  
    30  Boulder does not process `Accept` headers for `Content-Type` negotiation when retrieving certificates.
    31  
    32  ## [Section 8.2](https://tools.ietf.org/html/rfc8555#section-8.2)
    33  
    34  Boulder does not implement the ability to retry challenges or the `Retry-After` header.
    35  
    36  [RFC 8555]: https://tools.ietf.org/html/rfc8555