<?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.21 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-rfc6712bis-09" 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.25.0 -->
  <front>
    <title abbrev="HTTP Transfer for CMP">Internet X.509 Public Key Infrastructure -- HTTP Transfer for the Certificate Management Protocol (CMP)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-rfc6712bis-09"/>
    <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"/>
    <area>sec</area>
    <workgroup>LAMPS Working Group</workgroup>
    <keyword>CMP</keyword>
    <keyword>HTTP</keyword>
    <keyword>Certificate management</keyword>
    <keyword>PKI</keyword>
    <abstract>
      <?line 88?>

<t>This document describes how to layer the Certificate Management Protocol
(CMP) over HTTP.</t>
      <t>It includes the updates to RFC 6712 specified in RFC 9480 Section 3. These
updates introduce CMP URIs using a Well-known prefix. It obsoletes
RFC 6712 and together with I-D.ietf-lamps-rfc4210bis and it also obsoletes
RFC 9480.</t>
    </abstract>
  </front>
  <middle>
    <?line 99?>

<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>The Certificate Management Protocol (CMP) <xref target="I-D.ietf-lamps-rfc4210bis"/> requires a well-defined
transfer mechanism to enable End Entities (EEs), Registration
Authorities (RAs), and Certification Authorities (CAs) to pass
PKIMessage structures 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>Since 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 as CMP requires connection and error handling
from the transfer protocol. All theses features are 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 (e.g., HTTP/1.1 as specified in <xref target="RFC9110"/> and <xref target="RFC9112"/>) for transferring CMP messages exclusively uses the POST
method for requests, effectively tunneling CMP over HTTP. While this is
generally considered bad practice (see <xref target="RFC9205">BCP 56</xref> for best current
practice on building protocols with HTTP) 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 identification (transactionID), 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 Made by RFC 9480</name>
        <t><xref target="RFC9480">CMP Updates</xref> updated <xref section="3.6" sectionFormat="of" target="RFC6712"/>, supporting the PKI
management operations specified in the <xref target="RFC9483">Lightweight CMP Profile</xref>, 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
define a new protocol registry group to that aim.</t>
          </li>
        </ul>
      </section>
      <section anchor="sect-1.2">
        <name>Changes Made by This Document</name>
        <t>This document obsoletes <xref target="RFC6712"/>.
It includes the changes specified in <xref section="3" sectionFormat="of" target="RFC9480"/> as
described in <xref target="sect-1.1"/> of this document. Additionally it adds the following changes:</t>
        <ul spacing="normal">
          <li>
            <t>Removed the requirement to support HTTP/1.0 <xref target="RFC1945"/> in accordance with <xref section="4.1" sectionFormat="of" target="RFC9205"/>.</t>
          </li>
          <li>
            <t>Implementations <bcp14>MUST</bcp14> forward CMP messages when an HTTP error status code occurs, see  <xref target="sect-3.1"/>.</t>
          </li>
          <li>
            <t>Removed <xref section="3.8" sectionFormat="of" target="RFC6712"/> as it contains information redundant with current HTTP specification.</t>
          </li>
        </ul>
      </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 <xref target="RFC9293"/> is available, HTTP <xref target="RFC9110"/> <bcp14>SHOULD</bcp14> be
utilized for conveying CMP messages. This specification requires
using the POST method (Section 3.1) and the "Content-Type" header
field (Section 3.2), which are available since HTTP/1.0 <xref target="RFC1945"/>.</t>
      <t>Note: In some situations, CMP requires multiple request/response
pairs to perform a PKI management operation. Their affiliation
with a PKI management operation is indicated by a
transaction identifier in the CMP message header (see transactionID
described in Section 5.1.1 of <xref target="I-D.ietf-lamps-rfc4210bis"/>).
For details on how to transfer multiple requests see
Section 4.11 of <xref target="RFC9205"/>.</t>
      <section anchor="sect-3.1">
        <name>General Form</name>
        <t>A DER-encoded <xref target="ITU.X690.1994"/> PKIMessage (<xref section="5.1" sectionFormat="of" target="I-D.ietf-lamps-rfc4210bis"/>) <bcp14>MUST</bcp14> be sent as the
content of an HTTP POST request.  If this HTTP request is
successful, the server returns the CMP response in the content of the
HTTP response.  The HTTP response status code in this case <bcp14>MUST</bcp14> be
200 (OK) status code; other Successful 2xx status codes <bcp14>MUST NOT</bcp14> be used for this purpose.
HTTP responses to pushed CMP announcement messages described in <xref target="sect-3.5"/>
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) status code
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. Whenever
a client receives an HTTP response with a status code in the 2xx,
4xx, or 5xx ranges, it <bcp14>MUST</bcp14> support handling response message
content containing a CMP response PKIMessage.</t>
      </section>
      <section anchor="sect-3.2">
        <name>Media Type</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>
      </section>
      <section anchor="sect-3.3">
        <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.5"/> 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.4">
        <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>CMP clients have 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, 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;.
