<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" ipr="pre5378Trust200902" docName="draft-ietf-lamps-rfc5274bis-11" number="10004" category="std" consensus="true" submissionType="IETF" updates="" obsoletes="5274, 6402" tocInclude="true" sortRefs="true" symRefs="true" xml:lang="en" prepTime="2026-07-17T22:49:22" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-lamps-rfc5274bis-11" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc10004" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="CMC: Compliance">Certificate Management over CMS (CMC): Compliance Requirements</title>
    <seriesInfo name="RFC" value="10004" stream="IETF"/>
    <author initials="J." surname="Mandel" fullname="Joseph Mandel" role="editor">
      <organization showOnFrontPage="true">AKAYLA, Inc.</organization>
      <address>
        <email>joe@akayla.com</email>
      </address>
    </author>
    <author initials="S." surname="Turner" fullname="Sean Turner" role="editor">
      <organization showOnFrontPage="true">sn3rd</organization>
      <address>
        <email>sean@sn3rd.com</email>
      </address>
    </author>
    <date month="07" year="2026"/>
    <area>SEC</area>
    <workgroup>lamps</workgroup>
    <keyword>Public Key Infrastructure</keyword>
    <keyword>Cryptographic Message Syntax</keyword>
    <keyword>Certificate Management</keyword>
    <keyword>Compliance</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">This document provides a set of compliance statements about the
Certificate Management over CMS (CMC) enrollment protocol.  The ASN.1
structures and the transport mechanisms for the CMC enrollment
protocol are covered in other documents (RFCs 10002 and 10003).  This document provides the
information needed to make a compliant version of CMC.</t>
      <t indent="0" pn="section-abstract-2">This document obsoletes RFCs 5274 and 6402.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc10004" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2026 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
        <t indent="0" pn="section-boilerplate.2-3">
            This document may contain material from IETF Documents or IETF
            Contributions published or made publicly available before November
            10, 2008. The person(s) controlling the copyright in some of this
            material may not have granted the IETF Trust the right to allow
            modifications of such material outside the IETF Standards Process.
            Without obtaining an adequate license from the person(s)
            controlling the copyright in such materials, this document may not
            be modified outside the IETF Standards Process, and derivative
            works of it may not be created outside the IETF Standards Process,
            except to format it for publication as an RFC or to translate it
            into languages other than English.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-terminology">Requirements Terminology</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-changes-since-rfcs-5274-and">Changes Since RFCs 5274 and 6402</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-for-all-entiti">Requirements for All Entities</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-cryptographic-algorithm-req">Cryptographic Algorithm Requirements</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-controls">Controls</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.3">
                <t indent="0" pn="section-toc.1-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-crmf-feature-requirements">CRMF Feature Requirements</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-for-clients">Requirements for Clients</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-for-servers">Requirements for Servers</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-for-ees">Requirements for EEs</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-for-ras">Requirements for RAs</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-for-cas">Requirements for CAs</xref></t>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="11" format="counter" sectionFormat="of" target="section-11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="12" format="counter" sectionFormat="of" target="section-12"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="13" format="counter" sectionFormat="of" target="section-13"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.13.2">
              <li pn="section-toc.1-1.13.2.1">
                <t indent="0" pn="section-toc.1-1.13.2.1.1"><xref derivedContent="13.1" format="counter" sectionFormat="of" target="section-13.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.13.2.2">
                <t indent="0" pn="section-toc.1-1.13.2.2.1"><xref derivedContent="13.2" format="counter" sectionFormat="of" target="section-13.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.14">
            <t indent="0" pn="section-toc.1-1.14.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.15">
            <t indent="0" pn="section-toc.1-1.15.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.16">
            <t indent="0" pn="section-toc.1-1.16.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">The Certificate Management over CMS (CMC) protocol is designed in
terms of a client/server relationship.  In the simplest case, the
client is the requestor of the certificate (i.e., the End-Entity
(EE)) and the server is the issuer of the certificate (i.e., the
Certification Authority (CA)).  The introduction of a Registration
Authority (RA) into the set of agents complicates the picture only
slightly.  The RA becomes the server with respect to the certificate
requestor, and it becomes the client with respect to the certificate
issuer.  Any number of RAs can be inserted into the picture in this
manner.</t>
      <t indent="0" pn="section-1-2">The RAs may serve specialized purposes that are not currently covered
by this document.  One such purpose would be a Key Escrow agent.  As
such, all certificate requests for encryption keys would be directed
through this RA, and it would take appropriate action to do the key
archival.  Key recovery requests could be defined in the CMC
methodology allowing for the Key Escrow agent to perform that
operation acting as the final server in the chain of agents.</t>
      <t indent="0" pn="section-1-3">If there are multiple RAs in the system, it is considered normal that
not all RAs will see all certificate requests.  The routing between
the RAs may be dependent on the content of the certificate requests
involved.</t>
      <t indent="0" pn="section-1-4">This document is divided into six sections, each section specifying
the requirements that are specific to a class of agents in the CMC
model.  These are 1) all entities, 2) all servers, 3) all clients, 4)
all EEs, 5) all RAs, and 6) all CAs.</t>
      <t indent="0" pn="section-1-5">This document obsoletes RFCs 5274 <xref target="RFC5274" format="default" sectionFormat="of" derivedContent="CMC-COMPv1"/> and 6402 <xref target="RFC6402" format="default" sectionFormat="of" derivedContent="CMC-Updates"/>.</t>
    </section>
    <section anchor="terminology" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <t indent="0" pn="section-2-1">There are several different terms, abbreviations, and acronyms used
in this document that we define here for convenience and consistency
of usage:</t>
      <dl indent="3" newline="false" spacing="normal" pn="section-2-2">
        <dt pn="section-2-2.1">End-Entity (EE):</dt>
        <dd pn="section-2-2.2">
          <t indent="0" pn="section-2-2.2.1">Refers to the entity that owns a key pair and for
whom a certificate is issued.</t>
        </dd>
        <dt pn="section-2-2.3">Registration Authority (RA) or Local RA (LRA):</dt>
        <dd pn="section-2-2.4">
          <t indent="0" pn="section-2-2.4.1">Refers to an entity
