<?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.6.22 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-rfc6712bis-03" category="std" consensus="true" submissionType="IETF" xml:lang="en" obsoletes="6712" tocDepth="4" tocInclude="true" sortRefs="false" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.16.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-03"/>
    <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="2023"/>
    <workgroup>LAMPS Working Group</workgroup>
    <abstract>
      <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 [RFCAAAA] Section
3 and obsoleted both documents.  These updates introduce CMP URIs using a
Well-known prefix.</t>
    </abstract>
  </front>
  <middle>
    <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>RFCXXXX ---&gt; the assigned numerical RFC value for this draft</li>
        <li>
          <t>RFCAAAA ---&gt; the assigned numerical RFC value for <xref target="I-D.ietf-lamps-cmp-updates"/>  </t>
          <t>
Add this RFC number to the list of obsoleted RFCs.</t>
        </li>
        <li>RFCBBBB ---&gt; the assigned numerical RFC value for <xref target="I-D.ietf-lamps-lightweight-cmp-profile"/></li>
        <li>RFCCCCC ---&gt; the assigned numerical RFC value for <xref target="I-D.ietf-lamps-rfc4210bis"/></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>In addition to reliable transport, CMP 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 [RFCAAAA] 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 [RFCAAAA] updated <xref target="RFC6712">RFC 6712</xref>, supporting the PKI
management operations specified in the Lightweight CMP
Profile [RFCBBBB], in the following areas:</t>
        <ul spacing="normal">
          <li>Introduce the HTTP URI path prefix '/.well-known/cmp'.</li>
          <li>Add options for extending the URI structure with further segments and to
this end define a new protocol registry group.</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 [RFCAAAA] 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>
    </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">RFC 8615</xref> 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 [RFCBBBB],
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>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.</li>
        <li>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.</li>
        <li>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.</li>
        <li>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.</li>
        <li>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.</li>
      </ol>
    </section>
    <section anchor="sect-6">
      <name>IANA Considerations</name>
      <t>The IANA has already registered what is specified in CMP Updates [RFCAAAA].</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 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>
        <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">
              <organization/>
            </author>
            <author fullname="R. Fielding" initials="R." surname="Fielding">
              <organization/>
            </author>
            <author fullname="H. Frystyk" initials="H." surname="Frystyk">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham">
              <organization/>
            </author>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke">
              <organization/>
            </author>
            <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="24" month="October" year="2022"/>
            <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 includes the updates on RFC 4210 specified by CMP
   Updates [RFCAAAA] Section 2 and Appendix A.2 maintaining backward
   compatibility with CMP version 2 wherever possible and obsoleted 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.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-rfc4210bis-03"/>
        </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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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>
        <name>Informative References</name>
        <reference anchor="I-D.ietf-lamps-cmp-updates">
          <front>
            <title>Certificate Management Protocol (CMP) Updates</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="John Gray" initials="J." surname="Gray">
              <organization>Entrust</organization>
            </author>
            <date day="29" month="June" year="2022"/>
            <abstract>
              <t>   This document contains a set of updates to the syntax and transfer of
   Certificate Management Protocol (CMP) version 2.  This document
   updates RFC 4210, RFC 5912, and RFC 6712.

   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.

   CMP version 3 is introduced to enable signaling support of
   EnvelopedData instead of EncryptedValue and signaling the use of an
   explicit hash AlgorithmIdentifier in certConf messages, as far as
   needed.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-cmp-updates-23"/>
        </reference>
        <reference anchor="I-D.ietf-lamps-lightweight-cmp-profile">
          <front>
            <title>Lightweight Certificate Management Protocol (CMP) Profile</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="Steffen Fries" initials="S." surname="Fries">
              <organization>Siemens AG</organization>
            </author>
            <date day="12" month="January" year="2023"/>
            <abstract>
              <t>   This document aims at simple, interoperable, and automated PKI
   management operations covering typical use cases of industrial and
   IoT scenarios.  This is achieved by profiling the Certificate
   Management Protocol (CMP), the related Certificate Request Message
   Format (CRMF), and HTTP-based or CoAP-based transfer 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="Internet-Draft" value="draft-ietf-lamps-lightweight-cmp-profile-20"/>
        </reference>
        <reference anchor="RFC2510">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Management Protocols</title>
            <author fullname="C. Adams" initials="C." surname="Adams">
              <organization/>
            </author>
            <author fullname="S. Farrell" initials="S." surname="Farrell">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="S. Farrell" initials="S." surname="Farrell">
              <organization/>
            </author>
            <author fullname="T. Kause" initials="T." surname="Kause">
              <organization/>
            </author>
            <author fullname="T. Mononen" initials="T." surname="Mononen">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="K. Seo" initials="K." surname="Seo">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="M. Peylo" initials="M." surname="Peylo">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham">
              <organization/>
            </author>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke">
              <organization/>
            </author>
            <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>
    <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 02 -&gt; 03:</t>
      <ul spacing="normal">
        <li>Fixing one formatting nit.</li>
      </ul>
      <t>From version 01 -&gt; 02:</t>
      <ul spacing="normal">
        <li>Updated Section 3.4 including the requirement to add the content-length filed
