<?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.6 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-rfc6712bis-04" category="std" consensus="true" submissionType="IETF" xml:lang="en" obsoletes="6712 9480" tocDepth="4" tocInclude="true" sortRefs="false" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.0 -->
  <front>
    <title abbrev="RFC6712bis">Internet X.509 Public Key Infrastructure -- HTTP Transfer for the Certificate Management Protocol (CMP)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-rfc6712bis-04"/>
    <author initials="H." surname="Brockhaus" fullname="Hendrik Brockhaus">
      <organization abbrev="Siemens">Siemens</organization>
      <address>
        <postal>
          <street>Werner-von-Siemens-Strasse 1</street>
          <city>Munich</city>
          <code>80333</code>
          <country>Germany</country>
        </postal>
        <email>hendrik.brockhaus@siemens.com</email>
        <uri>https://www.siemens.com</uri>
      </address>
    </author>
    <author initials="D." surname="von Oheimb" fullname="David von Oheimb">
      <organization abbrev="Siemens">Siemens</organization>
      <address>
        <postal>
          <street>Werner-von-Siemens-Strasse 1</street>
          <city>Munich</city>
          <code>80333</code>
          <country>Germany</country>
        </postal>
        <email>david.von.oheimb@siemens.com</email>
        <uri>https://www.siemens.com</uri>
      </address>
    </author>
    <author initials="M." surname="Ounsworth" fullname="Mike Ounsworth">
      <organization abbrev="Entrust">Entrust</organization>
      <address>
        <postal>
          <street>1187 Park Place</street>
          <city>Minneapolis</city>
          <region>MN</region>
          <code>55379</code>
          <country>United States of America</country>
        </postal>
        <email>mike.ounsworth@entrust.com</email>
        <uri>https://www.entrust.com</uri>
      </address>
    </author>
    <author initials="J." surname="Gray" fullname="John Gray">
      <organization abbrev="Entrust">Entrust</organization>
      <address>
        <postal>
          <street>1187 Park Place</street>
          <city>Minneapolis</city>
          <region>MN</region>
          <code>55379</code>
          <country>United States of America</country>
        </postal>
        <email>john.gray@entrust.com</email>
        <uri>https://www.entrust.com</uri>
      </address>
    </author>
    <date year="2024"/>
    <workgroup>LAMPS Working Group</workgroup>
    <abstract>
      <?line 77?>

<t>This document describes how to layer the Certificate Management Protocol
(CMP) over HTTP.</t>
      <t>It includes the updates on RFC 6712 specified in CMP Updates RFC 9480 Section
3 and obsoleted both documents.  These updates introduce CMP URIs using a
Well-known prefix.</t>
    </abstract>
  </front>
  <middle>
    <?line 87?>

<section anchor="sect-1">
      <name>Introduction</name>
      <t>[RFC Editor: please delete:</t>
      <t>During IESG telechat the CMP Updates document was approved on condition that
LAMPS provides a RFC6712bis document.  Version -00 of this document shall
be identical to RFC 6712 and version -01 incorporates the changes specified
in CMP Updates Section 3.</t>
      <t>A history of changes is available in Appendix A of this document.</t>
      <t>The authors of this document wish to thank Tomi Kause and Martin Peylo, the
original authors of RFC 6712, for their work and invite them, next to further
volunteers, to join the -bis activity as co-authors.</t>
      <t>]</t>
      <t>[RFC Editor:</t>
      <t>Please perform the following substitution.</t>
      <ul spacing="normal">
        <li>
          <t>RFCXXXX ---&gt; the assigned numerical RFC value for this draft</t>
        </li>
        <li>
          <t>RFCCCCC ---&gt; the assigned numerical RFC value for <xref target="I-D.ietf-lamps-rfc4210bis"/></t>
        </li>
      </ul>
      <t>]</t>
      <t>The Certificate Management Protocol (CMP) [RFCCCCC] requires a well-defined
transfer mechanism to enable End Entities (EEs), Registration
Authorities (RAs), and Certification Authorities (CAs) to pass
PKIMessage sequences between them.</t>
      <t>The first version of the CMP specification <xref target="RFC2510"/> included a brief
description of a simple transfer protocol layer on top of TCP.  Its
features were simple transfer-level error handling and a mechanism to
poll for outstanding PKI messages.  Additionally, it was mentioned
that PKI messages could also be conveyed using file-, E-mail-, and
HTTP-based transfer, but those were not specified in detail.</t>
      <t>The second version of the CMP specification <xref target="RFC4210"/> incorporated