that acts as an intermediary between the EE and the CA.  Multiple
RAs can exist between the EE and the CA.  RAs may perform additional services such as key
generation or key archival.  This document uses the term RA for
both RA and LRA.</t>
        </dd>
        <dt pn="section-2-2.5">Certification Authority (CA):</dt>
        <dd pn="section-2-2.6">
          <t indent="0" pn="section-2-2.6.1">Refers to the entity that issues
certificates.</t>
        </dd>
        <dt pn="section-2-2.7">Client:</dt>
        <dd pn="section-2-2.8">
          <t indent="0" pn="section-2-2.8.1">Refers to an entity that creates a Public Key Infrastructure (PKI) Request.  In this
document, both RAs and EEs can be clients.</t>
        </dd>
        <dt pn="section-2-2.9">Server:</dt>
        <dd pn="section-2-2.10">
          <t indent="0" pn="section-2-2.10.1">Refers to the entities that process PKI Requests and create
PKI Responses.  In this document, both CAs and RAs can be servers.</t>
        </dd>
        <dt pn="section-2-2.11">PKCS #10:</dt>
        <dd pn="section-2-2.12">
          <t indent="0" pn="section-2-2.12.1">Refers to the Public Key Cryptography Standard #10
<xref target="RFC2986" format="default" sectionFormat="of" derivedContent="PKCS10"/>, which defines a certification request syntax.</t>
        </dd>
        <dt pn="section-2-2.13">CRMF:</dt>
        <dd pn="section-2-2.14">
          <t indent="0" pn="section-2-2.14.1">Refers to the Certificate Request Message Format <xref target="RFC4211" format="default" sectionFormat="of" derivedContent="CRMF"/>.
CMC uses this certification request syntax defined in this
document as part of the protocol.</t>
        </dd>
        <dt pn="section-2-2.15">CMS:</dt>
        <dd pn="section-2-2.16">
          <t indent="0" pn="section-2-2.16.1">Refers to the Cryptographic Message Syntax <xref target="RFC5652" format="default" sectionFormat="of" derivedContent="CMS"/>.  This
document provides for basic cryptographic services including
encryption and signing with and without key management.</t>
        </dd>
        <dt pn="section-2-2.17">PKI Request/Response:</dt>
        <dd pn="section-2-2.18">
          <t indent="0" pn="section-2-2.18.1">Refers to the requests/responses described in
this document.  PKI Requests include certification requests,
revocation requests, etc.  PKI Responses include certs-only
messages, failure messages, etc.</t>
        </dd>
        <dt pn="section-2-2.19">Proof-of-Identity:</dt>
        <dd pn="section-2-2.20">
          <t indent="0" pn="section-2-2.20.1">Refers to the client proving they are who they say
that they are to the server.</t>
        </dd>
        <dt pn="section-2-2.21">Proof-of-Possession (POP):</dt>
        <dd pn="section-2-2.22">
          <t indent="0" pn="section-2-2.22.1">Refers to a value that can be used to
prove that the private key corresponding to a public key is in the
possession and can be used by an EE.  See <xref target="RFC10002" sectionFormat="of" section="2.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc10002#section-2.1" derivedContent="CMC-STRUCT"/>.</t>
        </dd>
        <dt pn="section-2-2.23">Transport wrapper:</dt>
        <dd pn="section-2-2.24">
          <t indent="0" pn="section-2-2.24.1">Refers to the outermost CMS wrapping layer.</t>
        </dd>
        <dt pn="section-2-2.25">Entity:</dt>
        <dd pn="section-2-2.26">
          <t indent="0" pn="section-2-2.26.1">Refers to EE, RA (or LRA), or CA.</t>
        </dd>
        <dt pn="section-2-2.27">HMAC:</dt>
        <dd pn="section-2-2.28">
          <t indent="0" pn="section-2-2.28.1">Refers to the Hashed Message Authentication Code. CMC uses the ASN.1 module defined in <xref target="RFC6268" format="default" sectionFormat="of" derivedContent="HMAC-ALGS"/>.</t>
        </dd>
      </dl>
    </section>
    <section anchor="requirements-terminology" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-requirements-terminology">Requirements Terminology</name>
      <t indent="0" pn="section-3-1">
    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" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/>
    when, and only when, they appear in all capitals, as shown here.
      </t>
    </section>
    <section anchor="changes-since-rfc-5274-and-6402" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-changes-since-rfcs-5274-and">Changes Since RFCs 5274 and 6402</name>
      <t indent="0" pn="section-4-1">Merged <xref target="RFC6402" format="default" sectionFormat="of" derivedContent="CMC-Updates"/> text.</t>
      <t indent="0" pn="section-4-2">Updated the Introduction, changed "all agents" to
"all entities" in the overview to maintain consistency
throughout the document, and renumbered the section headers.</t>
      <t indent="0" pn="section-4-3">Added RA Identity Proof Witness and Response Body controls to <xref target="cmc-controls" format="default" sectionFormat="of" derivedContent="Table 1"/>.</t>
      <t indent="0" pn="section-4-4">Updated the Cryptographic Algorithm Requirements:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4-5">
        <li pn="section-4-5.1">
          <t indent="0" pn="section-4-5.1.1">Replaced SHA-1 with SHA-256</t>
        </li>
        <li pn="section-4-5.2">
          <t indent="0" pn="section-4-5.2.1">Replaced HMAC-SHA-1 with HMAC-SHA-256</t>
        </li>
        <li pn="section-4-5.3">
          <t indent="0" pn="section-4-5.3.1">Added algorithms for <tt>AuthEnvelopedData</tt></t>
        </li>
      </ul>
      <t indent="0" pn="section-4-6">Added a paragraph to maintain backward algorithm compatibility.</t>
    </section>
    <section anchor="requirements-for-all-entities" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-requirements-for-all-entiti">Requirements for All Entities</name>
      <t indent="0" pn="section-5-1">All <xref target="RFC10002" format="default" sectionFormat="of" derivedContent="CMC-STRUCT"/> and <xref target="RFC10003" format="default" sectionFormat="of" derivedContent="CMC-TRANS"/> compliance statements <bcp14>MUST</bcp14> be
adhered to unless specifically stated otherwise in this document.</t>
      <t indent="0" pn="section-5-2">All entities <bcp14>MUST</bcp14> support Full PKI Requests, Simple PKI Responses,
and Full PKI Responses.  Servers <bcp14>SHOULD</bcp14> support Simple PKI Requests.</t>
      <t indent="0" pn="section-5-3">All entities <bcp14>MUST</bcp14> support the use of the CRMF syntax for
