<?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.7.18 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-private-key-stmt-attr-07" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title abbrev="Statement of Private Key Possession">An Attribute for Statement of Possession of a Private Key</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-private-key-stmt-attr-07"/>
    <author initials="R." surname="Housley" fullname="Russ Housley">
      <organization abbrev="Vigil Security">Vigil Security, LLC</organization>
      <address>
        <postal>
          <city>Herndon, VA</city>
          <country>US</country>
        </postal>
        <email>housley@vigilsec.com</email>
      </address>
    </author>
    <date year="2025" month="June" day="14"/>
    <area>Security</area>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 61?>

<t>This document specifies an attribute for a statement of possession of a private key
by a certificate subject.  As part of X.509 certificate enrollment, a Certification
Authority (CA) typically demands proof that the subject possesses the private key
that corresponds to the to-be-certified public key.  In some cases, a CA might accept
a signed statement from the certificate subject.  For example, when a certificate
subject needs separate certificates for signature and key establishment, a statement
that can be validated with the previously issued signature certificate for the same
subject might be adequate for subsequent issuance of the key establishment certificate.</t>
    </abstract>
  </front>
  <middle>
    <?line 72?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document specifies an attribute for a statement of possession of a
private key by a certificate subject.  X.509 certificate <xref target="RFC5280"/>
enrollment often depends on PKCS#10 <xref target="RFC2986"/> or the Certificate
Request Message Format (CRMF) <xref target="RFC4211"/>.  As part of enrollment, a
Certification Authority (CA) typically demands proof that the subject
possesses the private key that corresponds to the to-be-certified public
key.  Alternatively, a CA may accept a signed statement from the
certificate subject claiming knowledge of that private key.  When a
certificate subject needs separate certificates for signature and key
establishment, a signed statement that can be validated with the
previously issued signature certificate for the same subject might be
adequate for subsequent issuance of the key establishment certificate.</t>
      <t>For example, a subject may need a signature certificate that contains a ML-DSA
(Module-Lattice-Based Digital Signature Algorithm) public key and a key
establishment certificate that contains a ML-KEM (Module-Lattice-Based
Key-Encapsulation Mechanism) public key.  For another example, a subject may
need a signature certificate that contains a ECDSA (Elliptic Curve Digital
Signature Algorithm) public key and a key establishment certificate that
contains a ECDH (Elliptic Curve Diffie-Hellman) public key.</t>
      <t>A statement of possession may be used in lieu of the usual proof of
possession mechanisms.  The statement is simply a signed assertion that
the requestor of a key establishment certificate has possession of the
key establishment private key, and that statement is signed using a
signature private key that was previously shown to be in the possession
of the same certificate subject.  If allowed by the Certificate Policy
<xref target="RFC3647"/>, the CA is permitted accept this statement in lieu of proof
that the requestor has possession of the private key.</t>
      <t>Note that <xref target="RFC6955"/> offers some algorithms that provide proof of possession for
Diffie-Hellman private keys; however, these algorithms are not suitable for use
with PKCS#10 <xref target="RFC2986"/>.  In addition, the algorithms in <xref target="RFC6955"/> do not
support key encapsulation mechanism algorithms, such as ML-KEM.  The attribute
specified in this document, on the other hand, is suitable for use with both
PKCS#10 and the CRMF <xref target="RFC4211"/>.</t>
      <section anchor="asn1">
        <name>ASN.1</name>
        <t>The attribute defined in this document is generated using ASN.1 <xref target="X680"/>, using
the Distinguished Encoding Rules (DER) <xref target="X690"/>.</t>
      </section>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="overview">
      <name>Overview</name>
      <t>When using the attribute defined in this document to make a statement about the
possession of the key establishment private key, the process to obtain two
certificates with PKCS#10 is:</t>
      <ol spacing="normal" type="1"><li>
          <t>The subject generates the signature key pair.</t>
        </li>
        <li>
          <t>The subject composes a PKCS#10 Certificate Signing Request (CSR) in the usual
manner.  It includes a signature that is produced with the private key from
step 1.</t>
        </li>
        <li>
          <t>The subject sends the CSR to the CA, and it gets back a signature certificate.
The signature certificate includes a key usage of digitalSignature, 
nonRepudiation, or both (see <xref section="4.2.1.3" sectionFormat="of" target="RFC5280"/>).</t>
        </li>
        <li>
          <t>The subject generates the key establishment key pair.</t>
        </li>
        <li>
          <t>The subject composes a PKCS#10 CSR containing the key establishment public
key.  The CSR attributes include the attribute specified in <xref target="attr"/> of this
document.  The subject name matches the one from step 3.  The CSR includes a
signature that is produced with the private key from step 1.</t>
        </li>
        <li>
          <t>The subject sends the CSR to the CA, and it gets back a key establishment
certificate.  The key establishment certificate includes a key usage of
keyEncipherment or keyAgreement (see <xref section="4.2.1.3" sectionFormat="of" target="RFC5280"/>).</t>
        </li>
      </ol>
    </section>
    <section anchor="attr">
      <name>Attribute for Statement of Possession of a Private Key</name>
      <t>The attribute for statement of possession of a private key is included in a
certificate request to make the following statement:</t>
      <ul empty="true">
        <li>
          <t>The subject of the signature certificate that is used to
validate the signature on this certificate request states,
without providing proof, that it has possession of the
private key that corresponds to the public key in the
certificate request.</t>
        </li>
      </ul>
      <t>The CA <bcp14>MUST</bcp14> perform certification path validation for the signature