its own polling mechanism and thus the need for a transfer protocol
providing this functionality vanished.  The remaining features CMP
requires from its transfer protocols are connection and error
handling.</t>
      <t>CMP can benefit from utilizing a reliable transport and it requires connection and error handling
from the transfer protocol, which is all covered by HTTP.  Additionally,
delayed delivery of CMP response messages may be handled at transfer level,
regardless of the message contents.  Since <xref target="RFC9480"/> extends the polling
mechanism specified in the second version of <xref target="RFC4210">CMP</xref> to cover
all types of PKI management transactions, delays detected at application
level may also be handled within CMP, using pollReq and pollRep messages.</t>
      <t>The usage of HTTP for transferring CMP messages exclusively uses the
POST method for requests, effectively tunneling CMP over HTTP.  While
this is generally considered bad practice and should not be emulated,
there are good reasons to do so for transferring CMP.  HTTP is used
as it is generally easy to implement and it is able to traverse
network borders utilizing ubiquitous proxies.  Most importantly, HTTP
is already commonly used in existing CMP implementations.  Other HTTP
request methods, such as GET, are not used because PKI management
operations can only be triggered using CMP's PKI messages, which need
to be transferred using a POST request.</t>
      <t>With its status codes, HTTP provides needed error reporting
capabilities.  General problems on the server side, as well as those
directly caused by the respective request, can be reported to the
client.</t>
      <t>As CMP implements a transaction ID, identifying transactions spanning
over more than just a single request/response pair, the statelessness
of HTTP is not blocking its usage as the transfer protocol for CMP
messages.</t>
      <section anchor="sect-1.1">
        <name>Changes Since RFC 6712</name>
        <t>CMP Updates <xref target="RFC9480"/> updated <xref target="RFC6712"/>, supporting the PKI
management operations specified in the Lightweight CMP
Profile <xref target="RFC9483"/>, in the following areas:</t>
        <ul spacing="normal">
          <li>
            <t>Introduce the HTTP URI path prefix '/.well-known/cmp'.</t>
          </li>
          <li>
            <t>Add options for extending the URI structure with further segments and to
this end define a new protocol registry group.</t>
          </li>
        </ul>
      </section>
      <section anchor="sect-1.2">
        <name>Changes Made by This Document</name>
        <t>This document obsoletes <xref target="RFC6712">RFC 6712</xref>.
It includes the changes specified by CMP Updates <xref target="RFC9480"/> Section 3 as
described in <xref target="sect-1.1"/>.</t>
      </section>
    </section>
    <section anchor="sect-2">
      <name>Conventions Used in This Document</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="sect-3">
      <name>HTTP-Based Protocol</name>
      <t>For direct interaction between two entities, where a reliable
transport protocol like TCP is available, HTTP <bcp14>SHOULD</bcp14> be utilized for
conveying CMP messages.</t>
      <section anchor="sect-3.1">
        <name>HTTP Versions</name>
        <t>Implementations <bcp14>MUST</bcp14> support HTTP/1.0 <xref target="RFC1945"/> and <bcp14>SHOULD</bcp14> support
HTTP/1.1 <xref target="RFC9112"/>.</t>
      </section>
      <section anchor="sect-3.2">
        <name>Persistent Connections</name>
        <t>HTTP persistent connections <xref target="RFC9112"/> allow multiple interactions to
take place on the same HTTP connection.  However, neither HTTP nor
the protocol specified in this document are designed to correlate
messages on the same connection in any meaningful way; persistent
connections are only a performance optimization.  In particular,
intermediaries can do things like mix connections from different
clients into one "upstream" connection, terminate persistent
connections, and forward requests as non-persistent requests, etc.
As such, implementations <bcp14>MUST NOT</bcp14> infer that requests on the same
connection come from the same client (e.g., for correlating PKI
messages with ongoing transactions); every message is to be evaluated
in isolation.</t>
      </section>
      <section anchor="sect-3.3">
        <name>General Form</name>
        <t>A DER-encoded <xref target="ITU.X690.1994"/> PKIMessage [RFCCCCC] is sent as the