certification requests.  Support for the PKCS #10 syntax for
certification requests <bcp14>SHOULD</bcp14> be implemented by servers.</t>
      <t indent="0" pn="section-5-4">The <tt>extendedFailInfo</tt> field <bcp14>SHOULD NOT</bcp14> be populated in the
<tt>CMCStatusInfoV2</tt> object; the <tt>failInfo</tt> field <bcp14>SHOULD</bcp14> be used to relay
this information.  If the <tt>extendedFailInfo</tt> field is used, it is
suggested that an additional <tt>CMCStatusInfoV2</tt> item exist for the same
body part with a <tt>failInfo</tt> field.</t>
      <t indent="0" pn="section-5-5">All entities <bcp14>MUST</bcp14> implement the HTTP transport mechanism as defined
in <xref target="RFC10003" format="default" sectionFormat="of" derivedContent="CMC-TRANS"/>.  Other transport mechanisms <bcp14>MAY</bcp14> be implemented.</t>
      <section anchor="cryptographic-algorithm-requirements" numbered="true" removeInRFC="false" toc="include" pn="section-5.1">
        <name slugifiedName="name-cryptographic-algorithm-req">Cryptographic Algorithm Requirements</name>
        <t indent="0" pn="section-5.1-1">All entities <bcp14>MUST</bcp14> verify RSA-SHA256 signatures in
<tt>SignedData</tt>; (see <xref target="RFC5754" format="default" sectionFormat="of" derivedContent="CMS-ALG2"/>).  Entities <bcp14>MAY</bcp14> verify other signature
algorithms.</t>
        <t indent="0" pn="section-5.1-2">All entities <bcp14>MUST</bcp14> generate RSA-SHA256 signatures for
<tt>SignedData</tt>; (see <xref target="RFC5754" format="default" sectionFormat="of" derivedContent="CMS-ALG2"/>).  Other signature algorithms <bcp14>MAY</bcp14> be used
for generation.</t>
        <t indent="0" pn="section-5.1-3">All entities <bcp14>MUST</bcp14> support Advanced Encryption Standard (AES) as the
content encryption algorithm for <tt>EnvelopedData</tt>; (see <xref target="RFC3565" format="default" sectionFormat="of" derivedContent="CMS-AES"/>).
Other content encryption algorithms <bcp14>MAY</bcp14> be implemented.</t>
        <t indent="0" pn="section-5.1-4">All entities <bcp14>MUST</bcp14> support AES-GCM (Galois/Counter Mode) as the
authenticated content encryption algorithm for <tt>AuthEnvelopedData</tt>; (see <xref target="RFC5084" format="default" sectionFormat="of" derivedContent="CMS-AES-AE"/>).
They <bcp14>MUST</bcp14> also support a 12-octet nonce size and a 12-octet Integrity
Check Value (ICV) length. Other content encryption algorithms <bcp14>MAY</bcp14> be
implemented.</t>
        <t indent="0" pn="section-5.1-5">All entities <bcp14>MUST</bcp14> support RSA as a key transport algorithm for
<tt>EnvelopedData</tt> and <tt>AuthEnvelopedData</tt>; see <xref target="RFC5754" format="default" sectionFormat="of" derivedContent="CMS-ALG2"/>. Other key
transport algorithms <bcp14>MAY</bcp14> be implemented.</t>
        <t indent="0" pn="section-5.1-6">If an entity supports key agreement for <tt>EnvelopedData</tt> or <tt>AuthEnvelopedData</tt>,
it <bcp14>MUST</bcp14> support Diffie-Hellman (DH); (see <xref target="RFC2631" format="default" sectionFormat="of" derivedContent="CMS-DH"/>).</t>
        <t indent="0" pn="section-5.1-7">If an entity supports <tt>PasswordRecipientInfo</tt> for <tt>EnvelopedData</tt>,
<tt>AuthenticatedData</tt>, or <tt>AuthEnvelopedData</tt>, it <bcp14>MUST</bcp14> support Password-Based Key Derivation Function 2 (PBKDF2) <xref target="RFC9879" format="default" sectionFormat="of" derivedContent="PBKDF2"/>
for key derivation algorithms.  It <bcp14>MUST</bcp14> support AES key wrap
(see <xref target="RFC3394" format="default" sectionFormat="of" derivedContent="AES-WRAP"/>) as the key encryption algorithm.</t>
        <t indent="0" pn="section-5.1-8">If <tt>AuthenticatedData</tt> is supported, <tt>PasswordRecipientInfo</tt> <bcp14>MUST</bcp14> be
supported.</t>
        <t indent="0" pn="section-5.1-9">Algorithm requirements for the Identity Proof Version 2 control
	(<xref section="6.2.1" sectionFormat="of" target="RFC10002" format="default" derivedLink="https://rfc-editor.org/rfc/rfc10002#section-6.2.1" derivedContent="CMC-STRUCT"/>) are as follows:</t>
        <ul spacing="compact" bare="false" empty="false" indent="3" pn="section-5.1-10">
          <li pn="section-5.1-10.1">SHA-256 <bcp14>MUST</bcp14> be implemented
          for <tt>hashAlgId</tt>.</li>
          <li pn="section-5.1-10.2">HMAC-SHA256 <bcp14>MUST</bcp14> be implemented for <tt>macAlgId</tt>.</li>
        </ul>
        <t indent="0" pn="section-5.1-11">Algorithm requirements for the Pop Link Witness Version 2 control
	(<xref section="6.3.1.1" sectionFormat="of" target="RFC10002" format="default" derivedLink="https://rfc-editor.org/rfc/rfc10002#section-6.3.1.1" derivedContent="CMC-STRUCT"/>) are as follows:</t>
        <ul spacing="compact" bare="false" empty="false" indent="3" pn="section-5.1-12">
          <li pn="section-5.1-12.1">SHA-256 <bcp14>MUST</bcp14> be implemented
	  for <tt>keyGenAlgorithm</tt>.</li>
          <li pn="section-5.1-12.2">PBKDF2 <xref target="RFC9879" format="default" sectionFormat="of" derivedContent="PBKDF2"/> <bcp14>MAY</bcp14> be implemented for
	  <tt>keyGenAlgorithm</tt>.</li>
          <li pn="section-5.1-12.3">HMAC-SHA256 <bcp14>MUST</bcp14> be implemented for <tt>macAlgorithm</tt>.</li>
        </ul>
        <t indent="0" pn="section-5.1-13">Algorithm requirements for the Encrypted POP and Decrypted POP
	controls (<xref section="6.7" sectionFormat="of" target="RFC10002" format="default" derivedLink="https://rfc-editor.org/rfc/rfc10002#section-6.7" derivedContent="CMC-STRUCT"/>) are as follows:</t>
        <ul spacing="compact" bare="false" empty="false" indent="3" pn="section-5.1-14">
          <li pn="section-5.1-14.1">SHA-256 <bcp14>MUST</bcp14> be
	  implemented for <tt>witnessAlgID</tt>.</li>
          <li pn="section-5.1-14.2">HMAC-SHA256 <bcp14>MUST</bcp14> be implemented for
