<?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-04" 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-04"/>
    <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="May" day="02"/>
    <area>Security</area>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 60?>

<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 71?>

<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
public key and a key establishment certificate that contains a ML-KEM public
key.  For another example, a subject may need a signature certificate that
contains a ECDSA public key and a key establishment certificate that contains
a ECDH 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 the Certificate 
Policy <xref target="RFC3647"/> allows, the CA <bcp14>MAY</bcp14> 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>
      <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 <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 <xref section="4.2.1.3" sectionFormat="of" target="RFC5280"/>.</t>
        </li>
      </ol>
      <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="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 certificate request.</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>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
establisment 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 signture
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 <bcp14>MUST</bcp14>
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 "d-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="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 335?>

<section anchor="appendix-asn1">
      <name>ASN.1 Module</name>
      <t>This ASN.1 Module builds upon the conventions established in <xref target="RFC5912"/>.</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, and
Hani Ezzadeen
for their constructive comments.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
tDkVU72oYEa68XlWSmfokDR3nYIq2I/DymfH5OTkBFf9hWIb82Gl7ZfrbHur
bPjDmC2DVtt+nEG2Mg9sx/aHTmlqBc9OEP4e33D9iU7JjI/p02pR/kz0LhxX
4szUk2Mvq6P+celn8lhKYvyiOxJ0qz/eyUXvWCpRG050s4Mo6mrPpK1Ms17X
yoauq3eXI3VR19RRvd/gREXtv9XmntnQHppmw2xPv7vh6FJvL/TRff3Sf6i/
P7GmumgumNa72Wiqz+cq1ze1cVO/uWm+me9qRxu1bjTV7+nPN+L9LbcYnPdH
bdbMvGv29GlrzDSmqw6L2thuNZ/6i2ZPfW8+qcvWuyrdYtv7RtuTKjTb4UJv
3xvMTbt9bi4ubvrvZq8JaCIk+rh52bkbjwd3WvjQ1Yx2b/1OfWte3vPm/CF5
zzz0NL6pqefa8uW82wTcR+a51p1rmqq6Kl9XNePtYaidnk/st+EzN5MvHrkn
yfHk9uPEvVeuuszj08MgenJOF3JTqly3Kt2BcFOdeFxwPXw1uHL/zrHeu+dK
LTg1XgTHG4S12hU7u/Yiu3o1GlQ8Jqh0Ko3++fit8/40eXu2zIvW95kltx7L
L8+icmE4VvO0abALY3Fv3HTYntqunWpqf6EuTO30XW0wSNFau2ICVXV11F7U
2rTjlabdm1VDvn9tNF4Foz149c677Mu1PBi8Lx+e9Zem6p/r+ss5g3jDYEPl
R2rzvK83zx8HMld3R/6F0Da8SdgZ+s9Rx6w5rDGbysblQni5WjYassra1Uvl
gRlVphz3Vl+8zqJJYHkSP6q/qZfcTXD19N4Jq26tM4uuvo+qd2HUu/Paz5fa
gD8VbtvvfPfFrndPGe3WnH0P3QtOubq7mrzL6rWhlRe//x6LL2jatvDSQrcK
3s/JHBTGekF8o6XgiDeNUb1jEg9Kzwgzv3q+OzncjScjNwp12SsDtBSfO767
5+xuHIWvkdis8yRT7ddtgschzW5vrePjHuh4O4Q/6uLa2FZZ/V29iNVy1FMn
D1qzoy6MEQhRu11jzMWw/nB3MX84V+bNtrgwVPrCMBc32uB88vSRAjFaXbW/
y5O7FtesN08rfNu5bQ0kqca+B98nN6PbG6fKDh7Fp/c3fSA19acbq8k6VfPV
frpr3kgzkXl+f3EvejWdveEvVP/lvnl3ajSrdXvxUH67VubtoeLM5MuH7527
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
VcekZtupmTIqGOSv4Cm5MiqYqaBwcjz9raCUQjwiYgbHcCytsInKPnwg+gH6
llmKhoQCDcEQyB2AJat4VEY2MScC3DBOMgoAwsVE1EToD3qHR3F4PFcDmEDQ
zdH4CTA0IdsUN4fzHJ7hAc0UTTzVA94e6CsYeB4GEjRDxLM9eFyngmeN2C1y
VLZ0r0AAs88/i6/nfPidI5+6poNH5a3lAdd0/H/zNZ1WT11sXtOhbf+iazpt
vAIQH31uL/J3Q9Vq7UJrPkrL4Pb9+U5wxVv/pjy/68/9B4ZtN96uBlJ5cjMy
Lyq+2lgsvIsLdXndtxpmu2O/lm+sK94YDJ3v9tQV61dP1cvn5kV9OTt1ut89
j5GH/vvjvFwNhhNXvfabypPzUH7uTE8vnr8rF+akeXtXqb60eAphweF9ZvP0
fu5eqOo1Hi9ePbNvvzburOu+8dB8mLRP3x+E26ZWocenmfqifd/ULHXvJVLN
pp3rarvdVOmtiMv7+kNdve0bjDoyF01DvdRGo5fx89PVdbttqIuWpxras/qk
dtpSY34jL98rqmQ86JMJ1z0dPb49fG93Lyans0ubsXsNuTsMuHqXq/RP3+8r
N/0LR+NrrKdZ08ZCb2qdthyat7OW7zidiuZ7M9+PoKPBT+Zt7obhn5zX6X3o
ae74ssoOncHocXz+Oq7c1kdaR1aMh9HHl0x/I6q9+kf1UK9CvPMdf2+yM/z9
i+d/od8tYnnPePiY6TqWR3rzwMPb9he+Q5qWN3Qmx0zTfXZIN7rwx16YPF3N
vXDhB9EYe449ch5Yy2NGt4IJubUmE8t24MkPQLMBN8+ZTOLvOqxZnkvM93dr
6Dgek9z7dgP8+pL4q7zxa23ifwg1Ck+Y/wcXWYI23XkAAA==

-->

</rfc>