certificate as specified in <xref section="6" sectionFormat="of" target="RFC5280"/>.  If the certification
path is not valid, then the CA <bcp14>MUST</bcp14> reject the request for the key
establishment certificate.</t>
      <t>The CA <bcp14>MUST</bcp14> validate the signature on the certificate request using the
public key from the signature certificate.  If the signature is not valid,
then the CA <bcp14>MUST</bcp14> reject the certificate request.</t>
      <t>The subject in the signature certificate <bcp14>SHOULD</bcp14> be the same as the subject name
in the certificate request.  If they are different, the certificate policy <bcp14>MUST</bcp14>
describe how the CA can determine that the two subject names identify the same
entity.  If the CA is unable to determine that the two subject names identify
the same entity, then the CA <bcp14>MUST</bcp14> reject the certificate request.</t>
      <t>If subject alternative names are present in the certificate request, they
<bcp14>SHOULD</bcp14> match subject alternative names in the signature certificate.  If the CA
is unable to determine that each of subject alternative names identifies
the same entity as is named in the signature certificate, then the CA <bcp14>MUST</bcp14>
reject the certificate request.</t>
      <t>When the CA rejects a certificate request for any of the reasons listed
above, the CA should provide information to the requester about the reason
for the rejection to aid with diagnostic efforts.  Likewise, the CA should
log the rejection events.</t>
      <t>The attribute for statement of possession of a private key has the following
structure:</t>
      <sourcecode type="asn.1"><![CDATA[
   id-at-statementOfPossession OBJECT IDENTIFIER ::= 
     { 1 3 6 1 4 1 22112 2 1 }

   privateKeyPossessionStatement ATTRIBUTE ::= {
     TYPE PrivateKeyPossessionStatement
     IDENTIFIED BY id-at-statementOfPossession }

   PrivateKeyPossessionStatement ::= SEQUENCE {
     signer  IssuerAndSerialNumber,
     cert    Certificate OPTIONAL }

]]></sourcecode>
      <t>The components of the PrivateKeyStatement SEQUENCE have the following semantics:</t>
      <ul empty="true">
        <li>
          <dl>
            <dt>signer:</dt>
            <dd>
              <t>the issuer name and certificate serial number of the signature certificate.</t>
            </dd>
          </dl>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <dl>
            <dt>cert:</dt>
            <dd>
              <t>the signature certificate.  If the issuer of the key establishment certificate
will be the same as the issuer of the signature certificate, then this
component <bcp14>MAY</bcp14> be omitted.  When the signature certificate is omitted, the
signer is assuming that the CA has a mechanism to obtain all valid
certificates that it issued.</t>
            </dd>
          </dl>
        </li>
      </ul>
    </section>
    <section anchor="conventions-for-pkcs10">
      <name>Conventions for PKCS#10</name>
      <t>This section specifies the conventions for using the attribute for statement
of possession of a private key with PKCS#10 <xref target="RFC2986"/> when requesting a
key establishment certificate.</t>
      <t>The PKCS#10 CertificationRequest always has three components, as follows:</t>
      <ul empty="true">
        <li>
          <dl>
            <dt>certificationRequestInfo:</dt>
            <dd>
              <t>the subject name <bcp14>SHOULD</bcp14> be the same as the subject name in the signature certificate,
the subjectPKInfo <bcp14>MUST</bcp14> contain the public key for the key establishment algorithm,
and the attributes <bcp14>MUST</bcp14> include privateKeyPossessionStatement attribute as specified
in <xref target="attr"/> of this document.</t>
            </dd>
          </dl>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <dl>
            <dt>signatureAlgorithm:</dt>
            <dd>
              <t>the signature algorithm <bcp14>MUST</bcp14> be one that can be validated with the public key
in the signature certificate.</t>
            </dd>
          </dl>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <dl>
            <dt>signature:</dt>
            <dd>
              <t>the signature over certificationRequestInfo <bcp14>MUST</bcp14> validate with the public key
in the signature certificate, and certification path validation for the signature
certificate <bcp14>MUST</bcp14> be successful as specified in <xref section="6" sectionFormat="of" target="RFC5280"/>.</t>
            </dd>
          </dl>
        </li>
      </ul>
    </section>
    <section anchor="conventions-for-crmf">
      <name>Conventions for CRMF</name>
      <t>This section specifies the conventions for using the attribute for statement
of possession of a private key with the CRMF <xref target="RFC4211"/> when requesting a key
establishment certificate.</t>
      <t>The following ASN.1 types are defined for use with CRMF.  They have exactly
the same semantics and syntax as the attribute discussed above, but they
offer a similar naming convention to the Registration Controls in <xref target="RFC4211"/>.</t>
      <sourcecode type="asn.1"><![CDATA[
  regCtrl-privateKeyPossessionStatement ATTRIBUTE ::= 
    privateKeyPossessionStatement

  id-regCtrl-statementOfPossession OBJECT IDENTIFIER ::=
    id-at-statementOfPossession
 
]]></sourcecode>
      <t>The CRMF CertificationRequest always has three components, as follows:</t>
      <ul empty="true">
        <li>
          <dl>
            <dt>certReq:</dt>
            <dd>
              <t>the certTemplate <bcp14>MUST</bcp14> include the subject and the publicKey components. The
same subject name <bcp14>SHOULD</bcp14> match the subject name in the signature certificate, and
publicKey <bcp14>MUST</bcp14> contain the public key for the key establishment algorithm.</t>
            </dd>
          </dl>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <dl>
            <dt>popo:</dt>
            <dd>
              <t>the ProofOfPossession <bcp14>MUST</bcp14> use the signature CHOICE,