<tt>thePOPAlgID</tt>.</li>
        </ul>
        <t indent="0" pn="section-5.1-15">Algorithm requirements for Publish Trust Anchors control (<xref section="6.15" sectionFormat="of" target="RFC10002" format="default" derivedLink="https://rfc-editor.org/rfc/rfc10002#section-6.15" derivedContent="CMC-STRUCT"/>) are as follows:</t>
        <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-5.1-16">
          <li pn="section-5.1-16.1">SHA-256 <bcp14>MUST</bcp14> be implemented for <tt>hashAlgorithm</tt>.</li>
        </ul>
        <t indent="0" pn="section-5.1-17">If an EE generates DH keys for certification, it <bcp14>MUST</bcp14> support <xref section="4" sectionFormat="of" target="RFC6955" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6955#section-4" derivedContent="DH-POP"/>.  EEs <bcp14>MAY</bcp14> support <xref section="3" sectionFormat="of" target="RFC6955" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6955#section-3" derivedContent="DH-POP"/>.  CAs and RAs
that do POP verification <bcp14>MUST</bcp14> support <xref section="4" sectionFormat="of" target="RFC6955" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6955#section-4" derivedContent="DH-POP"/> and
<bcp14>SHOULD</bcp14> support <xref section="3" sectionFormat="of" target="RFC6955" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6955#section-3" derivedContent="DH-POP"/>.</t>
        <t indent="0" pn="section-5.1-18">EEs that need to use a signature algorithm for keys that cannot
produce a signature <bcp14>MUST</bcp14> support <xref section="C" sectionFormat="of" target="RFC10002" format="default" derivedLink="https://rfc-editor.org/rfc/rfc10002#appendix-C" derivedContent="CMC-STRUCT"/> and <bcp14>MUST</bcp14>
support the Encrypted/Decrypted POP controls.  CAs and RAs that do
POP verification <bcp14>MUST</bcp14> support this signature algorithm and <bcp14>MUST</bcp14>
support the Encrypted/Decrypted POP controls.</t>
        <t indent="0" pn="section-5.1-19">For backward compatibility with the previous version of CMC,
servers <bcp14>MAY</bcp14> offer the algorithms specified therein, but <bcp14>SHOULD</bcp14>
use the CMC requests to identify which certificates should be
transitioned to more secure algorithms, if possible.</t>
      </section>
      <section anchor="controls" numbered="true" removeInRFC="false" toc="include" pn="section-5.2">
        <name slugifiedName="name-controls">Controls</name>
        <t indent="0" pn="section-5.2-1">The following table lists the name and level of support required for
	each control.</t>
        <table anchor="cmc-controls" align="center" pn="table-1">
          <name slugifiedName="name-cmc-control-attributes">CMC Control Attributes</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Control</th>
              <th align="left" colspan="1" rowspan="1">EE</th>
              <th align="left" colspan="1" rowspan="1">RA</th>
              <th align="left" colspan="1" rowspan="1">CA</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">Extended CMC Status Info</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">CMC Status Info</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>SHOULD</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>SHOULD</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>SHOULD</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Identity Proof Version 2</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Identity Proof</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>SHOULD</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>SHOULD</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>SHOULD</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Identification</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">POP Link Random</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">POP Link Witness Version 2</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">POP Link Witness</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>SHOULD</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Data Return</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Modify Cert Request</td>
              <td align="left" colspan="1" rowspan="1">N/A</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">(2)</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Add Extensions</td>
              <td align="left" colspan="1" rowspan="1">N/A</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MAY</bcp14></td>
              <td align="left" colspan="1" rowspan="1">(1)</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Transaction ID</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Sender Nonce</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Recipient Nonce</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Encrypted POP</td>
              <td align="left" colspan="1" rowspan="1">(4)</td>
              <td align="left" colspan="1" rowspan="1">(5)</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>SHOULD</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Decrypted POP</td>
              <td align="left" colspan="1" rowspan="1">(4)</td>
              <td align="left" colspan="1" rowspan="1">(5)</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>SHOULD</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">RA POP Witness</td>
              <td align="left" colspan="1" rowspan="1">N/A</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>SHOULD</bcp14></td>
              <td align="left" colspan="1" rowspan="1">(1)</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Get Certificate</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>OPTIONAL</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>OPTIONAL</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>OPTIONAL</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Get CRL</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>OPTIONAL</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>OPTIONAL</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>OPTIONAL</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Revocation Request</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>SHOULD</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>SHOULD</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Registration Info</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>SHOULD</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>SHOULD</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>SHOULD</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Response Information</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>SHOULD</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>SHOULD</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>SHOULD</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Query Pending</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Confirm Cert.  Acceptance</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Publish Trust Anchors</td>
              <td align="left" colspan="1" rowspan="1">(3)</td>
              <td align="left" colspan="1" rowspan="1">(3)</td>
              <td align="left" colspan="1" rowspan="1">(3)</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Authenticated Data</td>
              <td align="left" colspan="1" rowspan="1">(3)</td>
              <td align="left" colspan="1" rowspan="1">(3)</td>
              <td align="left" colspan="1" rowspan="1">(3)</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Batch Request</td>
              <td align="left" colspan="1" rowspan="1">N/A</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">(2)</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Batch Responses</td>
              <td align="left" colspan="1" rowspan="1">N/A</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">(2)</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Publication Information</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>OPTIONAL</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>OPTIONAL</bcp14></td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>OPTIONAL</bcp14></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Control Processed</td>
              <td align="left" colspan="1" rowspan="1">N/A</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">(2)</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">RA Identity Proof Witness</td>
              <td align="left" colspan="1" rowspan="1">N/A</td>
              <td align="left" colspan="1" rowspan="1">
                <bcp14>MUST</bcp14></td>
              <td align="left" colspan="1" rowspan="1">(2)</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Response Body</td>
              <td align="left" colspan="1" rowspan="1">(6)</td>
              <td align="left" colspan="1" rowspan="1">(6)</td>
              <td align="left" colspan="1" rowspan="1">N/A</td>
            </tr>
          </tbody>
        </table>
        <t indent="0" pn="section-5.2-3">Notes:</t>
        <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-5.2-4"><li pn="section-5.2-4.1" derivedCounter="1.">
            <t indent="0" pn="section-5.2-4.1.1">CAs <bcp14>SHOULD</bcp14> implement this control if designed to work with RAs.</t>
          </li>
          <li pn="section-5.2-4.2" derivedCounter="2.">
            <t indent="0" pn="section-5.2-4.2.1">CAs <bcp14>MUST</bcp14> implement this control if designed to work with RAs.</t>
          </li>
          <li pn="section-5.2-4.3" derivedCounter="3.">
            <t indent="0" pn="section-5.2-4.3.1">Implementation is <bcp14>OPTIONAL</bcp14> for these controls.  We strongly