The following list examples of valid full CMP URIs:</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>
        <t>Note that https can also be used instead of http, see <xref target="sect-5">item 5 in the Security Considerations</xref>.</t>
      </section>
      <section anchor="sect-3.5">
        <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 <xref section="D.5" sectionFormat="of" target="I-D.ietf-lamps-rfc4210bis"/> can be used.</t>
        <t>When pushing announcement messages, PKIMessage structures <bcp14>MUST</bcp14> be sent as
the content 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.4"/>.</t>
        <t>The following types of PKIMessage are announcements that may be pushed by a
CA.  The prefixed numbers reflect ASN.1 tags of the PKIBody structure (<xref section="5.1.2" sectionFormat="of" target="I-D.ietf-lamps-rfc4210bis"/>).</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 content.  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 content.</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 error code
when a problem occurs.</t>
      </section>
    </section>
    <section anchor="sect-4">
      <name>Implementation Considerations</name>
      <t>Implementers should be aware that other implementations might exist that
use a different approach for transferring CMP over HTTP.
Further, implementations based on earlier I-Ds that led to
<xref target="RFC6712"/> might use an unregistered "application/pkixcmp-poll" Media Type.
Conforming implementations <bcp14>MAY</bcp14> handle this type like "application/pkixcmp".</t>
    </section>
    <section anchor="sect-5">
      <name>Security Considerations</name>
      <t>All security considerations in HTTP <xref target="RFC9110"/> apply.
The following items 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.</t>
        </li>
        <li>
          <t>Without being encapsulated in effective security protocols, such
  as Transport Layer Security (TLS) <xref target="RFC5246"/> or <xref target="RFC8446"/>, or
  without using HTTP digest <xref target="RFC9530"/> there is no
  integrity protection at the HTTP level.  Therefore,
  information from the HTTP should not be used to change
  state of the transaction, regardless of whether any mechanism was
  used to ensure the authenticity or integrity of HTTP messages
  (e.g., TLS or HTTP digests).</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 meddler-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 personal, technical, or business critical information.
  The protection of the confidentiality of CMP messages together with
  an initial authentication of the RA/CA before the first CMP message
  is transmitted ensures the privacy of the EE requesting
  certificates. Therefore, users of the HTTP transfer for CMP messages
  should consider using HTTP over TLS according to <xref target="RFC9110"/> or using virtual
  private networks created, for example, by utilizing Internet
  Protocol Security according to <xref target="RFC7296"/>.</t>
        </li>
      </ol>
    </section>
    <section anchor="sect-6">
      <name>IANA Considerations</name>
      <t>The reference to <xref target="RFC2510"/> at https://www.iana.org/assignments/media-types/media-types.xhtml should be replaced with a reference to this document.</t>
      <t>The reference to <xref target="RFC4210"/> at https://www.iana.org/assignments/core-parameters/core-parameters.xhtml should be replaced with a reference to this document.</t>
      <t>The reference to <xref target="RFC9480"/> at https://www.iana.org/assignments/well-known-uris/well-known-uris.xhtml and https://www.iana.org/assignments/cmp/cmp.xhtmlshould should be replaced with a reference to this document.</t>
      <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 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 for their valuable feedback.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-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="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>
        <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="18" month="November" year="2024"/>
            <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 adds support for management of KEM certificates and use
   EnvelopedData instead of EncryptedValue.  This document also includes
   the updates specified in Section 2 and Appendix A.2 of RFC 9480.

   The updates maintain backward compatibility with CMP version 2
   wherever possible.  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.  CMP version 3 is introduced for changes to the ASN.1
   syntax, which are support of EnvelopedData, certConf with hashAlg,
   POPOPrivKey with agreeMAC, and RootCaKeyUpdateContent in ckuann
   messages.

   This document obsoletes RFC 4210 and together with I-D.ietf-lamps-
   rfc6712bis and it also obsoletes RFC 9480.  Appendix F of this
   document updates the Section 9 of RFC 5912.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-rfc4210bis-15"/>
        </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="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="RFC7296">
          <front>
            <title>Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author fullname="C. Kaufman" initials="C." surname="Kaufman"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="Y. Nir" initials="Y." surname="Nir"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
            <date month="October" year="2014"/>
            <abstract>
              <t>This document describes version 2 of the Internet Key Exchange (IKE) protocol. IKE is a component of IPsec used for performing mutual authentication and establishing and maintaining Security Associations (SAs). This document obsoletes RFC 5996, and includes all of the errata for it. It advances IKEv2 to be an Internet Standard.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="79"/>
          <seriesInfo name="RFC" value="7296"/>
          <seriesInfo name="DOI" value="10.17487/RFC7296"/>
        </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="RFC9530">
          <front>
            <title>Digest Fields</title>
            <author fullname="R. Polli" initials="R." surname="Polli"/>
            <author fullname="L. Pardue" initials="L." surname="Pardue"/>
            <date month="February" year="2024"/>
            <abstract>
              <t>This document defines HTTP fields that support integrity digests. The Content-Digest field can be used for the integrity of HTTP message content. The Repr-Digest field can be used for the integrity of HTTP representations. Want-Content-Digest and Want-Repr-Digest can be used to indicate a sender's interest and preferences for receiving the respective Integrity fields.</t>
              <t>This document obsoletes RFC 3230 and the Digest and Want-Digest HTTP fields.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9530"/>
          <seriesInfo name="DOI" value="10.17487/RFC9530"/>
        </reference>
        <reference anchor="RFC9205">
          <front>
            <title>Building Protocols with HTTP</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>Applications often use HTTP as a substrate to create HTTP-based APIs. This document specifies best practices for writing specifications that use HTTP to define new application protocols. It is written primarily to guide IETF efforts to define application protocols using HTTP for deployment on the Internet but might be applicable in other situations.</t>
              <t>This document obsoletes RFC 3205.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="56"/>
          <seriesInfo name="RFC" value="9205"/>
          <seriesInfo name="DOI" value="10.17487/RFC9205"/>
        </reference>
        <reference anchor="RFC9293">
          <front>
            <title>Transmission Control Protocol (TCP)</title>
            <author fullname="W. Eddy" initials="W." role="editor" surname="Eddy"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document specifies the Transmission Control Protocol (TCP). TCP is an important transport-layer protocol in the Internet protocol stack, and it has continuously evolved over decades of use and growth of the Internet. Over this time, a number of changes have been made to TCP as it was specified in RFC 793, though these have only been documented in a piecemeal fashion. This document collects and brings those changes together with the protocol specification from RFC 793. This document obsoletes RFC 793, as well as RFCs 879, 2873, 6093, 6429, 6528, and 6691 that updated parts of RFC 793. It updates RFCs 1011 and 1122, and it should be considered as a replacement for the portions of those documents dealing with TCP requirements. It also updates RFC 5961 by adding a small clarification in reset handling while in the SYN-RECEIVED state. The TCP header control bits from RFC 793 have also been updated based on RFC 3168.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="7"/>
          <seriesInfo name="RFC" value="9293"/>
          <seriesInfo name="DOI" value="10.17487/RFC9293"/>
        </reference>
      </references>
    </references>
    <?line 446?>