entity-body of an HTTP POST request.  If this HTTP request is
successful, the server returns the CMP response in the body of the
HTTP response.  The HTTP response status code in this case <bcp14>MUST</bcp14> be
200; other "Successful 2xx" codes <bcp14>MUST NOT</bcp14> be used for this purpose.
HTTP responses to pushed CMP Announcement messages (i.e., CA
Certificate Announcement, Certificate Announcement, Revocation
Announcement, and Certificate Revocation List (CRL) Announcement)
utilize the status codes 201 and 202 to identify whether the received
information was processed.</t>
        <t>While "Redirection 3xx" status codes <bcp14>MAY</bcp14> be supported by
implementations, clients should only be enabled to automatically
follow them after careful consideration of possible security
implications.  As described in <xref target="sect-5"/>, "301 Moved Permanently"
could be misused for permanent denial of service.</t>
        <t>All applicable "Client Error 4xx" or "Server Error 5xx" status codes
<bcp14>MAY</bcp14> be used to inform the client about errors.</t>
      </section>
      <section anchor="sect-3.4">
        <name>Header Fields</name>
        <t>The Internet Media Type "application/pkixcmp" <bcp14>MUST</bcp14> be set in the HTTP
Content-Type header field when conveying a PKIMessage.</t>
        <t>The Content-Length header field <bcp14>SHOULD</bcp14> be provided, giving the length of
the ASN.1-encoded PKIMessages.</t>
      </section>
      <section anchor="sect-3.5">
        <name>Communication Workflow</name>
        <t>In CMP, most communication is initiated by the EEs where every CMP
request triggers a CMP response message from the CA or RA.</t>
        <t>The CMP Announcement messages described in <xref target="sect-3.7"/> are an
exception.  Their creation may be triggered by certain events or done
on a regular basis by a CA.  The recipient of the Announcement only
replies with an HTTP status code acknowledging the receipt or
indicating an error, but not with a CMP response.</t>
        <t>If the receipt of an HTTP request is not confirmed by receiving an
HTTP response, it <bcp14>MUST</bcp14> be assumed that the transferred CMP message
was not successfully delivered to its destination.</t>
      </section>
      <section anchor="sect-3.6">
        <name>HTTP Request-URI</name>
        <t>Each CMP server on a PKI management entity supporting HTTP or HTTPS transfer
<bcp14>MUST</bcp14> support the use of the path prefix '/.well-known/' as defined in
<xref target="RFC8615"/> and the registered name 'cmp' to ease interworking
in a multi-vendor environment.</t>
        <t>The CMP client needs to be configured with sufficient information to form
the CMP server URI.  This is at least the authority portion of the URI, e.g.,
'www.example.com:80', or the full operation path segment of the PKI management
entity. Additionally, <bcp14>OPTIONAL</bcp14> path segments <bcp14>MAY</bcp14> be added after the registered
application name as part of the full operation path to provide further distinction.
The path segment 'p' followed by an arbitraryLabel &lt;name&gt; could, for example,
support the differentiation of specific CAs or certificate profiles. Further
path segments, e.g., as specified in the Lightweight CMP Profile <xref target="RFC9483"/>,
could indicate PKI management operations using an operationLabel &lt;operation&gt;.
A valid, full CMP URI can look like this:</t>
        <ul empty="true">
          <li>
            <t>http://www.example.com/.well-known/cmp</t>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <t>http://www.example.com/.well-known/cmp/&lt;operation&gt;</t>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <t>http://www.example.com/.well-known/cmp/p/&lt;name&gt;</t>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <t>http://www.example.com/.well-known/cmp/p/&lt;name&gt;/&lt;operation&gt;</t>
          </li>
        </ul>
      </section>
      <section anchor="sect-3.7">
        <name>Pushing of Announcements</name>
        <t>A CMP server may create event-triggered announcements or generate
them on a regular basis.  It <bcp14>MAY</bcp14> utilize HTTP transfer to convey them
to a suitable recipient.  In this use case, the CMP server acts as an
HTTP client, and the recipient needs to utilize an HTTP server.  As
no request messages are specified for those announcements, they can
only be pushed to the recipient.</t>
        <t>If an EE wants to poll for a potential CA Key Update Announcement or
the current CRL, a PKI Information Request using a General Message as
described in Appendix E.5 of [RFCCCCC] can be used.</t>
        <t>When pushing Announcement messages, PKIMessage structures are sent as
the entity-body of an HTTP POST request.</t>
        <t>Suitable recipients for CMP announcements might, for example, be
repositories storing the announced information, such as directory
services.  Those services listen for incoming messages, utilizing the
same HTTP Request-URI scheme as defined in <xref target="sect-3.6"/>.</t>
        <t>The following PKIMessages are announcements that may be pushed by a
