<?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.39 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-rfc7030-csrattrs-06" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.14.0 -->
  <front>
    <title abbrev="CSRAttrs">Clarification of RFC7030 CSR Attributes definition</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-rfc7030-csrattrs-06"/>
    <author initials="M." surname="Richardson" fullname="Michael Richardson" role="editor">
      <organization>Sandelman Software Works</organization>
      <address>
        <email>mcr+ietf@sandelman.ca</email>
      </address>
    </author>
    <author initials="O." surname="Friel" fullname="Owen Friel">
      <organization>Cisco</organization>
      <address>
        <email>ofriel@cisco.com</email>
      </address>
    </author>
    <author initials="D." surname="von Oheimb" fullname="Dr. David von Oheimb">
      <organization>Siemens</organization>
      <address>
        <email>dev@ddvo.net</email>
      </address>
    </author>
    <author initials="D." surname="Harkins" fullname="Dan Harkins">
      <organization>The Industrial Lounge</organization>
      <address>
        <email>dharkins@lounge.org</email>
      </address>
    </author>
    <date year="2023" month="August" day="01"/>
    <area>Internet</area>
    <workgroup>LAMPS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 49?>

<t>The Enrollment over Secure Transport (EST, RFC7030) is ambiguous in its specification of the CSR Attributes Response. This has resulted in implementation challenges and implementor confusion.</t>
      <t>This document updates RFC7030 (EST) and clarifies
how the CSR Attributes Response can be used by an EST server to specify
both CSR attribute OIDs and also CSR attribute values,
in particular X.509 extension values,
that the server expects the client to include in subsequent CSR request.</t>
    </abstract>
  </front>
  <middle>
    <?line 59?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Enrollment over Secure Transport <xref target="RFC7030"/> (EST) has been used in a wide variety of applications.
In particular, <xref target="RFC8994"/> and <xref target="RFC8995"/> describe a way to use it in order to build out an autonomic control plane (ACP) <xref target="RFC8368"/>.</t>
      <t>The ACP requires that each node be given a very specific subjectAltName.
In the ACP specification, the solution was for the EST server to use
section 2.6 of <xref target="RFC7030"/> to convey to the EST client
the actual subjectAltName that will end up in its certificate.</t>
      <t>As a result of some implementation challenges, it came to light that this particular way of using the CSR attributes was not universally agreed upon, and it was suggested that it went contrary to section 2.6.</t>
      <t>Section 2.6 says that the CSR attributes "can provide additional
descriptive information that the EST server cannot access itself".
This is extended to describe how the EST server can provide values that it demands to use.</t>
      <t>After significant discussion, it has been determined that
<xref section="4.5" sectionFormat="of" target="RFC7030"/> specification is sufficiently difficult
to read and ambiguous to interpret that clarification is needed.</t>
      <t>This document motivates the different use cases, and provides additional worked out examples.</t>
      <t>Also, section 4.5.2 is extended to clarify the use of the existing ASN.1 syntax.
This covers all uses and is fully backward compatible with existing use.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" 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.
<?line -6?>
      </t>
    </section>
    <section anchor="csr-attributes-handling">
      <name>CSR Attributes Handling</name>
      <section anchor="extensions-to-rfc-7030-section-26">
        <name>Extensions to RFC 7030 section 2.6.</name>
        <t>Replace the second paragraph with the following text:</t>
        <artwork><![CDATA[
   These attributes can provide additional descriptive information that
   the EST server cannot access itself, such as the Media Access Control
   (MAC) address of an interface of the EST client. The EST server can also
   provide concrete values that it tells the client to include in the CSR,
   such as a specific X.509 Subject Alternative Name extension. Moreover,
   these attributes can indicate the type of the included public key
   or which crypto algorithms to use for the self-signature,
   such as a specific elliptic curve or a specific hash function that the client
   is expected to use when generating the CSR.
]]></artwork>
      </section>
      <section anchor="extensions-to-rfc-7030-section-452">
        <name>Extensions to RFC 7030 section 4.5.2.</name>
        <t>The ASN.1 syntax for CSR Attributes as defined in EST section 4.5.2 is as follows:</t>
        <artwork><![CDATA[
   CsrAttrs ::= SEQUENCE SIZE (0..MAX) OF AttrOrOID

   AttrOrOID ::= CHOICE (oid OBJECT IDENTIFIER, attribute Attribute }

   Attribute { ATTRIBUTE:IOSet } ::= SEQUENCE {
        type   ATTRIBUTE.&id({IOSet}),
        values SET SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{@type}) }
]]></artwork>
        <t>This remains unchanged, such that bits-on-the-wire compatibility is maintained.</t>
        <t>Key parts that were unclear were which OID to use in the 'type' field and