<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 08 -&gt; 09:</t>
      <ul spacing="normal">
        <li>
          <t>Incorporated relevant text from former Sections 3.1 and 3.2 in the introduction of Section 3 as proposed by HTTPDIR review</t>
        </li>
        <li>
          <t>Added reference to HTTP Security Considerations to Section 5 and updated the first item as proposed by HTTPDIR review</t>
        </li>
      </ul>
      <t>From version 07 -&gt; 08:</t>
      <ul spacing="normal">
        <li>
          <t>Addressed HTTPDIR, SECDIR, OPSDIR and ARTART review comments</t>
        </li>
        <li>
          <t>Aligned the terminology with https://httpwg.org/admin/editors/style-guide</t>
        </li>
        <li>
          <t>Implemented editorial changes proposed by OPSDIR reviewer</t>
        </li>
        <li>
          <t>Removed requirement to support HTTP/1.0</t>
        </li>
        <li>
          <t>Added normative language in Sections 3.3 and 3.7 for clarity</t>
        </li>
        <li>
          <t>Added the requirement to provide any HTTP response message content to the application</t>
        </li>
        <li>
          <t>Removed the paragraph on the "Content-Length" header field and Section 3.8 to reduce redundancy with current versions HTTP/1.1</t>
        </li>
      </ul>
      <t>From version 06 -&gt; 07:</t>
      <ul spacing="normal">
        <li>
          <t>Updated the the page header to 'HTTP Transfer for CMP'</t>
        </li>
        <li>
          <t>Removed one instruction to RFC Editors</t>
        </li>
        <li>
          <t>Deprecated PKIMessages as plural of PKIMessage to prevent confusion with ASN.1 type PKIMessages</t>
        </li>
        <li>
          <t>Fixed some nits in Section 1</t>
        </li>
        <li>
          <t>Aligned Section 3.6 and Section 5 with RFC 9483 and draft-ietf-anima-brski-ae</t>
        </li>
      </ul>
      <t>From version 05 -&gt; 06:</t>
      <ul spacing="normal">
        <li>
          <t>Updates IANA considerations addressing IANA early review (see thread "[IANA #1368693] Early review: draft-ietf-lamps-rfc4210bis-12 (IETF 120)").</t>
        </li>
      </ul>
      <t>From version 04 -&gt; 05:</t>
      <ul spacing="normal">
        <li>
          <t>Added IANA considerations addressing IANA early review.</t>
        </li>
      </ul>
      <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:
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
dIpFM2NMAAA=

-->

</rfc>