CA.  The prefixed numbers reflect ASN.1 numbering of the respective
element.</t>
        <artwork><![CDATA[
   [15] CA Key Update Announcement
   [16] Certificate Announcement
   [17] Revocation Announcement
   [18] CRL Announcement
]]></artwork>
        <t>CMP Announcement messages do not require any CMP response.  However,
the recipient <bcp14>MUST</bcp14> acknowledge receipt with an HTTP response having
an appropriate status code and an empty body.  When not receiving
such a response, it <bcp14>MUST</bcp14> be assumed that the delivery was not
successful.  If applicable, the sending side <bcp14>MAY</bcp14> try sending the
Announcement again after waiting for an appropriate time span.</t>
        <t>If the announced issue was successfully stored in a database or was
already present, the answer <bcp14>MUST</bcp14> be an HTTP response with a "201 Created"
status code and an empty message body.</t>
        <t>In case the announced information was only accepted for further
processing, the status code of the returned HTTP response <bcp14>MAY</bcp14> also be
"202 Accepted".  After an appropriate delay, the sender may then try
to send the Announcement again and may repeat this until it receives
a confirmation that it has been successfully processed.  The
appropriate duration of the delay and the option to increase it
between consecutive attempts should be carefully considered.</t>
        <t>A receiver <bcp14>MUST</bcp14> answer with a suitable 4xx or 5xx HTTP error code
when a problem occurs.</t>
      </section>
      <section anchor="sect-3.8">
        <name>HTTP Considerations</name>
        <t>While all defined features of the HTTP protocol are available to
implementations, they <bcp14>SHOULD</bcp14> keep the protocol utilization as simple
as possible.  For example, there is no benefit in using chunked
Transfer-Encoding, as the length of an ASN.1 sequence is known when
starting to send it.</t>
        <t>There is no need for the clients to send an "Expect" request-header
field with the "100-continue" expectation and wait for a "100 Continue" status
as described in Section 8.2.3 of <xref target="RFC9112"/>.  The CMP
payload sent by a client is relatively small, so having extra
messages exchanged is inefficient, as the server will only seldom
reject a message without evaluating the body.</t>
      </section>
    </section>
    <section anchor="sect-4">
      <name>Implementation Considerations</name>
      <t>Implementors should be aware that implementations might exist that
use a different approach for transferring CMP over HTTP, because
<xref target="RFC6712">RFC 6712</xref> has been under development for more than a decade.
Further, implementations based on earlier drafts of
<xref target="RFC6712">RFC 6712</xref> might use an unregistered
"application/pkixcmp-poll" MIME type.</t>
    </section>
    <section anchor="sect-5">
      <name>Security Considerations</name>
      <t>The following aspects need to be considered by implementers and
users:</t>
      <ol spacing="normal" type="1"><li>
          <t>There is the risk for denial-of-service attacks through resource
  consumption by opening many connections to an HTTP server.
  Therefore, idle connections should be terminated after an
  appropriate timeout; this may also depend on the available free
  resources.  After sending a CMP Error Message, the server should
  close the connection, even if the CMP transaction is not yet
  fully completed.</t>
        </li>
        <li>
          <t>Without being encapsulated in effective security protocols, such
  as Transport Layer Security (TLS) <xref target="RFC5246"/> or <xref target="RFC8446"/>, there is no
  integrity protection at the HTTP protocol level.  Therefore,
  information from the HTTP protocol should not be used to change
  state of the transaction.</t>
        </li>
        <li>
          <t>Client users should be aware that storing the target location of
  an HTTP response with the "301 Moved Permanently" status code
  could be exploited by a man-in-the-middle attacker trying to
  block them permanently from contacting the correct server.</t>
        </li>
        <li>
          <t>If no measures to authenticate and protect the HTTP responses to
  pushed Announcement messages are in place, their information
  regarding the Announcement's processing state may not be trusted.
  In that case, the overall design of the PKI system must not
  depend on the Announcements being reliably received and processed
  by their destination.</t>
        </li>
        <li>
          <t>CMP provides inbuilt integrity protection and authentication.
  The information communicated unencrypted in CMP messages does not
  contain sensitive information endangering the security of the PKI
  when intercepted.  However, it might be possible for an
  eavesdropper to utilize the available information to gather
  confidential technical or business critical information.
  Therefore, users of the HTTP transfer for CMP might want to
  consider using HTTP over TLS according to <xref target="RFC9110"/> or virtual
  private networks created, for example, by utilizing Internet
  Protocol Security according to <xref target="RFC4301"/>.  Compliant
  implementations <bcp14>MUST</bcp14> support TLS with the option to authenticate
  both server and client.</t>
        </li>
      </ol>
    </section>
    <section anchor="sect-6">
      <name>IANA Considerations</name>
      <t>No further action by the IANA is necessary for this document or any anticipated