suggest that they be implemented in order to populate client
trust anchors.</t>
          </li>
          <li pn="section-5.2-4.4" derivedCounter="4.">
            <t indent="0" pn="section-5.2-4.4.1">EEs only need to implement this if (a) they support key agreement
algorithms or (b) they need to operate in environments where the
hardware keys cannot provide POP.</t>
          </li>
          <li pn="section-5.2-4.5" derivedCounter="5.">
            <t indent="0" pn="section-5.2-4.5.1">RAs <bcp14>SHOULD</bcp14> implement this if they implement RA POP Witness.</t>
          </li>
          <li pn="section-5.2-4.6" derivedCounter="6.">
            <t indent="0" pn="section-5.2-4.6.1">EEs <bcp14>SHOULD</bcp14> implement this if designed to work with RAs and <bcp14>MUST</bcp14>
implement if intended to be used in environments where RAs are
used for identity validation or key generation.  RAs <bcp14>SHOULD</bcp14>
implement and validate responses for consistency.</t>
          </li>
        </ol>
        <t indent="0" pn="section-5.2-5">Strong consideration should be given to implementing the Authenticated
Data and Publish Trust Anchors controls as this gives a simple method
for distributing trust anchors to clients without user
intervention.</t>
      </section>
      <section anchor="crmf-feature-requirements" numbered="true" removeInRFC="false" toc="include" pn="section-5.3">
        <name slugifiedName="name-crmf-feature-requirements">CRMF Feature Requirements</name>
        <t indent="0" pn="section-5.3-1">The following additional restrictions are placed on CRMF features:</t>
        <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-5.3-2">
          <li pn="section-5.3-2.1">The registration control tokens <tt>id-regCtrl-regToken</tt> and <tt>id-regCtrl-authToken</tt> <bcp14>MUST NOT</bcp14> be used.  No specific CMC feature is used to
replace these items, but generally the CMC control's identification
and <tt>identityProof</tt> will perform the same service and are more
	specifically defined.</li>
          <li pn="section-5.3-2.2">The control token <tt>id-regCtrl-pkiArchiveOptions</tt> <bcp14>SHOULD NOT</bcp14> be
supported.  See <xref target="RFC10002" sectionFormat="of" section="3.2.1.3.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc10002#section-3.2.1.3.3" derivedContent="CMC-STRUCT"/> and <xref target="RFC10002" sectionFormat="of" section="3.2.1.3.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc10002#section-3.2.1.3.3" derivedContent="CMC-STRUCT"/> for alternative methods.</li>
          <li pn="section-5.3-2.3">The behavior of <tt>id-regCtrl-oldCertID</tt> is not presently used.  It is
replaced by issuing the new certificate and using the <tt>id-cmc-publishCert</tt> to remove the old certificate from publication.  This
operation would not normally be accompanied by an immediate
revocation of the old certificate; however, that can be accomplished
by the <tt>id-cmc-revokeRequest</tt> control.</li>
          <li pn="section-5.3-2.4">The <tt>id-regCtrl-protocolEncrKey</tt> is not used.</li>
        </ul>
      </section>
    </section>
    <section anchor="requirements-for-clients" numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-requirements-for-clients">Requirements for Clients</name>
      <t indent="0" pn="section-6-1">There are no additional requirements.</t>
    </section>
    <section anchor="requirements-for-servers" numbered="true" removeInRFC="false" toc="include" pn="section-7">
      <name slugifiedName="name-requirements-for-servers">Requirements for Servers</name>
      <t indent="0" pn="section-7-1">There are no additional requirements.</t>
    </section>
    <section anchor="requirements-for-ees" numbered="true" removeInRFC="false" toc="include" pn="section-8">
      <name slugifiedName="name-requirements-for-ees">Requirements for EEs</name>
      <t indent="0" pn="section-8-1">If an EE implements Diffie-Hellman, it <bcp14>MUST</bcp14> implement either the
DH POP Proof-of-Possession as defined in <xref section="4" sectionFormat="of" target="RFC6955" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6955#section-4" derivedContent="DH-POP"/> or the
challenge-response POP controls <tt>id-cmc-encryptedPOP</tt> and <tt>id-cmc-decryptedPOP</tt>.</t>
    </section>
    <section anchor="requirements-for-ras" numbered="true" removeInRFC="false" toc="include" pn="section-9">
      <name slugifiedName="name-requirements-for-ras">Requirements for RAs</name>
      <t indent="0" pn="section-9-1">RAs <bcp14>SHOULD</bcp14> be able to do delegated POP.  RAs implementing this
feature <bcp14>MUST</bcp14> implement the <tt>id-cmc-lraPOPWitness</tt> control.</t>
      <t indent="0" pn="section-9-2">All RAs <bcp14>MUST</bcp14> implement the promotion of the <tt>id-aa-cmc-unsignedData</tt> as
