<?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-08" 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-08"/>
    <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="15"/>
    <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 to accept this statement in lieu of proof
that the requestor has possession of the private key, such as <xref target="RFC6955"/>.</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 they
are different, the certificate policy <bcp14>MUST</bcp14> describe how the CA can determine that
the two subject alternative names identify the same entity.  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 349?>

<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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
Pd8cH27Gg/kbJbv09Q9alc8cXN1zapXF42skNis+8VT7dZvgaXyj11/r+KQP
Ot4J4Y+yuNa3VVZ7Vy6YWo77ivugtrrKQh+DEHU6dc5YjBoPdxfzh/PqvNWR
FrpCH+jG4kYdnrtPHykQpzYU63vJvWsLrUbrtCJ27Nv2UJbr/Hvw3b0Z397Y
NX74KD29v2lDuaU93Zgt3q4Zr9bTXetGnknc8/uLc9Gva/yNeKH4L/etu1O9
VWtYi4fy23V13hlV7Vnp8uF7924egeNuVr7fCp2G0Lno6e03pd3lQlPttAzp
XOsBiI0h6IJxoT/V1JZeYeistKqxUHSlmVYoVVIWXGNMO3VVNVyc3xt397dv
s3vxRnm4FSbm7WJlTR568tNQ5DcNpc6ZirJ46DQW16YYXGl2ibdHSk0qaqeR
XG7cVlxnufxeqtYMXpq0lNp4UTw3v3vd75V3fT4Ib5oL7u3uXKlHlq48GUqp
OXxtPz88+aUn8V1+6zaegvq7MTwfOzdSqya9Rd7ssdfrNqSRyr/3ZXF4+/zE
9R/CeU+4v208P0W5WpUVm/WOksJOL4S7ryP6TKMOczjaxTsIo1laOZzHYu/p
VGmH0qQr3dXcSX/6vV15fqu/1J//fQ5HbvWtReu9I1GH83SfbXtSKnkOZwWJ
pgIkz7Carlyx1ay+yk9cayo/D0XpTX9SWgkUnDqoheZt223V7xeGcl+P8QPl
vK9dSoahaA39fqwYY/W9/HJjFQeL8fvp+4Mq3wuv3vNjn7t6Ld3cqg830l03
OnWur42L1+fFZfvGf+9Kg1512bbe7qae0796abgtq9m9u3/WnNn47bHSWgwm
7yrnvRqnoqwWhZLnzzy5ZpeKw7vB67s8vFGebhS30SoainD+5hfvFyOdgV7v
go4/VgzlSVG4lhIi3iN90QG2NOpjXRkxnZGM2rgzaLzxCv9YjrT3547xML5/
rxfbVkts8nJjUV8gEbv8k6qOFzVfGVzPnEo4P7Xa6vy79dDs+aez6PX6Ytq5
9Bc15vLGYEwWjIiz8eR5rHIPHXB1fRCJ2IWtPZgFHqwDHmx+OljORmXVvPEG
T2qxNIjuqlP5YXrtlCtLmRO6SuV2Mrx65S87N4F1Hz1JL1cjp3VzqVr+jWUv
wRR0L0qDqsBLlbYyLHqOVbeC89qjMLgPJkNOd5fRpRRpplxX3/TTF2W8lE7t
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
8FiDVASMJQWDaBBLVoWDcZMkjBDBztXKiFuxQmrgI3g0TLqBAWtVQ8ehKUQr
gavftko6wlASiQqxrUp4gwKjE1FFfwH4APEgFQMiQahY3I6zDQXjWV7D8TAX
xJkQnkNICfGvXMVhMj3xIFIWiMb/6G5WtmWzAb5XS6vKblrUqqV1SXd7k+BX
FALXghwiVoV9SlAtyyslyMBEd1YllhjuEI6ShG4fcygZowXkB08dFT1FUq1i
MiVWaFZRJeKWxwLrCj2BkZqKB8Ugc8D8p0TzHxUjEPCF4NQUDZOabadmlFDB
IH8FTymUUcGMKgqnINLfVZRSiEckzOA4gacVNqm6Dx+IfoC+ZZ6iIaNAQzAE
cgdglRQ8KlMyMCcC3DBO0nMAwsUk1EToD3qHR3FEPFcDmEDQLdD4CTA0INuU
NoeLAp7hAc2UDDzVA94e6FvU8TwMJGi6hGd78LhOBc8a8VvkqGzpXo4Apr//
zL+e8+HbRz51TQePypvLA67p+P/mazrtvrLYvKZD2/5F13Q6eAWAHX3uLLJ3
Q5Va/UJtPcrL4Pb9+a7oSLf+TXl+N5j7Dxzfab5dDeWyezM2Liq+0lwsvIsL
ZXk9MJtGp2u9lm/MK1Efjuzv1tSRGldPtcvn1kVjOTu1e989jyuN/PfHebkW
jFxHufZb1Sf7ofzcnZ5ePH+vXhhu6/auUntpixTCnMP73Obp/cy9UMVrPl68
esbAem3emdcD/aH14HZO3x+Kty21Qo9Pc41F576lmsreS6SqRTs3lE6npdBb
EZf3jYeGcjvQOWVsLFq6cqmOxy+T56er605HVxZtT9HVZ+VJ6Xbk5vymtHyv
KLL+oLmu0DsdP749fO/0LtzT2aXFWf1mqTcKhEZPqAxO3+8rN4MLWxXrvKea
0+ZCa6ndTik0bmdt37a7FdX3Zr4fQUdddOcd4YYTn+zX6X3oqc7kssaP7OH4
cXL+OqncNsZqt1TVH8YfXzL9jSjW6t99RL0K8c43e4eyPfr9i+d/oS8ZMb1n
PHzM9WzTI/154OFt+wvfJi3TG9nuMddynm3Siy78iRfG367mXrjwg2iCPSce
OQ/M5TGnmYFLbk3XNS0bvvkBaDbg5tkuzFI3PYcY7+/myLa9Y063h0TzfdeG
cS1/Qt9Xo/pzyxyZTsBekqgGPszse6OF6ZnJq8qdAF9+wl4Cjq/DYf+yL75m
/P8BpWJ1jbl8AAA=

-->

</rfc>