updates.</t>
    </section>
    <section anchor="sect-7">
      <name>Acknowledgments</name>
      <t>The authors of this document wish to thank Tomi Kause and Martin Peylo, the
original authors of <xref target="RFC6712"/>, for their work.</t>
      <t>We also thank all reviewers of this document for their valuable feedback.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC1945">
          <front>
            <title>Hypertext Transfer Protocol -- HTTP/1.0</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="H. Frystyk" initials="H." surname="Frystyk"/>
            <date month="May" year="1996"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is an application-level protocol with the lightness and speed necessary for distributed, collaborative, hypermedia information systems. This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1945"/>
          <seriesInfo name="DOI" value="10.17487/RFC1945"/>
        </reference>
        <reference anchor="RFC8615">
          <front>
            <title>Well-Known Uniform Resource Identifiers (URIs)</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.</t>
              <t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space. It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8615"/>
          <seriesInfo name="DOI" value="10.17487/RFC8615"/>
        </reference>
        <reference anchor="RFC9112">
          <front>
            <title>HTTP/1.1</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document specifies the HTTP/1.1 message syntax, message parsing, connection management, and related security concerns.</t>
              <t>This document obsoletes portions of RFC 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="99"/>
          <seriesInfo name="RFC" value="9112"/>
          <seriesInfo name="DOI" value="10.17487/RFC9112"/>
        </reference>
        <reference anchor="I-D.ietf-lamps-rfc4210bis">
          <front>
            <title>Internet X.509 Public Key Infrastructure -- Certificate Management Protocol (CMP)</title>
            <author fullname="Hendrik Brockhaus" initials="H." surname="Brockhaus">
              <organization>Siemens</organization>
            </author>
            <author fullname="David von Oheimb" initials="D." surname="von Oheimb">
              <organization>Siemens</organization>
            </author>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Entrust</organization>
            </author>
            <author fullname="John Gray" initials="J." surname="Gray">
              <organization>Entrust</organization>
            </author>
            <date day="19" month="June" year="2023"/>
            <abstract>
              <t>   This document describes the Internet X.509 Public Key Infrastructure
   (PKI) Certificate Management Protocol (CMP).  Protocol messages are
   defined for X.509v3 certificate creation and management.  CMP
   provides interactions between client systems and PKI components such
   as a Registration Authority (RA) and a Certification Authority (CA).

   This document obsoletes RFC 4210 by including the updates specified
   by CMP Updates [RFCAAAA] Section 2 and Appendix A.2 maintaining
   backward compatibility with CMP version 2 wherever possible and
   obsoletes both documents.  Updates to CMP version 2 are: improving
   crypto agility, extending the polling mechanism, adding new general
   message types, and adding extended key usages to identify special CMP
   server authorizations.  Introducing version 3 to be used only for
   changes to the ASN.1 syntax, which are: support of EnvelopedData
   instead of EncryptedValue and hashAlg for indicating a hash
   AlgorithmIdentifier in certConf messages.

   In addition to the changes specified in CMP Updates [RFCAAAA] this
   document adds support for management of KEM certificates.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-rfc4210bis-07"/>
        </reference>
        <reference anchor="ITU.X690.1994">
          <front>
            <title>Information Technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization>International Telecommunications Union</organization>
            </author>
            <date year="1994"/>
          </front>
          <seriesInfo name="ITU-T" value="Recommendation X.690"/>
        </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>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9480">
          <front>
            <title>Certificate Management Protocol (CMP) Updates</title>
            <author fullname="H. Brockhaus" initials="H." surname="Brockhaus"/>
            <author fullname="D. von Oheimb" initials="D." surname="von Oheimb"/>
            <author fullname="J. Gray" initials="J." surname="Gray"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document contains a set of updates to the syntax of Certificate Management Protocol (CMP) version 2 and its HTTP transfer mechanism. This document updates RFCs 4210, 5912, and 6712.</t>
              <t>The aspects of CMP updated in this document are using EnvelopedData instead of EncryptedValue, clarifying the handling of p10cr messages, improving the crypto agility, as well as adding new general message types, extended key usages to identify certificates for use with CMP, and well-known URI path segments.</t>
              <t>CMP version 3 is introduced to enable signaling support of EnvelopedData instead of EncryptedValue and signal the use of an explicit hash AlgorithmIdentifier in certConf messages, as far as needed.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9480"/>
          <seriesInfo name="DOI" value="10.17487/RFC9480"/>
        </reference>
        <reference anchor="RFC9483">
          <front>
            <title>Lightweight Certificate Management Protocol (CMP) Profile</title>
            <author fullname="H. Brockhaus" initials="H." surname="Brockhaus"/>
            <author fullname="D. von Oheimb" initials="D." surname="von Oheimb"/>
            <author fullname="S. Fries" initials="S." surname="Fries"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document aims at simple, interoperable, and automated PKI management operations covering typical use cases of industrial and Internet of Things (IoT) scenarios. This is achieved by profiling the Certificate Management Protocol (CMP), the related Certificate Request Message Format (CRMF), and transfer based on HTTP or Constrained Application Protocol (CoAP) in a succinct but sufficiently detailed and self-contained way. To make secure certificate management for simple scenarios and constrained devices as lightweight as possible, only the most crucial types of operations and options are specified as mandatory. More specialized or complex use cases are supported with optional features.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9483"/>
          <seriesInfo name="DOI" value="10.17487/RFC9483"/>
        </reference>
        <reference anchor="RFC2510">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Management Protocols</title>
            <author fullname="C. Adams" initials="C." surname="Adams"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <date month="March" year="1999"/>
            <abstract>
              <t>This document describes the Internet X.509 Public Key Infrastructure (PKI) Certificate Management Protocols. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2510"/>
          <seriesInfo name="DOI" value="10.17487/RFC2510"/>
        </reference>
        <reference anchor="RFC4210">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Management Protocol (CMP)</title>
            <author fullname="C. Adams" initials="C." surname="Adams"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="T. Kause" initials="T." surname="Kause"/>
            <author fullname="T. Mononen" initials="T." surname="Mononen"/>
            <date month="September" year="2005"/>
            <abstract>
              <t>This document describes the Internet X.509 Public Key Infrastructure (PKI) Certificate Management Protocol (CMP). Protocol messages are defined for X.509v3 certificate creation and management. CMP provides on-line interactions between PKI components, including an exchange between a Certification Authority (CA) and a client system. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4210"/>
          <seriesInfo name="DOI" value="10.17487/RFC4210"/>
        </reference>
        <reference anchor="RFC4301">
          <front>
            <title>Security Architecture for the Internet Protocol</title>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <author fullname="K. Seo" initials="K." surname="Seo"/>
            <date month="December" year="2005"/>
            <abstract>
              <t>This document describes an updated version of the "Security Architecture for IP", which is designed to provide security services for traffic at the IP layer. This document obsoletes RFC 2401 (November 1998). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4301"/>
          <seriesInfo name="DOI" value="10.17487/RFC4301"/>
        </reference>
        <reference anchor="RFC5246">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.2</title>
            <author fullname="T. Dierks" initials="T." surname="Dierks"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2008"/>
            <abstract>
              <t>This document specifies Version 1.2 of the Transport Layer Security (TLS) protocol. The TLS protocol provides communications security over the Internet. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5246"/>
          <seriesInfo name="DOI" value="10.17487/RFC5246"/>
        </reference>
        <reference anchor="RFC6712">
          <front>
            <title>Internet X.509 Public Key Infrastructure -- HTTP Transfer for the Certificate Management Protocol (CMP)</title>
            <author fullname="T. Kause" initials="T." surname="Kause"/>
            <author fullname="M. Peylo" initials="M." surname="Peylo"/>
            <date month="September" year="2012"/>
            <abstract>
              <t>This document describes how to layer the Certificate Management Protocol (CMP) over HTTP. It is the "CMPtrans" document referenced in RFC 4210; therefore, this document updates the reference given therein. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6712"/>
          <seriesInfo name="DOI" value="10.17487/RFC6712"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
      </references>
    </references>
    <?line 466?>