covered in <xref section="3.2.3" sectionFormat="of" target="RFC10002" format="default" derivedLink="https://rfc-editor.org/rfc/rfc10002#section-3.2.3" derivedContent="CMC-STRUCT"/>.</t>
    </section>
    <section anchor="requirements-for-cas" numbered="true" removeInRFC="false" toc="include" pn="section-10">
      <name slugifiedName="name-requirements-for-cas">Requirements for CAs</name>
      <t indent="0" pn="section-10-1">Providing for CAs to work in an environment with RAs is strongly
suggested.  Implementation of such support is strongly suggested as
this permits the delegation of substantial administrative interaction
onto an RA rather than at the CA.</t>
      <t indent="0" pn="section-10-2">CAs <bcp14>MUST</bcp14> perform at least minimal checks on all public keys before
issuing a certificate.  At a minimum, a check for syntax would occur
with the POP operation.  Additionally, CAs <bcp14>SHOULD</bcp14> perform simple
checks for known bad keys such as small subgroups for DSA-SHA1 and DH
keys <xref target="RFC2785" format="default" sectionFormat="of" derivedContent="SMALL-SUB-GROUP"/> or known bad exponents for RSA keys.</t>
      <t indent="0" pn="section-10-3">CAs <bcp14>MUST</bcp14> enforce POP checking before issuing any certificate.  CAs
      <bcp14>MAY</bcp14> delegate the POP operation to an RA for those cases where:</t>
      <ol spacing="compact" indent="adaptive" start="1" type="1" pn="section-10-4">
	<li pn="section-10-4.1" derivedCounter="1.">a
	challenge/response message pair must be used,</li>
        <li pn="section-10-4.2" derivedCounter="2.">an RA performs
	escrow of a key and checks for POP in that manner, or</li>
        <li pn="section-10-4.3" derivedCounter="3.">an unusual
algorithm is used and that validation is done at the RA.</li>
      </ol>
      <t indent="0" pn="section-10-5">CAs <bcp14>SHOULD</bcp14> implement both the DH-POP Proof-of-Possession as defined
in <xref section="4" sectionFormat="of" target="RFC6955" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6955#section-4" derivedContent="DH-POP"/> and the challenge-response POP controls <tt>id-cmc-encryptedPOP</tt> and <tt>id-cmc-decryptedPOP</tt>.</t>
    </section>
    <section anchor="security-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-11">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-11-1">This document uses <xref target="RFC10002" format="default" sectionFormat="of" derivedContent="CMC-STRUCT"/> and <xref target="RFC10003" format="default" sectionFormat="of" derivedContent="CMC-TRANS"/> as building blocks.  The security sections of those two documents are
included by reference.</t>
      <t indent="0" pn="section-11-2">Knowledge of how an entity is expected to operate is vital in
determining which sections of requirements are applicable to that
entity.  Care needs to be taken in determining which sections apply
and fully implementing the necessary code.</t>
      <t indent="0" pn="section-11-3">Cryptographic algorithms have and will be broken or weakened.
Implementers and users need to check that the cryptographic
algorithms listed in this document make sense from a security level.
The IETF from time to time may issue documents dealing with the
current state of the art.  Two examples of such documents are
<xref target="RFC2785" format="default" sectionFormat="of" derivedContent="SMALL-SUB-GROUP"/> and <xref target="RFC4270" format="default" sectionFormat="of" derivedContent="HASH-ATTACKS"/>.</t>
    </section>
    <section anchor="iana-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-12">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-12-1">This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <displayreference target="RFC5652" to="CMS"/>
    <displayreference target="RFC5754" to="CMS-ALG2"/>
    <displayreference target="RFC9879" to="PBKDF2"/>
    <displayreference target="RFC2785" to="SMALL-SUB-GROUP"/>
    <displayreference target="RFC3565" to="CMS-AES"/>
    <displayreference target="RFC5084" to="CMS-AES-AE"/>
    <displayreference target="RFC2631" to="CMS-DH"/>
    <displayreference target="RFC3394" to="AES-WRAP"/>
    <displayreference target="RFC4270" to="HASH-ATTACKS"/>
    <displayreference target="RFC10003" to="CMC-TRANS"/>
    <displayreference target="RFC2986" to="PKCS10"/>
    <displayreference target="RFC10002" to="CMC-STRUCT"/>
    <displayreference target="RFC4211" to="CRMF"/>
    <displayreference target="RFC6402" to="CMC-Updates"/>
    <displayreference target="RFC6955" to="DH-POP"/>
    <displayreference target="RFC5274" to="CMC-COMPv1"/>
    <displayreference target="RFC6268" to="HMAC-ALGS"/>
    <references anchor="sec-combined-references" pn="section-13">
      <name slugifiedName="name-references">References</name>
      <references anchor="sec-normative-references" pn="section-13.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC3394" target="https://www.rfc-editor.org/info/rfc3394" quoteTitle="true" derivedAnchor="AES-WRAP">
          <front>
            <title>Advanced Encryption Standard (AES) Key Wrap Algorithm</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="October" year="2002"/>
            <abstract>
              <t indent="0">The purpose of this document is to make the AES Key Wrap algorithm 