that the 'values' field can contain an entire sequence of X.509 extensions.</t>
        <t>The OID to use for such attributes in the 'type' field MUST be extensionRequest,
which has the numerical value 1.2.840.113549.1.9.14.
There MUST be only one such Attribute.</t>
        <t>The 'values' field of this attribute MUST contain a set with exactly one element,
and this element MUST by of type Extensions, as per <xref section="4.1" sectionFormat="of" target="RFC5280"/>:</t>
        <artwork><![CDATA[
   Extensions  ::=  SEQUENCE SIZE (1..MAX) OF Extension

   Extension  ::=  SEQUENCE  {
        extnID      OBJECT IDENTIFIER,
        critical    BOOLEAN DEFAULT FALSE,
        extnValue   OCTET STRING
                    -- contains the DER encoding of an ASN.1 value
                    -- corresponding to the extension type identified
                    -- by extnID
        }
]]></artwork>
        <t>An Extension comprises the OID of the specific X.509 extension (extnID),
optionally the 'critical' bit, and the extension value (extnValue).</t>
        <t>An Extensions structure, which is a sequence of elements of type Extension,
MUST NOT include more than one element with a particiular extnID.</t>
        <t>With this understanding, the needs of <xref target="RFC8994"/> and <xref target="RFC8995"/> are satisfied
with no change to the bits on the wire.</t>
      </section>
      <section anchor="alternative-use-of-csr-templates">
        <name>Alternative: Use of CSR templates</name>
        <t><xref section="B" sectionFormat="comma" target="RFC8295"/> suggests an alternative for the piecemeal specification of attributes that <xref target="RFC7030"/> documented.
Instead, a CSR object is returned with various fields filled out, and other fields waiting to be filled in.
This is also the method defined CMP Update <xref target="I-D.ietf-lamps-cmp-updates"/> and the Lightweight CMP profile <xref section="4.3.3" sectionFormat="comma" target="I-D.ietf-lamps-lightweight-cmp-profile"/>, which uses a CSR template in CRMF.</t>
        <artwork><![CDATA[
    CertificationRequestInfo ::= SEQUENCE {
        version       INTEGER { v1(0) } (v1,...),
        subject       Name,
        subjectPKInfo SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
        attributes    [0] Attributes{{ CRIAttributes }}
        }
]]></artwork>
        <t>The CertificationRequestInfo is included as a new Attribute in the CsrAttrs elements sequence.
 It has the type OID TBD.
 Legacy servers MAY continue to use the <xref target="RFC7030"/> style piecemeal attribute/value pairs, and MAY also include the template style described here.
 Clients which understand both MUST use the template only, and ignore all other CSRattrs elements.  Older clients will ignore this new element.</t>
        <t>The use of the CertificationRequestInfo avoids a useless fake signature in the CSR object.
The version code is always v1 (0). As shown in the example below, any empty values in the subject DN, and in any included X509v3 extensions are expected to be filled in by the client.</t>
        <t>The SubjectPublicKeyInfo field must be present, but it MUST have an empty bit string for the key, as the server does not know what key will be used.  The server MAY specify (in the OID), the type of the key to use, but otherwise the OID type MUST be NULL.</t>
      </section>
    </section>
    <section anchor="co-existence-with-existing-implementations">
      <name>Co-existence with existing implementations</name>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>Each example has a high-level (English) explanation of what is expected.
Some mapping back to the Attribute and Extension definitions above are included.
The base64 DER encoding is then shown.
The output of "dumpasn1" is then provided to detail what the contents are.</t>
      <section anchor="acpNodeName">
        <name>RFC8994/ACP subjectAltName with specific otherName</name>
        <t>A single subjectAltName extension is specified in a single Extension attribute.