<section anchor="History">
      <name>History of Changes</name>
      <t>Note: This appendix will be deleted in the final version of the document.</t>
      <t>From version 03 -&gt; 04:</t>
      <ul spacing="normal">
        <li>
          <t>Aligned with released RFC 9480 - RFC 9483.</t>
        </li>
      </ul>
      <t>From version 02 -&gt; 03:</t>
      <ul spacing="normal">
        <li>
          <t>Fixing one formatting nit.</t>
        </li>
      </ul>
      <t>From version 01 -&gt; 02:</t>
      <ul spacing="normal">
        <li>
          <t>Updated Section 3.4 including the requirement to add the content-length filed
into the HTTP header.</t>
        </li>
        <li>
          <t>Added a reference to TLS 1.3.</t>
        </li>
        <li>
          <t>Addressed idnits feedback, specifically changing the following RFC references:
RFC2616 -&gt; RFC9112; RFC2818 -&gt; RFC9110, and RFC5246 -&gt; RFC8446</t>
        </li>
      </ul>
      <t>From version 00 -&gt; 01:</t>
      <ul spacing="normal">
        <li>
          <t>Performed all updates specified in CMP Updates Section 3.</t>
        </li>
      </ul>
      <t>Version 00:</t>
      <t>This version consists of the text of RFC6712 with the following changes:</t>
      <ul spacing="normal">
        <li>
          <t>Introduced the authors of this document and thanked the authors of RFC6712
