<?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.35 (Ruby 3.1.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-rfc7030-csrattrs-03" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.3 -->
  <front>
    <title abbrev="CSRAttrs">Clarification of RFC7030 CSR Attributes definition</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-rfc7030-csrattrs-03"/>
    <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="June" day="15"/>
    <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 mention also values that the EST server 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 the 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 kind of enrollment request, 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 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</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>In each such Extensions sequence, an extnID OID MUST appear at most once.</t>
        <t>An Extension comprises of the OID of the specific X.509 extension (extnID),
optionally the 'critical' bit, and the extension value (extnValue).</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>
    <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 encode DER 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 included 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 extensionRequest with this value.</li>
            <li>The ecdsaWithSHA384 OID is included to indicate what kind of hash is expected to be used with the ecPublicKey provided.</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>A single subjectAltName extension is specified in a single Extension attribute.</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 included 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 with the ecPublicKey provided.</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>
    <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>TODO</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">
              <organization/>
            </author>
            <author fullname="S. Santesson" initials="S." surname="Santesson">
              <organization/>
            </author>
            <author fullname="S. Farrell" initials="S." surname="Farrell">
              <organization/>
            </author>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen">
              <organization/>
            </author>
            <author fullname="R. Housley" initials="R." surname="Housley">
              <organization/>
            </author>
            <author fullname="W. Polk" initials="W." surname="Polk">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="P. Yee" initials="P." role="editor" surname="Yee">
              <organization/>
            </author>
            <author fullname="D. Harkins" initials="D." role="editor" surname="Harkins">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="M. Behringer" initials="M." role="editor" surname="Behringer">
              <organization/>
            </author>
            <author fullname="S. Bjarnason" initials="S." surname="Bjarnason">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="M. Richardson" initials="M." surname="Richardson">
              <organization/>
            </author>
            <author fullname="T. Eckert" initials="T." surname="Eckert">
              <organization/>
            </author>
            <author fullname="M. Behringer" initials="M." surname="Behringer">
              <organization/>
            </author>
            <author fullname="K. Watsen" initials="K." surname="Watsen">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="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">
              <organization/>
            </author>
            <author fullname="M. Behringer" initials="M." surname="Behringer">
              <organization/>
            </author>
            <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>
      </references>
    </references>
    <?line 374?>

<section anchor="raw-der-for-examples">
      <name>Raw DER for examples</name>
      <t>This section contains Base64 versions of all examples that were decoded.</t>
      <section anchor="raw-rfc8994acp-subjectaltname-with-specific-othername">
        <name>Raw RFC8994/ACP subjectAltName with specific otherName</name>
        <t>example in <xref target="acpNodeName"/></t>
        <artwork><![CDATA[
MGQwYgYJKoZIhvcNAQkOMVUwUwYDVR0RAQH/BEmgRzBFBggrBgEFBQcICgw5cmZjODk5NCtmZDcz
OWZjMjNjMzQ0MDExMjIzMzQ0NTUwMDAwMDAwMCtAYWNwLmV4YW1wbGUuY29t
]]></artwork>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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
fpOKdV42ZyJqKj1Ix41tKqon7yywzsS9JP8NQfAu0NZOT3YEWOz0ljSQCX07
GTdrKhkjDDxPxnmqpWDJqfZ5pnpuSrsy7XbeytLsQU5IjbJ+rYFE9WLWP9L5
Vxy9mPVLHBdkVKtIT3VRe57srYvJUPxyYrbrYsWAbGFUtBRpn5flFHr0LO0T
VVQV1CnltTK0O9J5btqgqgE26xB543n1AZImg96Z2O/RGRg6vgM+pXe3tgSf
we2MrCzVNqhDJkLu+VYtxfnpj6yleNVmu1h1S6gk8+ZxIfNdZL0mUbaxuPpT
r7/+PrFwoQL8LRQ74ni3VW875pYxIamLxrZJl4xp0OtPLGH7c+SwZLFULqlQ
HbyQ9Uqb3vl5r/3SkW6hkv/7fux39EV3358S+/GzlJiOeuszq3brDq4G3R/X
V17Ys9bv5nfD9+u7bvfq9p3Rs8LRIOjeu2en1Wm168uz08Q5++KfLy/up1eY
iI7s66fqAB3Tv3LoH5ZDtw1NraxnZccLJGCxChM7Cd9q8fL9pj9P5mu3sza0
/q/M9/8v8zW6OvO1Tv5Uma8+0Jmv2d61i1Dv6czXbP7WLkKLusM/bhehRZL6
rV2EOtlyC+Q3miXCfnsXoc7Nbm3wbBdBVM3ftYtQ475e7yLsBKOu91QcNakJ
pn9PuYPmBj2LVzvBjnd3zfhk4W1ny3z6Ytcc/tM9c17CnJBz/jlKGOOVuoxH
5469EAbk8mkz78ffqNsMatDZGFTNOxU/5Qtl2cFxm9v1/OhT7WEP+WwmeeDt
9svIu7ed50taG5cgl/YDHy1yil1KQufFS5VkYhQHTnHJSd8dsKfU/dFLdRSU
eHQKmWx3e8W9Ah6UdC/KVlfNNs/81U6+Rk7k8AEj3RzkS8eYS4cew768RyLU
txAO9XmsXozqwaUdpDO6ThfRjSvJ93ODdDmVkVpg6+rEbp7posQL9yRKFae6
SvRravuqcHRDOktWib3MdummIx1R+XQzQ88N16ga4oW3oiQczuKssuVtfUZg
mYaVX0vxHw63b56QpFwpl/z+ZeaFOm7W4lOnpbE+7cqO8my6BVW67KLOvGiB
ta2EoO/JQgiBXIsIwzDNcGUj9BcHglFRxIFXdy4zk9DH5aRGvlvB5xqEHkqG
8rxIEaAvGlvqsKjgdGHfl6+bhSuy5TDigwoxtC6sZyZ+EWYXSdSu1tJ2+QiN
JjOU5XwOwjUTSSZIjjjuj/kwjf3JD+eGum5Lx1n0/tpe8yEUHaXI/AiNOclc
Mj+A1S0CXUNjRw7V7f4MrHTFwOWaW3svLfH7T6EMIzvC8+g0qHwi9aTrut97
TPOtUxpj1zHN7zul+V/MfVtP8TEAAA==

-->

</rfc>
