<?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-rfc2629 version 1.6.4 (Ruby 2.6.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-rfc7030-csrattrs-08" 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-08"/>
    <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="2024" month="March" day="03"/>
    <area>Internet</area>
    <workgroup>LAMPS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <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>
    <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 <xref target="X.680"/><xref target="X.690"/>.
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.</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="csrattrs">
        <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="csrtemplate">
        <name>Alternative: Use of CSR templates</name>
        <t><xref section="B" sectionFormat="comma" target="RFC8295"/> suggests an alternative that avoids the
piecemeal inclusion of attributes that <xref target="RFC7030"/> documented.
Instead, an entire CSR object is returned with various fields filled
out, and other fields waiting to be filled in, in a pKCS7PDU attribute.
In the suggested approach, the pKCS7PDU attribute includes a Full PKI
Data content type <xref target="RFC5272"/> and that in turn includes a CSR or CRMF
formatted request; see <xref target="RFC6268"/> Sections 5 and 9, respectively.</t>
        <t>The drawback to this approach, particularly for the CSR, is that some
required fields are "faked"; specifically, the <tt>signature</tt> field on
the CSR is faked with an empty big string. The avoid this drawback,
this specification defines the Certificate Request Information
Template attribute for CsrAttrs, see <xref target="csrattrs"/>, that is request
minus the useless signature wrapper as follows:</t>
        <artwork><![CDATA[
  aa-certificationRequestInfoTemplate ATTRIBUTE ::=
    { TYPE CertificationRequestInfoTemplate IDENTIFIED BY
      id-aa-certificationRequestInfoTemplate }

  id-aa-certificationRequestInfoTemplate OBJECT IDENTIFIER ::=
    { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
      smime(16) aa(2) TBD2 }

  CertificateRequestInfoTemplate ::= CertificationRequestInfo
]]></artwork>
        <t>The CertificationRequestInfoTemplate uses the CertificationRequestInfo
from <xref section="5" sectionFormat="comma" target="RFC5912"/> and is included here for convenience:</t>
        <artwork><![CDATA[
  CertificationRequestInfo ::= SEQUENCE {
    version       INTEGER { v1(0) } (v1,...),
    subject       Name,
    subjectPKInfo SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
    attributes    [0] Attributes{{ CRIAttributes }}
  }
]]></artwork>
        <t>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 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>
        <t>Each of the attributes has a single attribute value instance in the
values set.  Even though the syntax is defined as a set, there MUST
be exactly one instance of AttributeValue present.</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>IANA is asked to allocate two new Object Identifiers:</t>
      <ul spacing="normal">
        <li>One from the SMI Security for S/MIME Module Identifier (1.2.840.113549.1.9.16.0) registry at for the ASN.1 module; see <xref target="app-asn1-module"/>, and</li>
        <li>One from the SMI Security for S/MIME Attributes (1.2.840.113549.1.9.16.2) registry for the Certification Request Information Template attribute; see <xref target="csrtemplate"/> and <xref target="app-asn1-module"/>.</li>
      </ul>
    </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="RFC5272" target="https://www.rfc-editor.org/info/rfc5272">
          <front>
            <title>Certificate Management over CMS (CMC)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="M. Myers" initials="M." surname="Myers"/>
            <date month="June" year="2008"/>
            <abstract>
              <t>This document defines the base syntax for CMC, a Certificate Management protocol using the Cryptographic Message Syntax (CMS). This protocol addresses two immediate needs within the Internet Public Key Infrastructure (PKI) community:</t>
              <t>1. The need for an interface to public key certification products and services based on CMS and PKCS #10 (Public Key Cryptography Standard), and</t>
              <t>2. The need for a PKI enrollment protocol for encryption only keys due to algorithm or hardware design.</t>
              <t>CMC also requires the use of the transport document and the requirements usage document along with this document for a full definition. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5272"/>
          <seriesInfo name="DOI" value="10.17487/RFC5272"/>
        </reference>
        <reference anchor="RFC5280" target="https://www.rfc-editor.org/info/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="RFC5652" target="https://www.rfc-editor.org/info/rfc5652">
          <front>
            <title>Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="September" year="2009"/>
            <abstract>
              <t>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="RFC5911" target="https://www.rfc-editor.org/info/rfc5911">
          <front>
            <title>New ASN.1 Modules for Cryptographic Message Syntax (CMS) and S/MIME</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>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 those ASN.1 modules to conform to the 2002 version of ASN.1. 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="5911"/>
          <seriesInfo name="DOI" value="10.17487/RFC5911"/>
        </reference>
        <reference anchor="RFC5912" target="https://www.rfc-editor.org/info/rfc5912">
          <front>
            <title>New ASN.1 Modules for the Public Key Infrastructure Using X.509 (PKIX)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>The Public Key Infrastructure using X.509 (PKIX) certificate 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 those ASN.1 modules to conform to the 2002 version of ASN.1. 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="5912"/>
          <seriesInfo name="DOI" value="10.17487/RFC5912"/>
        </reference>
        <reference anchor="RFC6268" target="https://www.rfc-editor.org/info/rfc6268">
          <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>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="RFC7030" target="https://www.rfc-editor.org/info/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" target="https://www.rfc-editor.org/info/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" target="https://www.rfc-editor.org/info/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="X.680" target="https://www.itu.int/rec/T-REC-X.680">
          <front>
            <title>Information technology -- Abstract Syntax Notation One (ASN.1): Specification of basic notation</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation" value="X.680"/>
          <seriesInfo name="ISO/IEC" value="8824-1:2021"/>
        </reference>
        <reference anchor="X.690" target="https://www.itu.int/rec/T-REC-X.680">
          <front>
            <title>Information technology -- ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation" value="X.690"/>
          <seriesInfo name="ISO/IEC" value="8825-1:2021"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/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" target="https://www.rfc-editor.org/info/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" target="https://www.rfc-editor.org/info/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" target="https://www.rfc-editor.org/info/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>
      </references>
    </references>
    <section anchor="app-asn1-module">
      <name>ASN.1 Module</name>
      <aside>
        <t>RFC EDITOR: Please replace TBD1 and TBD2 with the value assigned by IANA
during the publication of [I-D.ietf-lamps-rfc7030-csrattrs].</t>
      </aside>
      <t>This appendix provides an ASN.1 module <xref target="X.680"/> for the Certification
Request Information Template attribute, and it follows the conventions
established in <xref target="RFC5911"/>, <xref target="RFC5912"/>, and <xref target="RFC6268"/>.</t>
      <sourcecode type="asn.1"><![CDATA[
CRITemplateModule
  { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
    pkcs-9(9) smime(16) modules(0) id-mod-critemplate(TBD1) }

DEFINITIONS IMPLICIT TAGS ::=

BEGIN

IMPORTS

ATTRIBUTE -- [RFC5911]
 FROM PKIX-CommonTypes-2009
   { iso(1) identified-organization(3) dod(6) internet(1) security(5)
     mechanisms(5) pkix(7) id-mod(0) id-mod-pkixCommon-02(57) }

CertificationRequestInfo -- [RFC5912]
  FROM PKCS-10
    { iso(1) identified-organization(3) dod(6) internet(1) security(5)
      mechanisms(5) pkix(7) id-mod(0) id-mod-pkcs10-2009(69) }

;

aa-certificationRequestInfoTemplate ATTRIBUTE ::=
  { TYPE CertificationRequestInfoTemplate IDENTIFIED BY
    id-aa-certificationRequestInfoTemplate }

id-aa-certificationRequestInfoTemplate OBJECT IDENTIFIER ::=
  { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
    smime(16) aa(2) TBD2 }

CertificationRequestInfoTemplate ::= CertificationRequestInfo

END
]]></sourcecode>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAQE5WUAA+1c/XLjRnL/H08x0VZlqbOIJcAPifL5YpCEtLwVKYmkbMtX
VzkQGJJYgQANgOJqVUrlRVKVZ8mj5EnS3TMDgCC1K3+c7UpZJ9+KwHz09Oev
e2ZYrVa1+1NW17TUTwN+yrqBE/sz33VSPwpZNGOjs+5xrV5j3fGIWWka+9N1
yhPm8Zkf+thIc6bTmMMg0AIbJJoXuaGzhMG82JmlVZ+ns2rgLFdJNZ65OFjV
TWIHm1ZrJ5qWpE7o/bsTRCF0SeM11zR/FdOfSWrWau2aqTkxd05ZP0x5HPJU
28xP2YU1uBqzb6P4zg/n7DyO1ivtbpM3qvZwdg1WcsqS1NO0lX/K4OcVc52Q
rRPOnDh2HljFnzEnCNgDTw5ZFLOFkyzYgsdcYyyN3FN8AX8mUZzGfJac0hCw
fGcdpAm0UO8fluI1ftScdbqI4lOtyvwQng10NvLdhRN7CTCMMcGeAT7iwfar
KIa1jYEjPFgCneNolm5g9bRQnIcvHT84ZUs3/gIZ+3WimuquA6/jCKXIPT+N
YjX7pc7OYp8H2cSXGx5mj2jCrp+4UT56NMOXX7v4VHejpRqpp7N7UIvLBfeX
02y4XqyznnPve9svxUp8vuRhgXCP33/tefeRjnLMh33roByTfExYe/6Mhpos
OAjXA6WIfSdgF9E6nPPCwAvR/OuAXujQR9PCKF6CKt/zU2gIqtw0j83sz5Oa
+rPVzJ62DSP/Uz1tma0T+Sfqr/zzpN1unDKre5V9bJ6yzmj8rg8PvtNbYnzQ
Iieec9DCRZquktM3bzabje6na90P0zcxd99MqiO7W6UOor0wxb/QBwZrnolV
AHNT7i7CKIjmDwwsV7y3psARx03Z+CFMnQ9sGKWi8WXIWcUaD3Xj8FS2Ha+4
u2XeUyfxXRbKLtRK6S7+XRWs709uqhN64DkpkGbWTKMKZolPEg66kvhApJqE
WrMRB8UB2Xs08inL1wctxpdv+nb3lJ2cmI2qcYrjCZ61fyWeIVcYD93IQ+8R
rwMOerjDnQ5xx1bNRtiMVTr26PBIDtR1wiiEHsFOqy60YmCcrOcnKTxf+8mC
ezvNetDsn8z29j62NxXbNV/xKrOSkzqqu1atVpkjlUvT0PzsEPxLAKOnLLrn
MRtzdw2+aRI7YbICB8kq9nhypMzkkPkJc5ZTf76O1gmYOvPBYyZlJqcwcCm6
jDgMFyZcB6OHMcAls5gn4HCBgTjMchWgW5F6Dt4zCDjYfEL8zt6CM3ejcLZO
oJGOC4ChIDatif71CnmaZPENKRfyckUIBDe+iDafoo4CyZRjLPHY9AE6MxgE
JYO8gcgglvqgTaN0QYM4ahB22e8Jap0giUrv7p1gzZMjEAxbOXHqu2ugCATZ
rLUZ/5CCO8VVq1bpwkmJSjkv/wCzYmSCR27g41qBFD90g7XHkXvJeprwH9b4
AueN8e8k1YW8l77nBRCBX2EcjSNv7ZJf0D4r+cdHycmnJ8lLlNqU81DwByZ2
2Mb3cHmguekDit5ZrQKpCYmu9YvrPRIjoo+FEZFT6nMTPns8cYFbHMeEGA4L
xIDupzhNFHuC/dO1H3gsWqcoGTCvKIyWYM6gE7CygK0Chxxk9+pQjg1q//Sk
C1WHx8QaHxSPEY+54y7AU8IKYN45WAuuCHjxkKk0svY9MN8K0iFEMVpRKsfa
UvsjIbAoWJMCb4BTYIP0cFuDYFVawkkGzNRbyLMio6EFrOaeEwdUbyF0DT+C
4a7BNW2TJVaz8QHzgJsAQ1CW6XJgPpEIpGsW6Ke0Opw2iaDns4Z3hLx3afCI
Bf58kTKpl2BzBSVGYcFgYJLgAZVpOblpIScgGLF1CPyNExgezGoec450It/I
wFNql6znMDO6BJoKn6J6knidmFhSYB2saFxgZOI8JCwznRIVB2jYqzi6R3V1
PI9wrhNoQutW6CmZX4wwapyC8GAIXIjjujxJkL08mB3owgnBL9mxh7RHuTIr
f7M9TEaJsPhstR4An9BLpJqgxGaAfFniz0OSIvDCAwC3ThLSOOiRWaTHoeXS
DyXvtMdHxZuG3iygflCxbXftI9tn8BFVDGTj+fgBVEQDKgCje8KnZT6fPA/M
tYq51Ah3K8GA8UIQLvd2/PMyAjaTh0aO4DwAydFvk99NUOVwKsmbpCAmtgGo
zIXh8w8OqmyC3AFHe5RpBKxTN8uCELQ90Iw4jwxO/IOI4BI1JAJmPT4S+nh6
oj/aNfQctAQXHWRCOQUMImMSGPgalXnquHeA5yHKRMsV8GAacDBFCA/ZJEKW
r9iEJES4RXikOzBzWBpI/GBwM54cHIl/2fCS/h7Z1zf9kd3Dv8dvrYuL7A9N
thi/vby56OV/5T27l4OBPeyJzvCUbT3SDgbW7YHg98Hl1aR/ObQuDtBrpFsi
wzQF3S7PZQ58dRJNKThFgU736n/+22gA//4FtMw0jDZomfhwYhyjs98suLT0
KASWiY8giAcN4gUHL4KxBLjrOis/hfgJbUEtwXhCytuAe8C+Usx+C8MFwF54
9YrZKoiSgsLEjCDAtrcYcQgQLpehFbyKh44MnJGzWgiR4ZsZRMVoQ94MNAlA
03/AD8ItkBimmDkF+30K+5RPwXFe4FZAq9cQmhxhKgNI/hxmiQZdEetwoMrA
6h7izDG+wOAbCjnNcJVS1fP4oVO+VfJECFZwLLUO4IqLUi67ppQHwScQiHS5
hKEV6U4eRQXSGYugxSBqQT5P8JRR+MogkM4GUczR2o4kp3Y57oceBTSaM31Y
ZSuV5IBQ11PAIGhdOAhE4c0C8nHmxg8roNoJ5lEMwl4qP5sFauR8FZ2tkwIS
em4twAgULqCONXARhy+8pFLDbB2621FEBnAYkPwTwjnhn3B6tAY25yGPnbQQ
RHWheC/QbvJ8Ont8pYowTxLwFJ0bLrJkQY4s+ggrFopR8qUEY9AeEmEIuIRu
ElNViJ2efsXG4KPsYddm4/73NqvUdH1gfXfILs9oossYULGGnbJP1Kv79rIP
fSqR77HLzl/t7oT1e/Zw0j/r26OjAnDOqGVP2TDi8yOzJpNRv3MzsU/7l2MI
Rk/bBD3KFIkJJWF5e/1ffa/ySJ2esrSPKY0f2xNaTMUorCXvOoHBVOfHr3Ho
p0MgjkRFwSLG6gVICpRg4QCS8qQxkzJMwb6rUVgFGVc3AESzoOEHPgBo6I6d
UweFAh7rHQQIxFrSDjfgC3HcAF0mfRCajWxVgFnY4msk7DWDnCegAJ7nFK/F
MtU7tCjEVw564BDgY4pUiWxCOJFSlpJINF2YE1VLGEquW/vooNg2LZj7SCQq
R5pYxkL6uxCCT0wZONHKDNDuk0ZNN4x6s9HWDR3+a2BoRg6oQSmwRAD/iZJM
TyS1pVWTx0D1ztSJhskYAQxIVRAHxC1H5gIpH2kYyKi/fCKJICBMypYbLEWy
FTjbIiAzJCDDgtXTU25ZBTsnXS5bV0Ejs6baVsdyv4IVANdDkBn97Npc1gxC
V0q8h5/O5eWFbQ1Zzz6zbi4m7My6GNtHWyN+QxKCEbsTtBswk+F51qD4A5mo
ZK8Qcs8e5dUaEbuEvyJJPT9EHFOuTt1kipRn0MR8CGMhZj3ce24UkJTgRtZA
GrAVFliJphn7icSrqO8y0JTCWj59RYwKPiVaCTAQCOj5WnH1NXoAgYS2KRea
XslYeqhvUwNwKI0hdcfAJK3ep7BUsFSpjcmuGh5pCldmQXsZxZQ3hkXVFjrv
yPzOpwRPrAnI+VYgJB9dG+TjVOQHKYjMFzF/kiWzz+T4CCcT8HYJCYfmCiMm
3KQSJnpIFgnvgR5SpwhYgAyn7EYAeYxmKYdkgHIKin7qIwSLx8d/w4nNdvOI
WQAygdYPrIPpj0gyEyohFJAIeUjnHkISCVxb+dwFpoAlEMsSWdsq+DjqUUze
FW5G390PIZF1vKOCV0WCIwGBKE6AMDH2Eh+whILpFfkn/AfScE+DhEfCZqAo
Vi83jp9K9QfHJ5oCkUeiIrN61x0fX/VuckqzqkWeXwPsjiPHXQjh7XZRaoIq
dgZpDrt619d6TuqQERP+QwWjxWMFXgpboEWYDFZWHIJWDvhjNDjTBCBGImSd
6ktQYjkUVuVhKOkpE9akUdtHWLVA0ARyCh6kS/diZ4O5l1AcNIZsTXl5AuxP
oTuEp8h3ohFrH5osBnmKr6ieBzMHMs2DL/MsGWxYcOkfGTT8hwojoaZqDZgO
Yk9pQSDz5QoCOmTNaLggLYG+Sb9kkiXpx3qfXy6iClwmPE83L+IwGTGL1XBt
IpW+ID0CexKmHUn2ZuDw6UjKKVES0CAtXScqSQ4wm8jWyjYx5mjxDhTEiOU4
1bzElAd0pC6jKsNOGJrI4T6yye2VXVjXMz2z8NRjnVvpqn2v+pJJCS2+sO1O
MCwQ6idRxThkS76c8rg6jbyHinkITKoAHjlkceJ4iV8RuOSQre7cBFvjv+1K
+1CSnCz9Ja8YLUjVHOw96fRMQWBBsvsII6T8DPUyOZhs6cczC1wnO5pUGmwW
R0tpzG3DPFIGyJrSrrHCpbIrQl0zUYm/56GP0SfXiOem2IfNsahCmIV++sOJ
fQ7Mf2T3RgWY+8Qq98aRrusSosuSp2yNeePWc3BQOI3MMa8oBQT4jA8fH5l4
a+WpH1iB2KPJ3Tn8/K3290KCBP26o34hYXp60iRUANZf8LnjPshcOmED65Z8
I1gSV8AYeV6MD0n6EIC3VYFFyyZ/I8L/yvFjWQXD4WgjQcVrynaVRMVAWRFG
oyIJ61KWmUh4kAdpRrsVhAAUVdlICJtpRg0MHiEBlmFEtAG3Rg4jwxU6wLwA
K/GumggrzrIfObGQbzTZWnppJWMXq+zopIMN1mnvDcgVD3VmqTKPzBdkdQ/i
GjgapOtBE45UJme+CmRCF3pDWT/G5OUh19HvAJfd1wtJCx432Eq8i4ET8WCe
pUvC9ymSdPvLNXhgGGAFUQnzAQYixBoJcXjhAJZwQk35/1T6/ywO3fGHI1XZ
kYUYL+KiSH4XRhsQHzhnKg0CgZrcjdKp/qQ6oHbIrShWkTy5ROC5UxS5o50E
DYYQZJJoN75UA0risLXKooY3FxfAABs3RuQIBQtZiEoIrCbg5d0t3PcHZXNV
CqpJiUEmBbTbuLeSLqL1XBTZZFHCzysQYmie0hJkXqdRspgnYNkUQFpmliID
kbKgOms3qlLtlXDxdil2e7sjwda2LCjLVSsNFGtd+PNFNeAAO1jFhmX7yeIQ
9Shwwmy3cyODqVIvXRvjzsoSwiZOmWOUYjkDtTZPNfKzNzDpNEINivOCFqW6
uK/PW43tvIngDHCWbEg0A8i4WtP+zoG3Xq6cJDQOsnayyif3KCAZCwT1pP0C
2BEMEqBbAvk3tNm1veFEXM3yIFIqev74ynFXQ7B1/AQxzlLaUuqfJz459FFb
irJHzp0CkFWbLUT1knalQEfcmDtptmNbzDhGfO7jdnecQR4nuVPWWExVrJxs
JqBVvqqE2PEKzw6gBIj7MJvUFBH6pHi0wfn15nZ++9d30ff9xb07tK7vLgff
3GxuNre9b0a1kXX99k3HXs5HHztnnfk81jpz+6xz7fa7803TXX7//rJ31xx2
0+X3Pffj5bffvx+8H74ffLyuDXr2h8H7/kcNPwwnN5tBzxL/dVPr9tvh5mL5
TeP2W2MzPb9Z35rtVISpx1PAuuvY5UhzdenEd+CQvzrAQ1kHxTd4RuerA+Bj
gJbiVkGMukSM//uf//UkGCAS9N7N4EqqmSaLMH7BL5QknYtRIePcCOiJvZW9
63m9nf25XmOtBh4AqTGjVjst4wd6b+J7k7H2CZ7jKreotVitjS0a8Kl9ur/4
sVOQYhUDhgSIxwS0YwaD/xoK0LFT+W/lChIn9qrN7n2HkptDSZfBmk2Y1Wgy
dtIUrbGsmJPdrOPrY3hdV4PtI51ateFT1mof+SWOV0zIm0wg+HiHYCK6VLWQ
NNcMVjNgOhM5ZeQdVA1oMrqxZcsGayBPTSD/uEjYnhJQcWKrxhrHDBbfaDJc
3AkzO/gH/OjnNVvXv9D3dUPCmvR7jH1qFqt1Wb1N3cRPe1+3Y5O1WqxVZ/UT
bI2/DZwQfuKZi1b/xb5u2KfB6kBnHfvIIUx8NfOO6+2Za+7rBq2xXR0nwd8a
Ax2AX3zl1huNmmHs7WbSb7FnE3/hxzTr0K/Z3Nuttv8XuSV/9nWD1YNKtwwk
9bjGTJu1muz4BF998TUaPP+wlyXQoYcdWl3sgN1gtWf4ihygTucMd7v12HM/
y932T+VHpQdbH5/yrRF12Adw/dzH3bfMK/flZqZ8ALgC8vOQ5amOAOWAxdiM
bwr70QXAsx2FXx4EbPu8O/7hfNyf1nvX9l87H61xZ+7+sLh7f3l13e8Mrt3z
znjd6ViWP+jcnmvFxr330GHuxhAYOta1/S1ECdnxGrz9V1/9JL8uT+lKamvG
i3y7IWoW2ZmQKydJcLu6WCYqJIa0I5jtzRXOYQA6WQdeIZOBXoQOgaUm5AAh
426Gs7cHzwBLtj0rwGbC3VX9pBEbW7MK5OyHVOBH5CtnnlJUWvopoTOtLuYs
O31ZngZ4rSIVwmNDr+st3ZD/M01WWTquJfZcDwWmxuZ0JkkQd/RiTsAU5IyL
qYpaaYFHDSEH7nqJg0XY8VsL1k7UPcf/LU7QpmRp41Edctu/96mw/1X33fiV
IY6KZ/XncohuGCJEg3PYDdFZAEYXSgF4N37tKti++FuOZir4HmaEGIgFjDqE
r2exwLGMyuz4WSxQUMWcjFoNgpbJjF0IYA3HffZdW2+ZhX1ngjI5GKBpKbAe
74ABpAqxgomBsKmG3RPkM40HquqwTBNYXt/FJEDS2O6eswpVYtxoeUjnr73S
vvVOv73+lrjaAuogPkFE+hTCoqj1ayIsmrXRymctMRV53jjJeb6PrNfIyhZM
Lv5nmq9fxhaCLzB+EyAQO9mv1WVzLSkThHpWL6t0QZnsbm9s5YcVhFsQQx0+
EwsLRzuyc47Oc0cZc5HIfWuV+PqyNIFtZJkCkut72p2graIPLl+lqtRPmxzK
XeBm/4wOROQ+EuNraeatlE9OQdu3eSqQF5Fennjdvjzm9pKdmLsedDfnlnHj
2dd2583m2o+61ubt/Lb/bnPb6VzfvNW6VjSww869d35Wm9Y6AT8/S93zD8HF
cng/vYaGkPJ9fF+zISX7I0j/WkG6rFtiZtlKnaZB/rIV3oiIvpbcpTswv/fI
2mqp5Nf8I7L+/4us9Y6MrM327yqymraMrI3WvtqF2ZWRtdH4XO2iiTnpr1e7
aCKnPle7MFGXm0B+vVEg7PO1C5NSbMPeqV2wmv6jahcGVRNk7WJvN8y1z9hx
A1Nv/P8zytupLKC82N5uJ/tzdfhRTm9von72bK4e/eRMPYNIbTTO3w1EGglc
hMckcpeCpzoKMMn/yOXGqrxLI4HUZ3q8GKh078pAZdSZ3wFQ8c/bmxrm/B86
Vr9rWxa102TDTvcnJv/yFuXL8cSVOtNMHFDJ8Ah4TQ4YAuDrBDSy3RKHdXAr
A+Mb3degfYGFYzZbpVhmtmWW2DB+41hmqFh2/Cmva3zS68aJY4d0oJjOfe0Q
YuwLaIIUoxC9Gio8NXajF0Qh9FQmpjCmGkNtkiP3X26HFEU+wVohMDREEPLn
1lVe2PayfpLJUdz8nM0pvFfq9HK769V+RFGuf17KD8468+E3HevmvNuF54NG
u2MNej/HHM0XmeN+W7S7XeIJFTMRvBxlwP0B5qOrpE6AB2mnPBbb+2ULhU5l
uFnvqULOb22if8BNIukXLuSYEm4+z9XfppDTVIWc3a0yBSSpkFP/FFNR4Yek
7wJENlhzH0sBQAKQ6w3pdG8U8jB9IQOzkg/iqd8hnsnvpxTrOtnhxOysI2So
8ogKzCcOoxSu8jgl16E5DL84IvSCB9K+IzZz7pE8PH/ph3fi+A2m7uBeVAUA
SG4a5o+p3Zxdv9Q1v0f4VK7duJlvLjw/s27fdb/vL/3vrx60i/PrTmerRnP9
s7BU/Wc579x3gyNumsYnvbdWEgAyfJ8Qyg4eRFDy7025lw4q+Yd//6f6d5Bp
yb/vdUa/rH8nhI3+vWH8rvy70ZX+3Tz57fx7tnzy3+1nZ9odUpmfqE9gVU8C
XvNwL3PM2j66iuzJ+ueUWUAZeEnQ309sVtRw9HoDtLtt1mr1Gqk7zNn8kbsW
x6jBLwhh4EH2hbCy8F8SwppqtawUwsTXTuDdt24EeufRJUg6mSeOO8qX7tZL
4Ttxu2PrdK08tNyibfvs+p04y9anS0HpA7nKq9i/x7O75Smtra/7WDoP8rws
XsvjOJyfLEW0FCXb0gVbPLq3Fg/FHaTUxyOrabm2nt+XpZccr/w74ksV6BpP
9sUc4kSfHBzJoV0S/I4M+gIpaIv5d7/H7/s9dWA1ux2U375YOuF65lCFuRRc
xASlK8H714wXgJ+5/1sAH+JK/A9rJxC7O16E9xlFAb647MJ3eqChBnjjWLaN
NiFE4IW/wn2FaFaALvKYbtfSNSu7bq1uZ5QE53G+pOfPL16cGlbsE9f0Enlp
S90hc/A2f+EStwi1OMHGEUxQx3AdPPzMYngNqhmtnB/WhZtocb7XAmv15lyp
hLyyiWKkK7+0E4fDT+l4tx8LAuRX6lji2Gi+UkJy+cmVaIW6HMV0YJH1raG1
o+L0UByDFGAQlhuJ3aBNREu4FEer+xnteN/jT/TVU2R2SMl40M8NF13i+M2g
P7DZIPLWQG/eF+8s7l7ebOl4eUIczcS9pGyvRGCoJY2irgU5q1UVT7FWxWM6
sQP57AspKpzef4YUs0BKdleoeIth36Ubtnvp5sv8nk12DU1dgdtZg/hGA8vF
A9+kEHTAXtO6UQygpBOFIZqbi993l4Pmmim/ZsUpyDyNokBdKMQvVuLBCu2O
T9dzeY4/Xoe0E4YwVpyPJscYRHNNfEMQnlAmcoj7UoaPr8pEa9qfHdQlhiDZ
AzP96mAKunN38BcNr6Tbvf7kcnTKrgIOqB54Kr5sYdLpGUQeXXsp7RACjBR5
A5g2aqbmrWO1aSdAWnbK+m/9ak//xBcP/l3X/vyG6PuL3NB21K2//BtFwi0N
y7/wY7/gtZcJPvsKG3k9Sp2mvkcjQKODIcCMxZeF+WF2z8ZAVc4u3Ui9Lt6D
k/UZ4FKoG1p31FdzCxFpP/WCEgVi/LuKt5QK95MEWxK8feN7KPYq3luVk1ZQ
knjVXevZZ/1hH780ZMz6g6uLfrc/YRPrfEwXp7SOfd4fgqcZXF2OJmOIqtkF
MNC1v8m1/11jZ6PLAV7M+a7ajZbLKMSb9UkVvx4SCcyWll/nrUbxHOLRRxJE
pX4IEcOrANm+/H5IbK0QQ0WhwyyIJfAIVu1/qByr5RUWii8EGdWaWWke00Kf
vcyUL8SEhaiVdMdVQxy8/KWIfzn1bmLUiHeVVpto/1LTfsrtvJ9+N+/lN/N+
5r28X+JW3nN38j677k/eydPsoSwJ/x/oezshhlUAAA==

-->

</rfc>