for their work.</t>
        </li>
        <li>
          <t>Added a paragraph to the introduction explaining the background of this document.</t>
        </li>
        <li>
          <t>Added the change history to this appendix.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81b63Yct5H+j6fA0j8k5cyMOLzoQnuVMBRlcyNKXJGKk+PV
D0w3ZgZmT3enLxxOtNxnybPkyba+KgDdPSSzds7Zc+KT2MPuBlCo61eFwng8
VjdHel+5sjrSTdXWzd7u7uvdPZUWSW5W9kinlZk3Y2eb+Tgzq7IeV/Pkxcvp
3szV490DlZjmSNdNqopZXWS2sfWRfoL3+vXBq90nKiny2uZ1i8c0v32i6na2
cnXtirzZlLTA2enVO5WZfHGkba5Kd6S0bookfs9/pbZslvToAH/Xm1Vl53Xv
i7qoGv9obrKanjWuyWjyN/TyLG9sldtG/2lyuPtaX7SzzCX6D3ZDb+aVqWmS
pGkrq4kZWv9wdXWhryqT13Nb6XlR6WZp9YmtGjd3tFurz01uFnZl80ZfVAUR
V2T66cn5xTNlZrPKEj8/vTvxLFJr2tb74/OLS/1jUV27fKG/r4q2VCnNdKT3
dvcOlGmbZVEdqbEWjv9g87Ry1/r3VZFcL01bE1VFRfNcOqyKP8NC3RPahbUk
ih+x1Wp8U+Rj/3J82dAma6un9FlSpLTCk1e7+/v7YFzims2RPm9zlyz5dZs3
FT353lYrk2/okV0Zlx3ppRA1mQWiflfL9JOkWNFnbeXoo6Yp66Pnz9fr9aT/
Ouzsrblxqf5vTdTpj0vrVrN/ha2loGpC004Kpumf2dm5u7b6Y5vXa9LEZdjV
ac4m1dtV9yTsajp99VJfmOpaX2QmsfSmsgsyDprzQ7erw8P9l697u3J5bk1Z
ZK7ub+1z7hqb6suGlKvWxVwfr2xFStvtdUV0TopA5++skPPYTvuvw07/o1jm
pMNm86+7yZ+JxMmCSPw1+3M52frKNO7GwgORCcOBdT/3/c+9w2l4erDX/dzf
nfqfh3sHL/xPOAH/89VBfPp6imH51mrT1weH4dsX08PuW57hbPx2MvTBWJwc
DL+8+jz504vXu5Pp69cHR0qNx2OSBfHeJI1S6mrpak3+vGWXldo6qdyMWLcs
1uRadWY29hc5OcVOThc39Dm85ESps0a7PMlampRnaMtUpJKDeM1xoC5tQrOS
yFyuaQb92X+EL8BjfWmThpRB7WuTpzoEklTPimYZCa8nWl8tbd0t4kh6Rdom
Vmb9dFbrtoaHNepHm2Xj67xY57qkuOBuJ8KVlUvTzCr1DYICD8bC+us3NZEw
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
3D3Lo6//F8EcNSroRAAA

-->

</rfc>