conveniently available to the Internet community. The United States 
of America has adopted AES as the new encryption standard. The AES 
Key Wrap algorithm will probably be adopted by the USA for 
encryption of AES keys. The authors took most of the text in this 
document from the draft AES Key Wrap posted by NIST.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3394"/>
          <seriesInfo name="DOI" value="10.17487/RFC3394"/>
        </reference>
        <reference anchor="RFC10002" target="https://www.rfc-editor.org/info/rfc10002" quoteTitle="true" derivedAnchor="CMC-STRUCT">
          <front>
            <title>Certificate Management over CMS (CMC)</title>
            <author initials="J." surname="Mandel" fullname="Joe Mandel" role="editor">
              <organization showOnFrontPage="true">AKAYLA, Inc.</organization>
            </author>
            <author initials="S." surname="Turner" fullname="Sean Turner" role="editor">
              <organization showOnFrontPage="true">sn3rd</organization>
            </author>
            <date month="July" year="2026"/>
          </front>
          <seriesInfo name="RFC" value="10002"/>
          <seriesInfo name="DOI" value="10.17487/RFC10002"/>
        </reference>
        <reference anchor="RFC10003" target="https://www.rfc-editor.org/info/rfc10003" quoteTitle="true" derivedAnchor="CMC-TRANS">
          <front>
            <title>Certificate Management over CMS (CMC): Transport Protocols</title>
            <author initials="J." surname="Mandel" fullname="Joe Mandel" role="editor">
              <organization showOnFrontPage="true">AKAYLA, Inc.</organization>
            </author>
            <author initials="S." surname="Turner" fullname="Sean Turner" role="editor">
              <organization showOnFrontPage="true">sn3rd</organization>
            </author>
            <date month="July" year="2026"/>
          </front>
          <seriesInfo name="RFC" value="10003"/>
          <seriesInfo name="DOI" value="10.17487/RFC10003"/>
        </reference>
        <reference anchor="RFC5652" target="https://www.rfc-editor.org/info/rfc5652" quoteTitle="true" derivedAnchor="CMS">
          <front>
            <title>Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="September" year="2009"/>
            <abstract>
              <t indent="0">This document describes the Cryptographic Message Syntax (CMS). This syntax is used to digitally sign, digest, authenticate, or encrypt arbitrary message content. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="70"/>
          <seriesInfo name="RFC" value="5652"/>
          <seriesInfo name="DOI" value="10.17487/RFC5652"/>
        </reference>
        <reference anchor="RFC3565" target="https://www.rfc-editor.org/info/rfc3565" quoteTitle="true" derivedAnchor="CMS-AES">
          <front>
            <title>Use of the Advanced Encryption Standard (AES) Encryption Algorithm in Cryptographic Message Syntax (CMS)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="July" year="2003"/>
            <abstract>
              <t indent="0">This document specifies the conventions for using the Advanced Encryption Standard (AES) algorithm for encryption with the Cryptographic Message Syntax (CMS). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3565"/>
          <seriesInfo name="DOI" value="10.17487/RFC3565"/>
        </reference>
        <reference anchor="RFC5084" target="https://www.rfc-editor.org/info/rfc5084" quoteTitle="true" derivedAnchor="CMS-AES-AE">
          <front>
            <title>Using AES-CCM and AES-GCM Authenticated Encryption in the Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="November" year="2007"/>
            <abstract>
              <t indent="0">This document specifies the conventions for using the AES-CCM and the AES-GCM authenticated encryption algorithms with the Cryptographic Message Syntax (CMS) authenticated-enveloped-data content type. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5084"/>
          <seriesInfo name="DOI" value="10.17487/RFC5084"/>
        </reference>
        <reference anchor="RFC5754" target="https://www.rfc-editor.org/info/rfc5754" quoteTitle="true" derivedAnchor="CMS-ALG2">
          <front>
            <title>Using SHA2 Algorithms with Cryptographic Message Syntax</title>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="January" year="2010"/>
            <abstract>
              <t indent="0">This document describes the conventions for using the Secure Hash Algorithm (SHA) message digest algorithms (SHA-224, SHA-256, SHA-384, SHA-512) with the Cryptographic Message Syntax (CMS). It also describes the conventions for using these algorithms with the CMS and the Digital Signature Algorithm (DSA), Rivest Shamir Adleman (RSA), and Elliptic Curve DSA (ECDSA) signature algorithms. Further, it provides SMIMECapabilities attribute values for each algorithm. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5754"/>
          <seriesInfo name="DOI" value="10.17487/RFC5754"/>
        </reference>
        <reference anchor="RFC2631" target="https://www.rfc-editor.org/info/rfc2631" quoteTitle="true" derivedAnchor="CMS-DH">
          <front>
            <title>Diffie-Hellman Key Agreement Method</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="June" year="1999"/>
            <abstract>
              <t indent="0">This document standardizes one particular Diffie-Hellman variant, based on the ANSI X9.42 draft, developed by the ANSI X9F1 working group. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2631"/>
          <seriesInfo name="DOI" value="10.17487/RFC2631"/>
        </reference>
        <reference anchor="RFC4211" target="https://www.rfc-editor.org/info/rfc4211" quoteTitle="true" derivedAnchor="CRMF">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="September" year="2005"/>
            <abstract>
              <t indent="0">This document describes the Certificate Request Message Format (CRMF) syntax and semantics. This syntax is used to convey a request for a certificate to a Certification Authority (CA), possibly via a Registration Authority (RA), for the purposes of X.509 certificate production. The request will typically include a public key and the associated registration information. This document does not define a certificate request protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4211"/>
          <seriesInfo name="DOI" value="10.17487/RFC4211"/>
        </reference>
        <reference anchor="RFC6955" target="https://www.rfc-editor.org/info/rfc6955" quoteTitle="true" derivedAnchor="DH-POP">
          <front>
            <title>Diffie-Hellman Proof-of-Possession Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="H. Prafullchandra" initials="H." surname="Prafullchandra"/>
            <date month="May" year="2013"/>
            <abstract>
              <t indent="0">This document describes two methods for producing an integrity check value from a Diffie-Hellman key pair and one method for producing an integrity check value from an Elliptic Curve key pair. This behavior is needed for such operations as creating the signature of a Public-Key Cryptography Standards (PKCS) #10 Certification Request. These algorithms are designed to provide a Proof-of-Possession of the private key and not to be a general purpose signing algorithm.</t>
              <t indent="0">This document obsoletes RFC 2875.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6955"/>
          <seriesInfo name="DOI" value="10.17487/RFC6955"/>
        </reference>
        <reference anchor="RFC6268" target="https://www.rfc-editor.org/info/rfc6268" quoteTitle="true" derivedAnchor="HMAC-ALGS">
          <front>
            <title>Additional New ASN.1 Modules for the Cryptographic Message Syntax (CMS) and the Public Key Infrastructure Using X.509 (PKIX)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="July" year="2011"/>
            <abstract>
              <t indent="0">The Cryptographic Message Syntax (CMS) format, and many associated formats, are expressed using ASN.1. The current ASN.1 modules conform to the 1988 version of ASN.1. This document updates some auxiliary ASN.1 modules to conform to the 2008 version of ASN.1; the 1988 ASN.1 modules remain the normative version. There are no bits- on-the-wire changes to any of the formats; this is simply a change to the syntax. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6268"/>
          <seriesInfo name="DOI" value="10.17487/RFC6268"/>
        </reference>
        <reference anchor="RFC9879" target="https://www.rfc-editor.org/info/rfc9879" quoteTitle="true" derivedAnchor="PBKDF2">
          <front>
            <title>Use of Password-Based Message Authentication Code 1 (PBMAC1) in PKCS #12 Syntax</title>
            <author fullname="A. Kario" initials="A." surname="Kario"/>
            <date month="September" year="2025"/>
            <abstract>
              <t indent="0">This document specifies additions and amendments to RFCs 7292 and 8018. It also obsoletes the RFC 9579. It defines a way to use the Password-Based Message Authentication Code 1 (PBMAC1), defined in RFC 8018, inside the PKCS #12 syntax. The purpose of this specification is to permit the use of more modern Password-Based Key Derivation Functions (PBKDFs) and allow for regulatory compliance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9879"/>
          <seriesInfo name="DOI" value="10.17487/RFC9879"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="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 indent="0">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" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="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 indent="0">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" pn="section-13.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RFC5274" target="https://www.rfc-editor.org/info/rfc5274" quoteTitle="true" derivedAnchor="CMC-COMPv1">
          <front>
            <title>Certificate Management Messages over CMS (CMC): Compliance Requirements</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="M. Myers" initials="M." surname="Myers"/>
            <date month="June" year="2008"/>
            <abstract>
              <t indent="0">This document provides a set of compliance statements about the CMC (Certificate Management over CMS) enrollment protocol. The ASN.1 structures and the transport mechanisms for the CMC enrollment protocol are covered in other documents. This document provides the information needed to make a compliant version of CMC. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5274"/>
          <seriesInfo name="DOI" value="10.17487/RFC5274"/>
        </reference>
        <reference anchor="RFC6402" target="https://www.rfc-editor.org/info/rfc6402" quoteTitle="true" derivedAnchor="CMC-Updates">
          <front>
            <title>Certificate Management over CMS (CMC) Updates</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="November" year="2011"/>
            <abstract>
              <t indent="0">This document contains a set of updates to the base syntax for CMC, a Certificate Management protocol using the Cryptographic Message Syntax (CMS). This document updates RFC 5272, RFC 5273, and RFC 5274.</t>
              <t indent="0">The new items in this document are: new controls for future work in doing server side key generation, definition of a Subject Information Access value to identify CMC servers, and the registration of a port number for TCP/IP for the CMC service to run on. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6402"/>
          <seriesInfo name="DOI" value="10.17487/RFC6402"/>
        </reference>
        <reference anchor="RFC4270" target="https://www.rfc-editor.org/info/rfc4270" quoteTitle="true" derivedAnchor="HASH-ATTACKS">
          <front>
            <title>Attacks on Cryptographic Hashes in Internet Protocols</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="B. Schneier" initials="B." surname="Schneier"/>
            <date month="December" year="2005"/>
            <abstract>
              <t indent="0">Recent announcements of better-than-expected collision attacks in popular hash algorithms have caused some people to question whether common Internet protocols need to be changed, and if so, how. This document summarizes the use of hashes in many protocols, discusses how the collision attacks affect and do not affect the protocols, shows how to thwart known attacks on digital certificates, and discusses future directions for protocol designers. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4270"/>
          <seriesInfo name="DOI" value="10.17487/RFC4270"/>
        </reference>
        <reference anchor="RFC2986" target="https://www.rfc-editor.org/info/rfc2986" quoteTitle="true" derivedAnchor="PKCS10">
          <front>
            <title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
            <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <date month="November" year="2000"/>
            <abstract>
              <t indent="0">This memo represents a republication of PKCS #10 v1.7 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process. The body of this document, except for the security considerations section, is taken directly from the PKCS #9 v2.0 or the PKCS #10 v1.7 document. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2986"/>
          <seriesInfo name="DOI" value="10.17487/RFC2986"/>
        </reference>
        <reference anchor="RFC2785" target="https://www.rfc-editor.org/info/rfc2785" quoteTitle="true" derivedAnchor="SMALL-SUB-GROUP">
          <front>
            <title>Methods for Avoiding the "Small-Subgroup" Attacks on the Diffie-Hellman Key Agreement Method for S/MIME</title>
            <author fullname="R. Zuccherato" initials="R." surname="Zuccherato"/>
            <date month="March" year="2000"/>
            <abstract>
              <t indent="0">This document will describe the situations relevant to implementations of S/MIME version 3 in which protection is necessary and the methods that can be used to prevent these attacks. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2785"/>
          <seriesInfo name="DOI" value="10.17487/RFC2785"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgements" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">Obviously, the authors would like to
      thank <contact fullname="Jim Schaad"/> and <contact fullname="Michael       Myers"/> for their work on <xref target="RFC5274" format="default" sectionFormat="of" derivedContent="CMC-COMPv1"/>.</t>
      <t indent="0" pn="section-appendix.a-2">Thank you to <contact fullname="Mike Bishop"/>, <contact fullname="Mohamed Boucadair"/>, and <contact fullname="Erik Kline"/> for
      reviewing the document and providing comments.</t>
      <t indent="0" pn="section-appendix.a-3">The Acknowledgments section from RFC 5274 follows:</t>
      <blockquote pn="section-appendix.a-4">
        <t indent="0" pn="section-appendix.a-4.1">The authors and the PKIX Working Group are grateful for
      the participation of <contact fullname="Xiaoyi Liu"/> and <contact fullname="Jeff Weinstein"/> in helping to author the original versions
      of this document.</t>
        <t indent="0" pn="section-appendix.a-4.2">The authors would like to thank <contact fullname="Brian LaMacchia"/>
      for his work in developing and writing up many of the concepts presented
      in this document.  The authors would also like to thank <contact fullname="Alex Deacon"/> and <contact fullname="Barb Fox"/> for their
      contributions.</t>
      </blockquote>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-contributors">Contributors</name>
      <contact initials="J." surname="Schaad" fullname="Jim Schaad">
        <organization showOnFrontPage="true">August Cellars</organization>
        <address>
      </address>
      </contact>
      <contact initials="M." surname="Myers" fullname="Michael Myers">
        <organization showOnFrontPage="true">TraceRoute Security, Inc.</organization>
        <address>
      </address>
      </contact>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="J." surname="Mandel" fullname="Joseph Mandel" role="editor">
        <organization showOnFrontPage="true">AKAYLA, Inc.</organization>
        <address>
          <email>joe@akayla.com</email>
        </address>
      </author>
      <author initials="S." surname="Turner" fullname="Sean Turner" role="editor">
        <organization showOnFrontPage="true">sn3rd</organization>
        <address>
          <email>sean@sn3rd.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