the poposkInput <bcp14>MUST</bcp14> be present, POPOSigningKeyInput.authInfo <bcp14>MUST</bcp14> use
the sender CHOICE, the sender <bcp14>SHOULD</bcp14> be set to the subject name that appears in
the signature certificate, the publicKey <bcp14>MUST</bcp14> contain a copy of the public
key from the certTemplate, the algorithmIdentifier <bcp14>MUST</bcp14> identify a signature
algorithm that can be validated with the public key in the signature certificate,
signature over the poposkInput <bcp14>MUST</bcp14> validate with the public key in the signature
certificate, and certification path validation for the signature certificate
<bcp14>MUST</bcp14> be successful as specified in <xref section="6" sectionFormat="of" target="RFC5280"/>.</t>
            </dd>
          </dl>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <dl>
            <dt>regInfo:</dt>
            <dd>
              <t>the attributes <bcp14>MUST</bcp14> include privateKeyPossessionStatement attribute as specified
in <xref target="attr"/> of this document.</t>
            </dd>
          </dl>
        </li>
      </ul>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The privateKeyPossessionStatement attribute <bcp14>MUST NOT</bcp14> be used to obtain a
signature certificate.  Performing proof of possession of the signature
private key is easily accomplished by signing the certificate request.</t>
      <t>The subject is signing privateKeyPossessionStatement attribute to tell the CA that it has
possession of the key establishment private key.  This is being done instead of
providing technical proof of possession.  If the subject has lost control
of the signature private key, then the signed privateKeyPossessionStatement attribute
could be generated by some other party.  Timely revocation of the compromised
signature certificate is the only protection against such loss of control.</t>
      <t>If the CA revokes a compromised signature certificate, then the CA <bcp14>SHOULD</bcp14>
also revoke all key establishment certificates that were obtained with
privateKeyPossessionStatement attributes signed by that compromised signature
certificate.</t>
      <t>The signature key pair and the key establishment key pair are expected to have
roughly the same security strength.  To ensure that the signature on the statement
is not the weakest part of the certificate enrollment, the signature key pair <bcp14>SHOULD</bcp14>
be at least as strong as the key establishment key pair.</t>
      <t>If a CA allows subject in the key establishment certificate to be different than