into the HTTP header.</li>
        <li>Added a reference to TLS 1.3.</li>
        <li>Addressed idnits feedback, specifically changing the following RFC references:
RFC2616 -&gt; RFC9112; RFC2818 -&gt; RFC9110, and RFC5246 -&gt; RFC8446</li>
      </ul>
      <t>From version 00 -&gt; 01:</t>
      <ul spacing="normal">
        <li>Performed all updates specified in CMP Updates Section 3.</li>
      </ul>
      <t>Version 00:</t>
      <t>This version consists of the text of RFC6712 with the following changes:</t>
      <ul spacing="normal">
        <li>Introduced the authors of this document and thanked the authors of RFC6712
for their work.</li>
        <li>Added a paragraph to the introduction explaining the background of this document.</li>
        <li>Added the change history to this appendix.</li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81c63bbyJH+30/Rq/khew9Ji5J802R9opHlGSWWrZXkTHJm
/aMJNMkegQCCiyjG632WPEuebOur6gYalDQ7Sc6eE5/NhgL6Ul3Xr6oLGY/H
6vZIH6i0SHKzskc6rcy8GTvbzMeZWZX1uJonL15O92euHu8dqMQ0R7puUlXM
6iKzja2P9C7e76qkyGub1y2eNFVrd1Xdzlaurl2RN5uS1j47vX6nMpMvjrTN
VemOlNZNkXTj+a/Uls2SHh3i73qzquy8jkbURdX4R3OT1fSscU1Gi7+hl2d5
Y6vcNvqPk+d7r/VFO8tcon9vN/RmXpmaFkmatrKajq31D9fXF/q6Mnk9t5We
F5Vullaf2Kpxc0cHtfrc5GZhVzZv9EVVEHFFpp+cnF88VWY2qyxx7vLdieeO
WtOx3h+fX1zpH4vqxuUL/X1VtKVKaaUjvb+3f6BM2yyL6kiNtTD7B5unlbvR
31VFcrM0bU1UFRWtc+WwK/4MG/VP6BTWkhR+xFGr8W2Rj/3L8VVDh6ytntKw
pEhph91XewcHB2Bc4prNkT5vc5cs+XWbNxU9+d5WK5Nv6JFdGZcd6aUQNZkF
on5by/KTpFjRsLZyNKhpyvro2bP1ej2JX4eTvTW3LtX/rYk6/XFp3Wr2r3C0
FFRNaNlJwTT9Iyc7dzdWf2zzek2auAynOqUd27qJTtU/CaeaTl+91BemutEX
mUksvansgoyD1vzQn+r584OXr6NTuTy3piwyV8dH+5S7xqb6qiHlqnUx18cr
W5HS9mddEZ2TItD5WyvkPHbS+HU46e+KZU46bDb/uof8mUicLIjEv+d8Lidb
X5nG3Vp4oLPx20nk75JVOW5LGG39wNvMLZbN2uL/88iyKuYu43XIFew/n+75
n4f7/c+Dvan/+Xz/8IX/Cbfhf7467J6+nmJaHtNHT6evD5+HsS+mz/ux+w+Q
SA4bm5NL4pfXnyZ/fPF6bzJ9/frwSKnxeEzSI2mZpFFKXS9drcn5t+zkUlsn
lZsRs5fFmpyxzszG/iq3qNgt6uKWhsOvTpQ6a7TLk6ylRXkFz1RNHoGI1zi/
rkub0KokZJdrWkF/8oN+oiHH9O+zvrJJQ/qjDrTJUx3CTqpnRbPsKK8nWl8v
bd3v4kjgRdomVpa9PKt1W8MpG/WjzbLxTV6sc11SKHF3E2HLyqVpZpX6BnGE
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
AA==

-->

</rfc>
