<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-aaron-acme-profiles-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title abbrev="ACME Profiles">Automated Certificate Management Environment (ACME) Profiles Extension</title>
    <seriesInfo name="Internet-Draft" value="draft-aaron-acme-profiles-01"/>
    <author fullname="Aaron Gable">
      <organization>Internet Security Research Group</organization>
      <address>
        <email>aaron@letsencrypt.org</email>
      </address>
    </author>
    <date year="2025" month="April" day="18"/>
    <area>Security</area>
    <workgroup>Automated Certificate Management Environment</workgroup>
    <abstract>
      <?line 31?>

<t>This document defines how an ACME Server may offer a selection of different certificate profiles to ACME Clients, and how those clients may indicate which profile they want.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://aarongable.github.io/draft-acme-profiles/draft-aaron-acme-profiles.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-aaron-acme-profiles/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Automated Certificate Management Environment Working Group mailing list (<eref target="mailto:acme@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/acme/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/acme/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/aarongable/draft-acme-profiles"/>.</t>
    </note>
    <note>
      <name>Current Implementations</name>
      <?line 35?>

<t>This note is to be removed before publishing as an RFC.</t>
      <t>This document is implemented by at least two ACME Servers (<eref target="https://github.com/letsencrypt/boulder/issues/7309">Boulder</eref> and <eref target="https://github.com/letsencrypt/pebble/pull/473">Pebble</eref>), and at least six ACME Clients (<eref target="https://github.com/certbot/certbot/issues/10194">Certbot</eref>, <eref target="https://github.com/go-acme/lego/pull/2415">Lego</eref>, <eref target="https://github.com/eggsampler/acme/pull/25">eggsampler/acme</eref>, <eref target="https://github.com/caddyserver/caddy/commit/2c4295ee48f494bc8dda5fa09b37612d520c8b3b">caddy</eref>, <eref target="https://docs.certifytheweb.com/blog/acme-profiles-draft/">certifytheweb</eref>, and <eref target="https://github.com/rmbolger/Posh-ACME/releases/tag/v4.28.0">poshacme</eref>). It is <eref target="https://letsencrypt.org/2025/01/09/acme-profiles/">deployed</eref> by the Let's Encrypt CA, with <eref target="https://letsencrypt.org/docs/profiles/">three profiles</eref> advertised in both their <eref target="https://acme-staging-v02.api.letsencrypt.org/directory">staging</eref> and <eref target="https://acme-v02.api.letsencrypt.org/directory">production</eref> directories.</t>
    </note>
  </front>
  <middle>
    <?line 41?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Throughout the history of the WebPKI, Certificate Authorities have used "profiles" to describe the kinds of certificates they issue. For example, an "S/MIME" profile might indicate that the resulting certificate will contain the <tt>id-kp-emailProtection</tt> Extended Key Usage and use a Certificate Policy OID to assert compliance with the CA/Browser Forum S/MIME Baseline Requirements; or a "Constrained Sub-CA" profile might indicate the inclusion of the Basic Constraints extension, the keyCertSign Key Usage, and a Name Constraints extension. Subscribers generally select a profile as part of their certificate ordering process or negotiations with the CA, depending on their needs (and sometimes their budget).</t>
      <t>The ACME protocol only allows clients to customize their certificate in two ways: the newOrder request allows selection of the identifiers (generally Subject Alternative Names) and validity period; and the finalize request contains a CSR in which the client can theoretically include any combination of fields and extensions that they desire. But requesting certificate features via the CSR is onerous, error-prone, and dangerous. Numerous compliance incidents across the WebPKI have been caused by CAs trusting values included in a CSR and copying them directly into the issued certificate. It requires clients to know how to construct a valid CSR, provides no mechanism for servers to advertise what CSR fields they're willing to accept, and means that CAs have to evaluate on a case-by-case basis which combinations of requested features they're willing to issue.</t>
      <t>This document provides a mechanism for ACME Servers to advertise what certificate profiles they offer, and for ACME Clients to select a profile when creating a new Order. This allows site operators to make informed decisions about the kind of certificate they request, without placing an undue burden on ACME Clients or Servers to transmit such information in the form of a CSR. It also encourages the evolution of the WebPKI by allowing CAs to more easily offer new and improved profiles while maintaining backwards compatibility for old subscribers.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="extensions-to-the-directory-resource">
      <name>Extensions to the Directory Resource</name>
      <t>An ACME Server which wishes to allow Clients to select profiles <bcp14>MUST</bcp14> include a new field, <tt>profiles</tt>, in the <tt>meta</tt> field of its Directory object.</t>
      <t><tt>profiles</tt> (optional, object):  A map of profile names to human-readable descriptions of those profiles.</t>
      <t>The contents of these human-readable descriptions are up to the CA; for example, they might be prose descriptions of the properties of the profile, or the might be URLs pointing at a documentation site. ACME Clients <bcp14>SHOULD</bcp14> present these profile names and descriptions to their operator during initial setup and at appropriate times thereafter.</t>
      <sourcecode type="text"><![CDATA[
    HTTP/1.1 200 OK
    Content-Type: application/json

    {
      "newNonce": "https://acme.example.com/new-nonce",
      "newAccount": "https://acme.example.com/new-account",
      "newOrder": "https://acme.example.com/new-order",
      "newAuthz": "https://acme.example.com/new-authz",
      "revokeCert": "https://acme.example.com/revoke-cert",
      "keyChange": "https://acme.example.com/key-change",
      "meta": {
        "termsOfService": "https://example.com/acme/terms",
        "website": "https://example.com/acme/docs",
        "caaIdentities": ["example.com"],
        "externalAccountRequired": false,
        "profiles": {
          "profile1": "https://example.com/acme/docs/profiles#profile1",
          "profile2": "https://example.com/acme/docs/profiles#profile2",
        }
      }
    }
]]></sourcecode>
    </section>
    <section anchor="extensions-to-the-order-resource">
      <name>Extensions to the Order Resource</name>
      <t>In order to convey information about the profile associated with an Order, a new field is added to the Order object:</t>
      <t><tt>profile</tt> (string, optional): A string uniquely identifying the profile which will be used to affect issuance of the certificate requested by this Order.</t>
      <t>To select a profile, the client includes the desired profile name in the <tt>profile</tt> field of the Order object they supply to the newOrder request. The client <bcp14>MUST NOT</bcp14> request a profile name that is not advertised in the server's Directory metadata object.</t>
      <sourcecode type="text"><![CDATA[
    POST /acme/new-order HTTP/1.1
    Host: acme.example.com
    Content-Type: application/jose+json

    {
      "protected": base64url({
        "alg": "ES256",
        "kid": "https://acme.example.com/acct/evOfKhNU60wg",
        "nonce": "5XJ1L3lEkMG7tR6pA00clA",
        "url": "https://acme.example.com/new-order"
      }),
      "payload": base64url({
        "identifiers": [{"type": "dns", "value": "example.org"}],
        "profile": "profile1"
      }),
      "signature": "H6ZXtGjTZyUnPeKn...wEA4TklBdh3e454g"
    }
]]></sourcecode>
      <t>If the server receives a newOrder request specifying a profile that it is not advertising, or specifying a profile which is incompatible with the rest of the contents of the request (e.g. a "tls-server-auth" profile alongside an identifier of type "email"), it <bcp14>MUST</bcp14> reject the request with a problem document of type "invalidProfile" (see Section 6.3).</t>
      <t>If it accepts the request, the server responds with an Order object including the selected profile.</t>
      <sourcecode type="text"><![CDATA[
    HTTP/1.1 201 Created
    Replay-Nonce: MYAuvOpaoIiywTezizk5vw
    Link: <https://acme.example.com/directory>;rel="index"
    Location: https://acme.example.com/order/TOlocE8rfgo

    {
      "status": "valid",
      "expires": "2025-01-01T12:00:00Z",
      "identifiers": [{"type": "dns", "value": "example.org"}],
      "profile": "profile1",
      "authorizations": ["https://acme.example.com/authz/PAniVnsZcis"],
      "finalize": "https://acme.example.com/order/TOlocE8rfgo/finalize",
    }
]]></sourcecode>
      <t>If the server is advertizing profiles and receives a newOrder request which does not identify a specific profile, it is <bcp14>RECOMMENDED</bcp14> that the server select a profile and associate it with the new Order object.</t>
      <t>If a server receives a request to finalize an Order whose profile the CA is no longer willing to issue under, it <bcp14>MUST</bcp14> respond with a problem document of type "invalidProfile". The server <bcp14>SHOULD</bcp14> attempt to avoid this situation, e.g. by ensuring that all Orders for a profile have expired before it stops issuing under that profile.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The extensions to the ACME protocol described in this document build upon the Security Considerations and threat model defined in <xref section="10.1" sectionFormat="of" target="RFC8555"/>. It does not change the account management or identifier validation flows, so the security considerations are largely unchanged.</t>
      <t>The one exception is in regards to CA Policy Considerations. RFC 8555 did not address how a server should determine whether it is willing to issue the certificate as requested by the finalize CSR. This document greatly simplifies this determination by making the contents of the CSR (beyond the Subject Alternative Names and Subject Public Key) irrelevant to the decision-making process.</t>
      <t>Additionally, by moving profile selection out of the finalize CSR and into the Order resource itself, this document reduces the need for ACME Clients and Servers to parse and process x509 ASN.1. This increases the security and stability of the WebPKI as a whole by reducing the incidence of parsing errors and the likelihood of values being copied directly from the CSR into the resulting certificate.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="acme-directory-metadata-fields">
        <name>ACME Directory Metadata Fields</name>
        <t>IANA will add the following entry to the "ACME Directory Metadata Fields" registry within the "Automated Certificate Management Environment (ACME) Protocol" registry group at <eref target="https://www.iana.org/assignments/acme">https://www.iana.org/assignments/acme</eref>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Field Name</th>
              <th align="left">Field Type</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">profiles</td>
              <td align="left">object</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="acme-order-object-fields">
        <name>ACME Order Object Fields</name>
        <t>IANA will add the following entry to the "ACME Order Object Fields" registry within the "Automated Certificate Management Environment (ACME) Protocol" registry group at <eref target="https://www.iana.org/assignments/acme">https://www.iana.org/assignments/acme</eref>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Field Name</th>
              <th align="left">Field Type</th>
              <th align="left">Configurable</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">profile</td>
              <td align="left">string</td>
              <td align="left">true</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="acme-error-types">
        <name>ACME Error Types</name>
        <t>IANA will add the following entry to the "ACME Error Types" registry within the "Automated Certificate Management Environment (ACME) Protocol" registry group at <eref target="https://www.iana.org/assignments/acme">https://www.iana.org/assignments/acme</eref>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Type</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">invalidProfile</td>
              <td align="left">The request specified a profile which this server does not support</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC8555">
        <front>
          <title>Automatic Certificate Management Environment (ACME)</title>
          <author fullname="R. Barnes" initials="R." surname="Barnes"/>
          <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
          <author fullname="D. McCarney" initials="D." surname="McCarney"/>
          <author fullname="J. Kasten" initials="J." surname="Kasten"/>
          <date month="March" year="2019"/>
          <abstract>
            <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names. Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate. As of this writing, this verification is done through a collection of ad hoc mechanisms. This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance. The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8555"/>
        <seriesInfo name="DOI" value="10.17487/RFC8555"/>
      </reference>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
    </references>
    <?line 191?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>My thanks to Phil Porada for spearheading the implementation of this protocol in the Boulder software. Thanks also to Jacob Hoffman-Andrews, Samantha Frank, James Kasten, and Jason Baker for discussions and brainstorming on what this protocol should look like.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