This is what might be created by an <xref target="RFC8995"/> Registrar that is asking for <xref target="RFC8994"/> AcpNodeName format otherNames.</t>
        <section anchor="base64-encoded-example">
          <name>Base64 encoded example</name>
          <sourcecode type="base64" markers="true"><![CDATA[
MGQwYgYJKoZIhvcNAQkOMVUwUwYDVR0RAQH/BEmgRzBFBggr
BgEFBQcICgw5cmZjODk5NCtmZDczOWZjMjNjMzQ0MDExMjIz
MzQ0NTUwMDAwMDAwMCtAYWNwLmV4YW1wbGUuY29t
]]></sourcecode>
        </section>
        <section anchor="asn1-dump-output">
          <name>ASN.1 DUMP output</name>
          <t>There is a single subjectAltName Extension with an Attribute with Extension type.</t>
          <artwork><![CDATA[
    <30 64>
  0 100: SEQUENCE {
    <30 62>
  2  98:   SEQUENCE {
    <06 09>
  4   9:     OBJECT IDENTIFIER extensionRequest (1 2 840 113549 1 9 14)
       :       (PKCS #9 via CRMF)
    <31 55>
 15  85:     SET {
    <30 53>
 17  83:       SEQUENCE {
    <06 03>
 19   3:         OBJECT IDENTIFIER subjectAltName (2 5 29 17)
       :           (X.509 extension)
    <01 01>
 24   1:         BOOLEAN TRUE
    <04 49>
 27  73:         OCTET STRING
       :           A0 47 30 45 06 08 2B 06    .G0E..+.
       :           01 05 05 07 08 0A 0C 39    .......9
       :           72 66 63 38 39 39 34 2B    rfc8994+
       :           66 64 37 33 39 66 63 32    fd739fc2
       :           33 63 33 34 34 30 31 31    3c344011
       :           32 32 33 33 34 34 35 35    22334455
       :           30 30 30 30 30 30 30 30    00000000
       :           2B 40 61 63 70 2E 65 78    +@acp.ex
       :           61 6D 70 6C 65 2E 63 6F    ample.co
       :           6D                         m
       :         }
       :       }
       :     }
       :   }
]]></artwork>
        </section>
      </section>
      <section anchor="rfc7030-original-example">
        <name>RFC7030 original example</name>
        <t>In this example, taken from <xref target="RFC7030"/>, a few different attributes are included.</t>
        <section anchor="base64-encoded-example-1">
          <name>Base64 encoded example</name>
          <sourcecode type="base64" markers="true"><![CDATA[
MEEGCSqGSIb3DQEJBzASBgcqhkjOPQIBMQcGBSuBBAAiMBYG
CSqGSIb3DQEJDjEJBgcrBgEBAQEWBggqhkjOPQQDAw==
]]></sourcecode>
        </section>
        <section anchor="asn1-dump-output-1">
          <name>ASN.1 DUMP output</name>
          <ol spacing="normal" type="1"><li>The challengePassword attribute is included to indicate that the CSR should include this value.</li>
            <li>An ecPublicKey attribute is provided with the value secp384r1 to indicate what kind of key should be submitted.</li>
            <li>An extensionRequest container with an OID 1.3.6.1.1.1.1.22 (macAddress), but without a value, to indicate that the CSR should include an X.509v3 extension with this value.</li>
            <li>The ecdsaWithSHA384 OID is included to indicate what kind of hash is expected to be used for the self-signature of the PCKS#10 CSR structure.</li>
          </ol>
          <artwork><![CDATA[
    <30 41>
  0  65: SEQUENCE {
    <06 09>
  2   9:   OBJECT IDENTIFIER challengePassword (1 2 840 113549 1 9 7)
       :     (PKCS #9)
    <30 12>
 13  18:   SEQUENCE {
    <06 07>
 15   7:     OBJECT IDENTIFIER ecPublicKey (1 2 840 10045 2 1)
       :       (ANSI X9.62 public key type)
    <31 07>
 24   7:     SET {
    <06 05>
 26   5:       OBJECT IDENTIFIER secp384r1 (1 3 132 0 34)
       :         (SECG (Certicom) named elliptic curve)
       :       }
       :     }
    <30 16>
 33  22:   SEQUENCE {
    <06 09>
 35   9:     OBJECT IDENTIFIER extensionRequest (1 2 840 113549 1 9 14)
       :       (PKCS #9 via CRMF)
    <31 09>
 46   9:     SET {
    <06 07>
 48   7:       OBJECT IDENTIFIER '1 3 6 1 1 1 1 22'
       :       }
       :     }
    <06 08>
 57   8:   OBJECT IDENTIFIER ecdsaWithSHA384 (1 2 840 10045 4 3 3)
       :     (ANSI X9.62 ECDSA algorithm with SHA384)
       :   }
]]></artwork>
        </section>
      </section>
      <section anchor="est-server-requires-a-specific-subjectaltname-extension">
        <name>EST server requires a specific subjectAltName extension</name>
        <t>This example is the same as the previous one except that instead of the OID
for a macAddress, a subjectAltName is specified as the only Extension element.</t>
        <section anchor="base64-encoded-example-2">
          <name>Base64 encoded example</name>
          <sourcecode type="base64" markers="true"><![CDATA[
MGYGCSqGSIb3DQEJBzASBgcqhkjOPQIBMQcGBSuBBAAiMDsG
CSqGSIb3DQEJDjEuMCwGA1UdEQEB/wQioCAwHgYIKwYBBQUH
CAoMEnBvdGF0b0BleGFtcGxlLmNvbQYIKoZIzj0EAwM=
]]></sourcecode>
        </section>
        <section anchor="asn1-dump-output-2">
          <name>ASN.1 DUMP output</name>
          <ol spacing="normal" type="1"><li>The challengePassword attribute is included to indicate that the CSR should include this value.</li>
            <li>An ecPublicKey attribute is provided with the value secp384r1 to indicate what kind of key should be submitted.</li>
            <li>An extensionRequest container with a subjectAltName value containing the name potato@example.com</li>
            <li>The ecdsaWithSHA384 OID is included to indicate what kind of hash is expected to be used for the self-signature of the PCKS#10 CSR structure.</li>
          </ol>
          <artwork><![CDATA[
    <30 66>
  0 102: SEQUENCE {
    <06 09>
  2   9:   OBJECT IDENTIFIER challengePassword (1 2 840 113549 1 9 7)
       :     (PKCS #9)
    <30 12>
 13  18:   SEQUENCE {
    <06 07>
 15   7:     OBJECT IDENTIFIER ecPublicKey (1 2 840 10045 2 1)
       :       (ANSI X9.62 public key type)
    <31 07>
 24   7:     SET {
    <06 05>
 26   5:       OBJECT IDENTIFIER secp384r1 (1 3 132 0 34)
       :         (SECG (Certicom) named elliptic curve)
       :       }
       :     }
    <30 3B>
 33  59:   SEQUENCE {
    <06 09>
 35   9:     OBJECT IDENTIFIER extensionRequest (1 2 840 113549 1 9 14)
       :       (PKCS #9 via CRMF)
    <31 2E>
 46  46:     SET {
    <30 2C>
 48  44:       SEQUENCE {
    <06 03>
 50   3:         OBJECT IDENTIFIER subjectAltName (2 5 29 17)
       :           (X.509 extension)
    <01 01>
 55   1:         BOOLEAN TRUE
    <04 22>
 58  34:         OCTET STRING
       :           A0 20 30 1E 06 08 2B 06    . 0...+.
       :           01 05 05 07 08 0A 0C 12    ........
       :           70 6F 74 61 74 6F 40 65    potato@e
       :           78 61 6D 70 6C 65 2E 63    xample.c
       :           6F 6D                      om
       :         }
       :       }
       :     }
    <06 08>
 94   8:   OBJECT IDENTIFIER ecdsaWithSHA384 (1 2 840 10045 4 3 3)
       :     (ANSI X9.62 ECDSA algorithm with SHA384)
       :   }
]]></artwork>
        </section>
      </section>
      <section anchor="require-a-public-key-of-a-specific-size">
        <name>Require a public key of a specific size</name>
        <t>The CSR requires a public key of a specific size</t>
        <section anchor="base64-encoded-example-3">
          <name>Base64 encoded example</name>
          <sourcecode type="base64" markers="true"><![CDATA[
MCkGCSqGSIb3DQEJBzARBgkqhkiG9w0BAQExBAICEAAGCSqG
SIb3DQEBCw==
]]></sourcecode>
        </section>
        <section anchor="asn1-dump-output-3">
          <name>ASN.1 DUMP output</name>
          <ol spacing="normal" type="1"><li>Provide a CSR with an RSA key that's 4096 bits and sign it with sha256</li>
          </ol>
          <artwork><![CDATA[
    <30 29>
  0  41: SEQUENCE {
    <06 09>
  2   9:   OBJECT IDENTIFIER challengePassword (1 2 840 113549 1 9 7)
       :     (PKCS #9)
    <30 11>
 13  17:   SEQUENCE {
    <06 09>
 15   9:     OBJECT IDENTIFIER rsaEncryption (1 2 840 113549 1 1 1)
       :       (PKCS #1)
    <31 04>
 26   4:     SET {
    <02 02>
 28   2:       INTEGER 4096
       :       }
       :     }
    <06 09>
 32   9:   OBJECT IDENTIFIER sha256WithRSAEncryption (1 2 840 113549 1 1 11)
       :     (PKCS #1)
       :   }
]]></artwork>
        </section>
      </section>
      <section anchor="require-a-public-key-of-a-specific-curve">
        <name>Require a public key of a specific curve</name>
        <t>The CSR requires a public key with a specific curve</t>
        <section anchor="base64-encoded-example-4">
          <name>Base64 encoded example</name>
          <sourcecode type="base64" markers="true"><![CDATA[
MD0GCSqGSIb3DQEJBzASBgcqhkjOPQIBMQcGBSuBBAAiMBIGCSqGSIb3DQEJDjEFBgNVBAUGCCqGSM49BAMD
]]></sourcecode>
        </section>
        <section anchor="asn1-dump-output-4">
          <name>ASN.1 DUMP output</name>
          <t>Provide a CSR with an ECC key from p384, include your serial number, and
sign it with sha384.</t>
          <artwork><![CDATA[
    <30 3D>
  0  61: SEQUENCE {
    <06 09>
  2   9:   OBJECT IDENTIFIER challengePassword (1 2 840 113549 1 9 7)
       :     (PKCS #9)
    <30 12>
 13  18:   SEQUENCE {
    <06 07>
 15   7:     OBJECT IDENTIFIER ecPublicKey (1 2 840 10045 2 1)
       :       (ANSI X9.62 public key type)
    <31 07>
 24   7:     SET {
    <06 05>
 26   5:       OBJECT IDENTIFIER secp384r1 (1 3 132 0 34)
       :         (SECG (Certicom) named elliptic curve)
       :       }
       :     }
    <30 12>
 33  18:   SEQUENCE {
    <06 09>
 35   9:     OBJECT IDENTIFIER extensionRequest (1 2 840 113549 1 9 14)
       :       (PKCS #9 via CRMF)
    <31 05>
 46   5:     SET {
    <06 03>
 48   3:       OBJECT IDENTIFIER serialNumber (2 5 4 5)
       :         (X.520 DN component)
       :       }
       :     }
    <06 08>
 53   8:   OBJECT IDENTIFIER ecdsaWithSHA384 (1 2 840 10045 4 3 3)
       :     (ANSI X9.62 ECDSA algorithm with SHA384)
       :   }
]]></artwork>
        </section>
      </section>
      <section anchor="require-a-specific-extension">
        <name>Require a specific extension</name>
        <t>The CSR is required to have an EC key, to include a serial number,
a friendly name, favorite drink, and be signed with SHA512.</t>
        <section anchor="base64-encoded-example-5">
          <name>Base64 encoded example</name>
          <sourcecode type="base64" markers="true"><![CDATA[
MFQGCSqGSIb3DQEJBzASBgcqhkjOPQIBMQcGBSuBBAAjMCkG
CSqGSIb3DQEJDjEcBgNVBAUGCSqGSIb3DQEJFAYKCZImiZPy
LGQBBQYIKoZIzj0EAwQ=
]]></sourcecode>
        </section>
        <section anchor="asn1-dump-output-5">
          <name>ASN.1 DUMP output</name>
          <t>Provide a CSR with an EC key from sha521, include your serial number,
friendly name, and favorite drink, and sign it with sha512</t>
          <artwork><![CDATA[
    <30 54>
  0  84: SEQUENCE {
    <06 09>
  2   9:   OBJECT IDENTIFIER challengePassword (1 2 840 113549 1 9 7)
       :     (PKCS #9)
    <30 12>
 13  18:   SEQUENCE {
    <06 07>
 15   7:     OBJECT IDENTIFIER ecPublicKey (1 2 840 10045 2 1)
       :       (ANSI X9.62 public key type)
    <31 07>
 24   7:     SET {
    <06 05>
 26   5:       OBJECT IDENTIFIER secp521r1 (1 3 132 0 35)
       :         (SECG (Certicom) named elliptic curve)
       :       }
       :     }
    <30 29>
 33  41:   SEQUENCE {
    <06 09>
 35   9:     OBJECT IDENTIFIER extensionRequest (1 2 840 113549 1 9 14)
       :       (PKCS #9 via CRMF)
    <31 1C>
 46  28:     SET {
    <06 03>
 48   3:       OBJECT IDENTIFIER serialNumber (2 5 4 5)
       :         (X.520 DN component)
    <06 09>
 53   9:       OBJECT IDENTIFIER
       :         friendlyName (for PKCS #12) (1 2 840 113549 1 9 20)
       :         (PKCS #9 via PKCS #12)
    <06 0A>
 64  10:       OBJECT IDENTIFIER '0 9 2342 19200300 100 1 5'
       :       }
       :     }
    <06 08>
 76   8:   OBJECT IDENTIFIER ecdsaWithSHA512 (1 2 840 10045 4 3 4)
       :     (ANSI X9.62 ECDSA algorithm with SHA512)
       :   }
]]></artwork>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations from EST <xref target="RFC7030"/> section 6 are unchanged.</t>
      <section anchor="identity-and-privacy-considerations">
        <name>Identity and Privacy Considerations</name>
        <t>An EST server may use this mechanism to instruct the EST client about the identities it should include in the CSR it sends as part of enrollment.
The client may only be aware of its IDevID Subject, which includes a manufacturer serial number.
The EST server can use this mechanism to tell the client to include a specific fully qualified domain name in the CSR in order to complete domain ownership proofs required by the CA.
Additionally, the EST server may deem the manufacturer serial number in an IDevID as personally identifiable information, and may want to specify a new random opaque identifier that the pledge should use in its CSR.
This may be desirable if the CA and EST server have different operators.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>No requests are made to IANA.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Corey Bonnell crafted example02 using a different tool, and this helped debug other running code.</t>
    </section>
    <section anchor="changelog">
      <name>Changelog</name>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC7030">
          <front>
            <title>Enrollment over Secure Transport</title>
            <author fullname="M. Pritikin" initials="M." role="editor" surname="Pritikin"/>
            <author fullname="P. Yee" initials="P." role="editor" surname="Yee"/>
            <author fullname="D. Harkins" initials="D." role="editor" surname="Harkins"/>
            <date month="October" year="2013"/>
            <abstract>
              <t>This document profiles certificate enrollment for clients using Certificate Management over CMS (CMC) messages over a secure transport. This profile, called Enrollment over Secure Transport (EST), describes a simple, yet functional, certificate management protocol targeting Public Key Infrastructure (PKI) clients that need to acquire client certificates and associated Certification Authority (CA) certificates. It also supports client-generated public/private key pairs as well as key pairs generated by the CA.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7030"/>
          <seriesInfo name="DOI" value="10.17487/RFC7030"/>
        </reference>
        <reference anchor="RFC8994">
          <front>
            <title>An Autonomic Control Plane (ACP)</title>
            <author fullname="T. Eckert" initials="T." role="editor" surname="Eckert"/>
            <author fullname="M. Behringer" initials="M." role="editor" surname="Behringer"/>
            <author fullname="S. Bjarnason" initials="S." surname="Bjarnason"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>Autonomic functions need a control plane to communicate, which depends on some addressing and routing. This Autonomic Control Plane should ideally be self-managing and be as independent as possible of configuration. This document defines such a plane and calls it the "Autonomic Control Plane", with the primary use as a control plane for autonomic functions. It also serves as a "virtual out-of-band channel" for Operations, Administration, and Management (OAM) communications over a network that provides automatically configured, hop-by-hop authenticated and encrypted communications via automatically configured IPv6 even when the network is not configured or is misconfigured.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8994"/>
          <seriesInfo name="DOI" value="10.17487/RFC8994"/>
        </reference>
        <reference anchor="RFC8995">
          <front>
            <title>Bootstrapping Remote Secure Key Infrastructure (BRSKI)</title>
            <author fullname="M. Pritikin" initials="M." surname="Pritikin"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="T. Eckert" initials="T." surname="Eckert"/>
            <author fullname="M. Behringer" initials="M." surname="Behringer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document specifies automated bootstrapping of an Autonomic Control Plane. To do this, a Secure Key Infrastructure is bootstrapped. This is done using manufacturer-installed X.509 certificates, in combination with a manufacturer's authorizing service, both online and offline. We call this process the Bootstrapping Remote Secure Key Infrastructure (BRSKI) protocol. Bootstrapping a new device can occur when using a routable address and a cloud service, only link-local connectivity, or limited/disconnected networks. Support for deployment models with less stringent security requirements is included. Bootstrapping is complete when the cryptographic identity of the new key infrastructure is successfully deployed to the device. The established secure connection can be used to deploy a locally issued certificate to the device as well.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8995"/>
          <seriesInfo name="DOI" value="10.17487/RFC8995"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC8368">
          <front>
            <title>Using an Autonomic Control Plane for Stable Connectivity of Network Operations, Administration, and Maintenance (OAM)</title>
            <author fullname="T. Eckert" initials="T." role="editor" surname="Eckert"/>
            <author fullname="M. Behringer" initials="M." surname="Behringer"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>Operations, Administration, and Maintenance (OAM), as per BCP 161, for data networks is often subject to the problem of circular dependencies when relying on connectivity provided by the network to be managed for the OAM purposes.</t>
              <t>Provisioning while bringing up devices and networks tends to be more difficult to automate than service provisioning later on. Changes in core network functions impacting reachability cannot be automated because of ongoing connectivity requirements for the OAM equipment itself, and widely used OAM protocols are not secure enough to be carried across the network without security concerns.</t>
              <t>This document describes how to integrate OAM processes with an autonomic control plane in order to provide stable and secure connectivity for those OAM processes. This connectivity is not subject to the aforementioned circular dependencies.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8368"/>
          <seriesInfo name="DOI" value="10.17487/RFC8368"/>
        </reference>
        <reference anchor="RFC8295">
          <front>
            <title>EST (Enrollment over Secure Transport) Extensions</title>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="January" year="2018"/>
            <abstract>
              <t>The EST (Enrollment over Secure Transport) protocol defines the Well-Known URI (Uniform Resource Identifier) -- /.well-known/est -- along with a number of other path components that clients use for PKI (Public Key Infrastructure) services, namely certificate enrollment (e.g., /simpleenroll). This document defines a number of other PKI services as additional path components -- specifically, firmware and trust anchors as well as symmetric, asymmetric, and encrypted keys. This document also specifies the PAL (Package Availability List), which is an XML (Extensible Markup Language) file or JSON (JavaScript Object Notation) object that clients use to retrieve packages available and authorized for them. This document extends the EST server path components to provide these additional services.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8295"/>
          <seriesInfo name="DOI" value="10.17487/RFC8295"/>
        </reference>
        <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="17" month="February" 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-21"/>
        </reference>
      </references>
    </references>
    <?line 556?>



  </back>
  <!-- ##markdown-source:
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
ILSiaW0yVj+cafJ3YeCpWU37XxUP80FBSAAA

-->

</rfc>