the subject name in the signature certificate, then certificate policy must
describe how to determine that the two subject names identify the same entity.
Likewise, if a CA allows subject alternative names in the key establishment
certificate that are not present in the signature certificate, then certificate
policy <bcp14>MUST</bcp14> describe how to determine that the subject alternative names identify
the same entity as is named in the signature certificate.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>For the ASN.1 Module in the <xref target="appendix-asn1"/> of this document, IANA is
requested to assign an object identifier (OID) for the module identifier (TBD0)
with a Description of "id-mod-private-key-possession-stmt-2025".  The
OID for the module should be allocated in the "SMI Security for PKIX Module
Identifier" registry (1.3.6.1.5.5.7.0).</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2986">
          <front>
            <title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
            <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <date month="November" year="2000"/>
            <abstract>
              <t>This memo represents a republication of PKCS #10 v1.7 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process. The body of this document, except for the security considerations section, is taken directly from the PKCS #9 v2.0 or the PKCS #10 v1.7 document. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2986"/>
          <seriesInfo name="DOI" value="10.17487/RFC2986"/>
        </reference>
        <reference anchor="RFC4211">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="September" year="2005"/>
            <abstract>
              <t>This document describes the Certificate Request Message Format (CRMF) syntax and semantics. This syntax is used to convey a request for a certificate to a Certification Authority (CA), possibly via a Registration Authority (RA), for the purposes of X.509 certificate production. The request will typically include a public key and the associated registration information. This document does not define a certificate request protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4211"/>
          <seriesInfo name="DOI" value="10.17487/RFC4211"/>
        </reference>
        <reference anchor="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="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">
          <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="X680" 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="X690" target="https://www.itu.int/rec/T-REC-X.690">
          <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">
          <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 anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC3647">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Policy and Certification Practices Framework</title>
            <author fullname="S. Chokhani" initials="S." surname="Chokhani"/>
            <author fullname="W. Ford" initials="W." surname="Ford"/>
            <author fullname="R. Sabett" initials="R." surname="Sabett"/>
            <author fullname="C. Merrill" initials="C." surname="Merrill"/>
            <author fullname="S. Wu" initials="S." surname="Wu"/>
            <date month="November" year="2003"/>
            <abstract>
              <t>This document presents a framework to assist the writers of certificate policies or certification practice statements for participants within public key infrastructures, such as certification authorities, policy authorities, and communities of interest that wish to rely on certificates. In particular, the framework provides a comprehensive list of topics that potentially (at the writer's discretion) need to be covered in a certificate policy or a certification practice statement. This document supersedes RFC 2527.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3647"/>
          <seriesInfo name="DOI" value="10.17487/RFC3647"/>
        </reference>
        <reference anchor="RFC6955">
          <front>
            <title>Diffie-Hellman Proof-of-Possession Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="H. Prafullchandra" initials="H." surname="Prafullchandra"/>
            <date month="May" year="2013"/>
            <abstract>
              <t>This document describes two methods for producing an integrity check value from a Diffie-Hellman key pair and one method for producing an integrity check value from an Elliptic Curve key pair. This behavior is needed for such operations as creating the signature of a Public-Key Cryptography Standards (PKCS) #10 Certification Request. These algorithms are designed to provide a Proof-of-Possession of the private key and not to be a general purpose signing algorithm.</t>
              <t>This document obsoletes RFC 2875.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6955"/>
          <seriesInfo name="DOI" value="10.17487/RFC6955"/>
        </reference>
      </references>
    </references>
    <?line 347?>

<section anchor="appendix-asn1">
      <name>ASN.1 Module</name>
      <t>This ASN.1 Module uses the conventions established by <xref target="RFC5912"/> and <xref target="RFC6268"/>.</t>
      <sourcecode type="asn.1" markers="true"><![CDATA[
PrivateKeyPossessionStatement-2025
  { iso(1) identified-organization(3) dod(6) internet(1)
    security(5) mechanisms(5) pkix(7) id-mod(0)
    id-mod-private-key-possession-stmt-2025(TBD0) }

DEFINITIONS IMPLICIT TAGS ::= BEGIN

EXPORTS ALL;

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

  Certificate
  FROM PKIX1Explicit-2009 -- in [RFC5912]
    { iso(1) identified-organization(3) dod(6) internet(1)
      security(5) mechanisms(5) pkix(7) id-mod(0)
      id-mod-pkix1-explicit-02(51) }

  IssuerAndSerialNumber
  FROM CryptographicMessageSyntax-2010 -- [RFC6268]
    { iso(1) member-body(2) us(840) rsadsi(113549)
       pkcs(1) pkcs-9(9) smime(16) modules(0)
       id-mod-cms-2009(58) } ;

--
-- Private Key Possession Statement Attribute
--

id-at-statementOfPossession OBJECT IDENTIFIER ::=
  { 1 3 6 1 4 1 22112 2 1 }

privateKeyPossessionStatement ATTRIBUTE ::= {
  TYPE PrivateKeyPossessionStatement
  IDENTIFIED BY id-at-statementOfPossession }

PrivateKeyPossessionStatement ::= SEQUENCE {
  signer  IssuerAndSerialNumber,
  cert    Certificate OPTIONAL }

--
-- Registration Control Support
--

RegControlSet ATTRIBUTE ::= 
  { regCtrl-privateKeyPossessionStatement, ... }

regCtrl-privateKeyPossessionStatement ATTRIBUTE ::=
  privateKeyPossessionStatement

id-regCtrl-statementOfPossession OBJECT IDENTIFIER ::=
  id-at-statementOfPossession
     
END
]]></sourcecode>
    </section>
    <section anchor="example-use-of-the-privatekeypossessionstatement-attribute">
      <name>Example use of the privateKeyPossessionStatement Attribute</name>
      <t>In this example, the self-signed certificate for the CA is:</t>
      <artwork><![CDATA[
-----BEGIN CERTIFICATE-----
MIIB7DCCAXKgAwIBAgIUL149AUxHunELBZMELEQm+isgKCQwCgYIKoZIzj0EAwMw
NzELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkV4YW1wbGUgQ0ExEzARBgNVBAMTCmNh
LmV4YW1wbGUwHhcNMjUwMTAzMjAyNzA5WhcNMzUwMTAzMjAyNzA5WjA3MQswCQYD
VQQGEwJVUzETMBEGA1UEChMKRXhhbXBsZSBDQTETMBEGA1UEAxMKY2EuZXhhbXBs
ZTB2MBAGByqGSM49AgEGBSuBBAAiA2IABDxZdB/Glcxdk1p6Jf1j5en6QfliY9OS
fjZbtje/w6M58PN8Sb3VFln1rPdvD17UXeazSG9Hr/Dq3enbsHHO0pPntcFOgb8n
r8R8LUGhxRzjlxkaEJN+pa6Nf7qk49JDeaM/MD0wDwYDVR0TAQH/BAUwAwEB/zAL
BgNVHQ8EBAMCAgQwHQYDVR0OBBYEFD6YvLLv3DQbvnGS0qP6bbzyZkCqMAoGCCqG
SM49BAMDA2gAMGUCMGfb61IigoJ3QDnlsRdoktREHe0Dpm6DKw3qOyLL6A0cFK9Z
g8m11xIwvptlran52gIxAK1VrOjzRsFiHRptO+gFXstTXnQkKBb2/3WQz2SqcIS/
BWEp+siJ19OXOlz6APDB7w==
-----END CERTIFICATE-----
]]></artwork>
      <t>Alice generates her ECDSA signature key pair.  Then, Alice composes
a PKCS#10 Certificate Signing Request (CSR) in the usual manner as
specified in <xref target="RFC2986"/>.  The CSR includes a signature that is produced
with her ECDSA private key.  The CSR is:</t>
      <artwork><![CDATA[
-----BEGIN CERTIFICATE REQUEST-----
MIIBhTCCAQsCAQAwPDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlZBMRAwDgYDVQQH
EwdIZXJuZG9uMQ4wDAYDVQQDEwVBbGljZTB2MBAGByqGSM49AgEGBSuBBAAiA2IA
BIAc+6lXN1MIM/82QeWNb55H0zr+lVgWVeF0bf4jzxCb5MCjVaM0eFEvcjXMV5p4
kzqiJTHC0V2JAoqYMX/DMFIcwZ7xP9uQd9ep6KZ+RXut211L8+W1QI1QJSDNxANR
saBQME4GCSqGSIb3DQEJDjFBMD8wDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCB4Aw
IgYDVR0RBBswGYEXYWxpY2VAZW1haWwuZXhhbXBsZS5jb20wCgYIKoZIzj0EAwMD
aAAwZQIwPa2rOCe60edAF43C/t57IW8liyy+69FE04hMAFgw3Ga+nR+8zDuUsVLw
xXGAHtcDAjEA6LbvNkZjo6j2z5xRIjrHzEbGgiV4MF4xtnpfSSRI4dB0zT52bWkj
TZsuS1YWIkjt
-----END CERTIFICATE REQUEST-----
]]></artwork>
      <t>The CA issues a signature certificate to Alice:</t>
      <artwork><![CDATA[
-----BEGIN CERTIFICATE-----
MIICJzCCAa6gAwIBAgIUf3Sj/ANs4hR4XFlhTm+N8kxHqHkwCgYIKoZIzj0EAwMw
NzELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkV4YW1wbGUgQ0ExEzARBgNVBAMTCmNh
LmV4YW1wbGUwHhcNMjUwMTA5MTcwMzQ4WhcNMjYwMTA5MTcwMzQ4WjA8MQswCQYD
VQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xDjAMBgNVBAMT
BUFsaWNlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEgBz7qVc3Uwgz/zZB5Y1vnkfT
Ov6VWBZV4XRt/iPPEJvkwKNVozR4US9yNcxXmniTOqIlMcLRXYkCipgxf8MwUhzB
nvE/25B316nopn5Fe63bXUvz5bVAjVAlIM3EA1Gxo3YwdDAMBgNVHRMBAf8EAjAA
MAsGA1UdDwQEAwIHgDAdBgNVHQ4EFgQUIx0A0f7tCzkQEZgYzH3NcM2L05IwHwYD
VR0jBBgwFoAUPpi8su/cNBu+cZLSo/ptvPJmQKowFwYDVR0gBBAwDjAMBgpghkgB
ZQMCATAwMAoGCCqGSM49BAMDA2cAMGQCMGu/Uypd7BaVnUjB36UtX9m5ZmPi78y5
1RA8WhbOv0KQVrcYtj4qOdiMVKBcoVceyAIwRJ6U91048NAb3nicHcrGFf1UYrhb
DlytK4tCa5HBxD/qAgy4/eUzA5NZwVaLK78u
-----END CERTIFICATE-----
]]></artwork>
      <t>Alice generates her ECDH key establishment key pair.  Then, Alice
composes a PKCS#10 CSR.  The CSR attributes include the
privateKeyPossessionStatement attribute, which points to her ECDSA signature
certificate.  The CSR includes her ECDH public key and a signature that
is produced with her ECDSA private key.  The CSR is:</t>
      <artwork><![CDATA[
-----BEGIN CERTIFICATE REQUEST-----
MIIEMTCCA7gCAQAwPDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlZBMRAwDgYDVQQH
EwdIZXJuZG9uMQ4wDAYDVQQDEwVBbGljZTB0MA4GBSuBBAEMBgUrgQQAIgNiAAQB
RyQTH+cq1s5F94uFqFe7l1LqGdEC8Tm+e5VYBCfKAC8MJySQMj1GixEEXL+1Wjtg
23XvnJouCDoxSpDCSMqf3kvp5+naM37uxa3ZYgD6DPY3me5EZvyZPvSRJTFl/Bag
ggL9MGcGCSqGSIb3DQEJDjFaMFgwDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCAwgw
IgYDVR0RBBswGYEXYWxpY2VAZW1haWwuZXhhbXBsZS5jb20wFwYDVR0gBBAwDjAM
BgpghkgBZQMCATAwMIICkAYKKwYBBAGBrGACATGCAoAwggJ8ME8wNzELMAkGA1UE
BhMCVVMxEzARBgNVBAoTCkV4YW1wbGUgQ0ExEzARBgNVBAMTCmNhLmV4YW1wbGUC
FH90o/wDbOIUeFxZYU5vjfJMR6h5MIICJzCCAa6gAwIBAgIUf3Sj/ANs4hR4XFlh
Tm+N8kxHqHkwCgYIKoZIzj0EAwMwNzELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkV4
YW1wbGUgQ0ExEzARBgNVBAMTCmNhLmV4YW1wbGUwHhcNMjUwMTA5MTcwMzQ4WhcN
MjYwMTA5MTcwMzQ4WjA8MQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNV
BAcTB0hlcm5kb24xDjAMBgNVBAMTBUFsaWNlMHYwEAYHKoZIzj0CAQYFK4EEACID
YgAEgBz7qVc3Uwgz/zZB5Y1vnkfTOv6VWBZV4XRt/iPPEJvkwKNVozR4US9yNcxX
mniTOqIlMcLRXYkCipgxf8MwUhzBnvE/25B316nopn5Fe63bXUvz5bVAjVAlIM3E
A1Gxo3YwdDAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIHgDAdBgNVHQ4EFgQUIx0A
0f7tCzkQEZgYzH3NcM2L05IwHwYDVR0jBBgwFoAUPpi8su/cNBu+cZLSo/ptvPJm
QKowFwYDVR0gBBAwDjAMBgpghkgBZQMCATAwMAoGCCqGSM49BAMDA2cAMGQCMGu/
Uypd7BaVnUjB36UtX9m5ZmPi78y51RA8WhbOv0KQVrcYtj4qOdiMVKBcoVceyAIw
RJ6U91048NAb3nicHcrGFf1UYrhbDlytK4tCa5HBxD/qAgy4/eUzA5NZwVaLK78u
MAoGCCqGSM49BAMDA2cAMGQCL2TNHPULWcCS2DqZCCiQeSwx2JPLMI14Vi977bzy
rImq5p0H3Bel6fAS8BnQ00WNAjEAhHDAlcbRuHhqdW6mOgDd5kWEGGqgixIuvEEc
fVbnNCEyEE4n0mQ99PHURnXoHwqF
-----END CERTIFICATE REQUEST-----
]]></artwork>
      <t>The CSR decodes to:</t>
      <artwork><![CDATA[
   0 1073: SEQUENCE {
   4  952:  SEQUENCE {
   8    1:   INTEGER 0
  11   60:   SEQUENCE {
  13   11:    SET {
  15    9:     SEQUENCE {
  17    3:      OBJECT IDENTIFIER countryName (2 5 4 6)
  22    2:      PrintableString 'US'
         :       }
         :      }
  26   11:    SET {
  28    9:     SEQUENCE {
  30    3:      OBJECT IDENTIFIER stateOrProvinceName (2 5 4 8)
  35    2:      PrintableString 'VA'
         :       }
         :      }
  39   16:    SET {
  41   14:     SEQUENCE {
  43    3:      OBJECT IDENTIFIER localityName (2 5 4 7)
  48    7:      PrintableString 'Herndon'
         :       }
         :      }
  57   14:    SET {
  59   12:     SEQUENCE {
  61    3:      OBJECT IDENTIFIER commonName (2 5 4 3)
  66    5:      PrintableString 'Alice'
         :       }
         :      }
         :     }
  73  116:   SEQUENCE {
  75   14:    SEQUENCE {
  77    5:     OBJECT IDENTIFIER ECDH (1 3 132 1 12)
  84    5:     OBJECT IDENTIFIER secp384r1 (1 3 132 0 34)
         :      }
  91   98:    BIT STRING
         :     04 01 47 24 13 1F E7 2A D6 CE 45 F7 8B 85 A8 57
         :     BB 97 52 EA 19 D1 02 F1 39 BE 7B 95 58 04 27 CA
         :     00 2F 0C 27 24 90 32 3D 46 8B 11 04 5C BF B5 5A
         :     3B 60 DB 75 EF 9C 9A 2E 08 3A 31 4A 90 C2 48 CA
         :     9F DE 4B E9 E7 E9 DA 33 7E EE C5 AD D9 62 00 FA
         :     0C F6 37 99 EE 44 66 FC 99 3E F4 91 25 31 65 FC
         :     16
         :     }
 191  765:   [0] {
 195  103:    SEQUENCE {
 197    9:     OBJECT IDENTIFIER
         :      extensionRequest (1 2 840 113549 1 9 14)
 208   90:     SET {
 210   88:      SEQUENCE {
 212   12:       SEQUENCE {
 214    3:        OBJECT IDENTIFIER
         :         basicConstraints (2 5 29 19)
 219    1:        BOOLEAN TRUE
 222    2:        OCTET STRING, encapsulates {
 224    0:         SEQUENCE {}
         :          }
         :         }
 226   11:       SEQUENCE {
 228    3:        OBJECT IDENTIFIER keyUsage (2 5 29 15)
 233    4:        OCTET STRING, encapsulates {
 235    2:         BIT STRING 3 unused bits
         :          '10000'B (bit 4)
         :          }
         :         }
 239   34:       SEQUENCE {
 241    3:        OBJECT IDENTIFIER subjectAltName (2 5 29 17)
 246   27:        OCTET STRING, encapsulates {
 248   25:         SEQUENCE {
 250   23:          [1] 'alice@email.example.com'
         :           }
         :          }
         :         }
 275   23:       SEQUENCE {
 277    3:        OBJECT IDENTIFIER
         :         certificatePolicies (2 5 29 32)
 282   16:        OCTET STRING, encapsulates {
 284   14:         SEQUENCE {
 286   12:          SEQUENCE {
 288   10:           OBJECT IDENTIFIER 
         :            testCertPolicy (2 16 840 1 101 3 2 1 48 48)
         :            }
         :           }
         :          }
         :         }
         :        }
         :       }
         :      }
 300  656:    SEQUENCE {
 304   10:     OBJECT IDENTIFIER
         :      statementOfPossession (1 3 6 1 4 1 22112 2 1)
 316  640:     SET {
 320  636:      SEQUENCE {
 324   79:       SEQUENCE {
 326   55:        SEQUENCE {
 328   11:         SET {
 330    9:          SEQUENCE {
 332    3:           OBJECT IDENTIFIER countryName (2 5 4 6)
 337    2:           PrintableString 'US'
         :            }
         :           }
 341   19:         SET {
 343   17:          SEQUENCE {
 345    3:           OBJECT IDENTIFIER
         :            organizationName (2 5 4 10)
 350   10:           PrintableString 'Example CA'
         :            }
         :           }
 362   19:         SET {
 364   17:          SEQUENCE {
 366    3:           OBJECT IDENTIFIER commonName (2 5 4 3)
 371   10:           PrintableString 'ca.example'
         :            }
         :           }
         :          }
 383   20:        INTEGER
         :      7F 74 A3 FC 03 6C E2 14 78 5C 59 61 4E 6F 8D F2
         :      4C 47 A8 79
         :         }
 405  551:       SEQUENCE {
 409  430:        SEQUENCE {
 413    3:         [0] {
 415    1:          INTEGER 2
         :           }
 418   20:         INTEGER
         :      7F 74 A3 FC 03 6C E2 14 78 5C 59 61 4E 6F 8D F2
         :      4C 47 A8 79
 440   10:         SEQUENCE {
 442    8:          OBJECT IDENTIFIER
         :           ecdsaWithSHA384 (1 2 840 10045 4 3 3)
         :           }
 452   55:         SEQUENCE {
 454   11:          SET {
 456    9:           SEQUENCE {
 458    3:            OBJECT IDENTIFIER
         :             countryName (2 5 4 6)
 463    2:            PrintableString 'US'
         :             }
         :            }
 467   19:          SET {
 469   17:           SEQUENCE {
 471    3:            OBJECT IDENTIFIER
         :             organizationName (2 5 4 10)
 476   10:            PrintableString 'Example CA'
         :             }
         :            }
 488   19:          SET {
 490   17:           SEQUENCE {
 492    3:            OBJECT IDENTIFIER
         :             commonName (2 5 4 3)
 497   10:            PrintableString 'ca.example'
         :             }
         :            }
         :           }
 509   30:         SEQUENCE {
 511   13:          UTCTime 09/01/2025 17:03:48 GMT
 526   13:          UTCTime 09/01/2026 17:03:48 GMT
         :           }
 541   60:         SEQUENCE {
 543   11:          SET {
 545    9:           SEQUENCE {
 547    3:            OBJECT IDENTIFIER
         :             countryName (2 5 4 6)
 552    2:            PrintableString 'US'
         :             }
         :            }
 556   11:          SET {
 558    9:           SEQUENCE {
 560    3:            OBJECT IDENTIFIER
         :             stateOrProvinceName (2 5 4 8)
 565    2:            PrintableString 'VA'
         :             }
         :            }
 569   16:          SET {
 571   14:           SEQUENCE {
 573    3:            OBJECT IDENTIFIER
         :             localityName (2 5 4 7)
 578    7:            PrintableString 'Herndon'
         :             }
         :            }
 587   14:          SET {
 589   12:           SEQUENCE {
 591    3:            OBJECT IDENTIFIER
         :             commonName (2 5 4 3)
 596    5:            PrintableString 'Alice'
         :             }
         :            }
         :           }
 603  118:         SEQUENCE {
 605   16:          SEQUENCE {
 607    7:           OBJECT IDENTIFIER
         :            ecPublicKey (1 2 840 10045 2 1)
 616    5:           OBJECT IDENTIFIER
         :            secp384r1 (1 3 132 0 34)
         :            }
 623   98:          BIT STRING
         :      04 80 1C FB A9 57 37 53 08 33 FF 36 41 E5 8D 6F
         :      9E 47 D3 3A FE 95 58 16 55 E1 74 6D FE 23 CF 10
         :      9B E4 C0 A3 55 A3 34 78 51 2F 72 35 CC 57 9A 78
         :      93 3A A2 25 31 C2 D1 5D 89 02 8A 98 31 7F C3 30
         :      52 1C C1 9E F1 3F DB 90 77 D7 A9 E8 A6 7E 45 7B
         :      AD DB 5D 4B F3 E5 B5 40 8D 50 25 20 CD C4 03 51
         :      B1
         :           }
 723  118:         [3] {
 725  116:          SEQUENCE {
 727   12:           SEQUENCE {
 729    3:            OBJECT IDENTIFIER
         :             basicConstraints (2 5 29 19)
 734    1:            BOOLEAN TRUE
 737    2:            OCTET STRING, encapsulates {
 739    0:             SEQUENCE {}
         :              }
         :             }
 741   11:           SEQUENCE {
 743    3:            OBJECT IDENTIFIER
         :             keyUsage (2 5 29 15)
 748    4:            OCTET STRING, encapsulates {
 750    2:             BIT STRING 7 unused bits
         :              '1'B (bit 0)
         :              }
         :             }
 754   29:           SEQUENCE {
 756    3:            OBJECT IDENTIFIER
         :             subjectKeyIdentifier (2 5 29 14)
 761   22:            OCTET STRING, encapsulates {
 763   20:             OCTET STRING
         :      23 1D 00 D1 FE ED 0B 39 10 11 98 18 CC 7D CD 70
         :      CD 8B D3 92
         :              }
         :             }
 785   31:           SEQUENCE {
 787    3:            OBJECT IDENTIFIER
         :             authorityKeyIdentifier (2 5 29 35)
 792   24:            OCTET STRING, encapsulates {
 794   22:             SEQUENCE {
 796   20:              [0]
         :      3E 98 BC B2 EF DC 34 1B BE 71 92 D2 A3 FA 6D BC
         :      F2 66 40 AA
         :               }
         :              }
         :             }
 818   23:           SEQUENCE {
 820    3:            OBJECT IDENTIFIER
         :             certificatePolicies (2 5 29 32)
 825   16:            OCTET STRING, encapsulates {
 827   14:             SEQUENCE {
 829   12:              SEQUENCE {
 831   10:               OBJECT IDENTIFIER
         :                testCertPolicy (2 16 840 1 101 3 2 1 48 48)
         :                }
         :               }
         :              }
         :             }
         :            }
         :           }
         :          }
 843   10:        SEQUENCE {
 845    8:         OBJECT IDENTIFIER
         :          ecdsaWithSHA384 (1 2 840 10045 4 3 3)
         :          }
 855  103:        BIT STRING, encapsulates {
 858  100:         SEQUENCE {
 860   48:          INTEGER
         :      6B BF 53 2A 5D EC 16 95 9D 48 C1 DF A5 2D 5F D9
         :      B9 66 63 E2 EF CC B9 D5 10 3C 5A 16 CE BF 42 90
         :      56 B7 18 B6 3E 2A 39 D8 8C 54 A0 5C A1 57 1E C8
 910   48:          INTEGER
         :      44 9E 94 F7 5D 38 F0 D0 1B DE 78 9C 1D CA C6 15
         :      FD 54 62 B8 5B 0E 5C AD 2B 8B 42 6B 91 C1 C4 3F
         :      EA 02 0C B8 FD E5 33 03 93 59 C1 56 8B 2B BF 2E
         :           }
         :          }
         :         }
         :        }
         :       }
         :      }
         :     }
         :    }
 960   10:  SEQUENCE {
 962    8:   OBJECT IDENTIFIER ecdsaWithSHA384 (1 2 840 10045 4 3 3)
         :    }
 972  103:  BIT STRING, encapsulates {
 975  100:   SEQUENCE {
 977   47:    INTEGER
         :     64 CD 1C F5 0B 59 C0 92 D8 3A 99 08 28 90 79 2C
         :     31 D8 93 CB 30 8D 78 56 2F 7B ED BC F2 AC 89 AA
         :     E6 9D 07 DC 17 A5 E9 F0 12 F0 19 D0 D3 45 8D
1026   49:    INTEGER
         :     00 84 70 C0 95 C6 D1 B8 78 6A 75 6E A6 3A 00 DD
         :     E6 45 84 18 6A A0 8B 12 2E BC 41 1C 7D 56 E7 34
         :     21 32 10 4E 27 D2 64 3D F4 F1 D4 46 75 E8 1F 0A
         :     85
         :     }
         :    }
         :   }
]]></artwork>
      <t>The CA issues a key establishment certificate to Alice:</t>
      <artwork><![CDATA[
-----BEGIN CERTIFICATE-----
MIICJTCCAaygAwIBAgIUf3Sj/ANs4hR4XFlhTm+N8kxHqHowCgYIKoZIzj0EAwMw
NzELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkV4YW1wbGUgQ0ExEzARBgNVBAMTCmNh
LmV4YW1wbGUwHhcNMjUwMTA5MTcwNTAwWhcNMjYwMTA5MTcwNTAwWjA8MQswCQYD
VQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xDjAMBgNVBAMT
BUFsaWNlMHQwDgYFK4EEAQwGBSuBBAAiA2IABAFHJBMf5yrWzkX3i4WoV7uXUuoZ
0QLxOb57lVgEJ8oALwwnJJAyPUaLEQRcv7VaO2Dbde+cmi4IOjFKkMJIyp/eS+nn
6dozfu7FrdliAPoM9jeZ7kRm/Jk+9JElMWX8FqN2MHQwDAYDVR0TAQH/BAIwADAL
BgNVHQ8EBAMCAwgwHQYDVR0OBBYEFAnLfJvnEUcvLXaPUDZMZlQ/zZ3WMB8GA1Ud
IwQYMBaAFD6YvLLv3DQbvnGS0qP6bbzyZkCqMBcGA1UdIAQQMA4wDAYKYIZIAWUD
AgEwMDAKBggqhkjOPQQDAwNnADBkAjARQ5LuV6yz8A5DZCll1S/gfxZ+QSJl/pKc
cTL6Sdr1IS18U/zY8VUJeB2H0nBamLwCMBRQ6sEWpNoeeR8Bonpoot/zYD2luQ1V
2jevmYsnBihKF0debgfhGvh8WIgBR69DZg==
-----END CERTIFICATE-----
]]></artwork>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Thanks to
Sean Turner,
Joe Mandel,
Mike StJohns,
Mike Ounsworth,
John Gray,
Carl Wallace,
Corey Bonnell,
Hani Ezzadeen,
Deb Cooley,
Mohamed Boucadair, and
Bron Gondwana
for their constructive comments.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
ymdOiO45Hsri8TUSmxWfeKr9uk3w2LvZ7a11fNwDHW+H8EddXBvbKqu/qxdM
LUc9dfKgNTvqwhiBELXbNc5cDOsPdxfzh3Nl3mxLC0OlDwxzcaMNzidPHykQ
p9VV+3tpctcSmvXmaUVsO7etgSzX+Pfg++RmdHvjVPnBo/T0/qYP5Kb+dGM1
eadqvtpPd80beSZxz+8v7kWvpvM34oXqv9w3706NZrVuLx7Kb9fKvD1UnFnp
8uF7524egeNuVL7fCu260L7oGq03tdXhQktrN03pXO8CiPUB6IJ5YTxVtaZR
YeistKq+UA21kVYoTVIXXH1EO3U0LVyc35t397dvs3vxRn24FcbW7WJlTR66
8tNA5DcNpcFZqrp4aNcX15YYXOlOiXeGalUq6qeRXK7fVibucvm9pFRNXho3
1epoUTy3vnud75V3Y94PbxoL7u3uXK1FtqE+mWqpMXhtPT88+aUn8V1+69Sf
gtq7OTgfuTdSsyq9Rd7ssdvt1KWhxr/3ZHFw+/zE9R7CeVe4v60/P0W5WpUV
m/WOkspOL4S77/f5TKMOczj6xTsIo1VaOZzHYvfpVG2F0rgj3VUn4970e6vy
/FZ7qT3/+xyO3OzZi+Z7W6IO5+k+2/akVvIczgoSXQNInmE1Q71iq9k9jR9P
7Kn8PBClN+NJbSZQcFq/Glq3rUmzdr8w1ftajB8o5331UjJNVa8b9yPVHGnv
5Zcbu9hfjN5P3x80+V549Z4fe9zVa+nmVnu4ke460al7fW1evD4vLls3/ntH
6neVZct+u5t6bu/qpT5p2o3O3f2z7s5Gb4+V5qI/ftc479U8FWWtKJQ8f+bJ
VadUHNz1X9/lwY36dKNO6s2iqQrnb37xfjE0GOi1Duj4Y8VUn1SVa6oh4j00
Fm1gS702MtQh0xnJrI7a/fobr/KP5Uh/f26bD6P791qxZTfFBi/XF7UFErHD
P2naaFH11f71zK2E81O7pc2/2w+Nrn86i16vL6btS39RZS5vBMZkwYg4G42f
Rxr30AZX1wORiF3Y2oPZ4MHa4MHmp/3lbFjWrBuv/6QVS/3oTpnKD9Nrt1xZ
ypzQUSu348HVK3/Zvgns++hJerkaus2bS832b2xnCaagc1HqKwIvVVrqoOi5
ds0OzquPQv8+GA84Y7KMLqVIt+Sa9macvqijpXTq9CE+aT0sbqzGZbky/0Xv
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

-->

</rfc>