O5ABWOXRGag8EW4QWZxGikf1gavpysqhkXa6GIOgHfjuB0Ua5FRhzrkyVzMe
FpsJZJ1tc0sK7LpsFTi+nd32mrWdD1Au6XO1WdTCwypCVWesgtSmJBzG2wKQ
tS4ltVnnUgJdbV4mG3UR3N6aixHXW95oihFpV/R80wyU5LSRzGUdMVtwe3WJ
/ZwJVvhUYbADZEO3FJsA8TVcRiz7zx3gnLqGEDsiaiX19KDI4scNRJHxjPzk
5Gb/8GnT8+909CBeAZLzoVpeTt/OL949Ha1mzcVJGQ8O//bD+OxJfHJ3/v2z
/PppOhmNwnjSnAp2/kUQL/1xr8LHVK5jI+89WqNtQdD1uUu3UrRZlFjKnrmq
pudyP7pO+fLzNlTRnApqttmwepZwfUnz3jz96W/597/c/rR+l1ypt8lgMFid
TA5u7+KX0fyJOjg8mHWbiHI6bRgSjDBUesll51Z3xqYo5ZzDysYtCZnnloU6
/892r3Eurrmf4OuduNHly2iz0sHb6VfFy2M1mA2ou5fHtu9455BZt/ZkbJKZ
1dygaTSQmBDUAKFTv7K71yPu2QkzVTpwtY2DQ6IJDhd1+VIR0Qn3JvwlaxfY
pxTdpTHSPh08oebZKaWyvs1gm+R7bcnb1FArtwXBJao4iCqx0qFZDVIPpFRj
cUwlvIr4xbVCQb3uc7p0JM5/nBTLy1SaU71e3apP+tPd4XLFE890cofq4V6v
qLrh332bqfhPkEOkPjq7OjOhv1y8dzX70/D2MjbhyfNsOjMboGGRuxbkM12W
bp2QqI8p9YzoDV1J9Edj/Hs73j8ajfDvT/XE/6fr7XS86qW7bfV3qC4ruR+m
KI8bXk0S/d+J/SnUtk5aumUf8kH82ZLVsFrWu9+POVizK37yzWFXkFF+/pCP
O9eMjHLuXAZpunxlT9ZhHUGd1zeK0vrmwHOx3cqm8qDMNohA5fRVd6kOW6dT
vvPdxKWSVQTXqpFbucuqWcP5IsxhkyA8oBkbnTfqK1GqU6MA++Fvdn0X1D27
vsKSea4WKbMql0ZHLi1BElyw6fQEoxjSFfqWInPeLbkN7o5juXysxcf9SOcD
1bUydblyk1o+jcuwOPcjQjU8PKov+OkyAnrNZKNfpLaSyna3v9WVaXdygkIj
EypSd6Fw3za+905QJBYmUrG/82eCnz+XiDkeAbQgYf8RwZcv3JurzNHVJ7yP
r8hQ61efgEBUDZxn5biMd0qNyp6wxtum5zDc4BDCjGU2o+S0SNxWke8CmIRk
RADOTUSKXDCUGbfsIDDYmL/Dap96QAcRdBIRQfsuQEYZXdPwpw6Vn8zpgh4i
oZqJ+jSruaKC2bvYlslupr7Sbma/jUsO7nC2m8sz0gNdNdG3BiQu65XqGXBi
A6GFvCtjzmYkpqb640Ctjb9UufcyhlVfvr2ijyBCuibbEzqje+mlTPLS6Mpe
cd/v6++0oIRJFGlXTMTrHnNmlg1ga14ZFVXy0BSB68Umrdol8yUTdZpUPO1t
WDacrAh9VUC3ZNttcz5Z3XZOZWYdxpWXcR8PRy/E5OZiMPYqQBzP+Cq+bYp8
+5ZL3/Ztd5vpYxHCNZwyWDumSp34Ox1XD9Hu9IIvhmx12RXrOxXruTFcrviL
nEDxfZNJNXXoyyubaWYW9V1TKaudt8AMKaeTi8kWnDx65GRUFyTnZUHymu9g
AOy0jis8eIPvx5f9dMg1qwqn7sOUuuSD2tICQmtfEv3e7+gY6Rok+dMzamZV
WdBqtRpokHFfg1lKu/mmmYP2d6iBmS135Sv+6ZgUVCrh4Vrx10qoz/uNf/55
30OnitiCSPks0D20fLkWuLPpSzfzd4p6B41/ZyFvyBimONWzIuO+7D0iv1fi
9yjAidw3L9wDffFYVmj3q+OE3JA5++1qaKz9txM/y1o0zv+qbhPfa+dbsm6J
up1JsUjVRtVJOLVZQLpkykXQKkWgzovJ8m290Gc6dM9GwDUJ6aY5VtGMz9b5
fJQUiwB8R3/qcrew+6XTOac4KpM7hvaruY4R4zPAj7tspsuluZJVSaZbHwQ6
CMf+VQblFee/2EMuMs1Xkr4BuHV78P0jNvpBhiYQb8x0SrcMkwTZAuUuNxKP
YEe8zjC9h2kUWd9KRHx///WDtNj3pbwDdeIw0jYsrK2Sr4C+P6HPjxb+84+V
S9abTPo8JDbmjuPGoPN/4PIaX6AsAAA=

-->

</rfc>
