<?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-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <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-02"/>
    <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="March" day="25"/>
    <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.  As part of X.509 certificate <xref target="RFC5280"/> 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 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.  Note that <xref target="RFC6955"/> offers some algorithms to
provide proof of possession for Diffie-Hellman private keys.  However, these
algorithms are not suitable for use with PKCS#10 <xref target="RFC2986"/>.  On the other hand,
the the attribute specified in this document is suitable for use with PKCS#10
and the Certificate Request Message Format (CRMF) <xref target="RFC4211"/>.</t>
      <t>In many situations a subject needs two certificates, one for digiatal signatures, and
a separate one for key establishment.  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>In this situation, a CA might accept a signed statement that can be validated with the
previously issued signature certificate as adequate for subsequent issuance of
the key establishment certificate.</t>
      <t>This document defines an attribute for a statement of possession, which is used
in lieu of the usual proof of possession mechanisms. The statement is simply an
assertion that the requestor of a key establishment certificate has possession
of the key establishment private key.  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>When using the attribute defined in this document make a statement about the
possession of the key establishment private key, the process for a subject to
obtain two certificates 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 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" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5280.xml">
          <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" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5912.xml">
          <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 333?>

<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"><![CDATA[
<CODE STARTS>

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

<CODE ENDS>
]]></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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
elfnvldH0+Piz+SxlET4Rbc16GZ/vJeLvrFUoiab6GYHMdLVnklbmWa9rpUN
XVfvLkfqoq6po3q/wYmK2n+rzT2zoT00zYbZnn53w9Gl3l7oo/v6pf9Qf39i
TXXRXDCtd7PRVJ/PVa5vauOmfnPTfDPf1Y42at1oqt/Tn2/E+1tuMTjvj9qs
mXnX7OnT1phpTFcdFrWx3Wo+9RfNnvrefFKXrXdVusW29422J1VotsOF3r43
mJt2+9xcXNz0381eE9BESPRx87JzNx4P7rTwoasZ7d76nfrWvLznzflD8p55
6Gl8U1PPteXLebcJuI/Mc6071zRVdVW+rmrG28NQOz2f2G/DZ24mXzxyT5Lj
ye3HiXuvXHWZx6eHQfTknC7kplS5blW6A+GmOvG44Hr4anDl/p1jvXfPlVpw
arwIjjcIa7UrdnbtRXb1ajSoeExQ6VQa/fPxW+f9afL2bJkXre8zS249ll+e
ReXCcKzmadNgF8bi3rjpsD21XTvV1P5CXZja6bvaYJCitXbFBKrq6qi9qLVp
xytNuzerhnz/2mi8CkZ78Oqdd9mXa3kweF8+POsvTdU/1/WXcwbxhsGGyo/U
5nlfb54/DmSu7o78C6FteJOwM/Sfo45Zc1hjNpWNy4XwcrVsNGSVtauXygMz
qkw57q2+eJ1Fk8DyJH5Uf1MvuZvg6um9E1bdWmcWXX0fVe/CqHfntZ8vtQF/
Kty23/nui13vnjLarTn7HroXnHJ1dzV5l9VrQysv/v73WHxBm7aFlyqXCs7O
yRwVxmpBfAOj4JA3jVC9YxIPSk8JM796wjs53o1nIzdKddn7QbQYnzvAu+f0
bhyDr5HYrPIkU+3XbYIHIs1ub63j4x7oeDuEP+ri2thWWf1dvYjVctRTJw9a
s6MujBEIUbtdY8zFsP5wdzF/OFfmzba4MFT6wjAXN9rgfPL0kQIxWl21v8uT
uxbXrDdPK3zbuW0NJKnGvgffJzej2xunyg4exaf3N30gNfWnG6vJOlXz1X66
a95IM5F5fn9xL3o1nb3hL1T/5b55d2o0q3V78VB+u1bm7aHizOTLh++du3kE
frpR+X7Ltetc+6JrtN7UVocJLa3dNMVzvQsg1gegC+aF8VTVmkYlRmelVfWF
aqiNrEJporpg6iPaqaNp4eL83ry7v32b3fM36sMtN7ZuFytr8tCVngY8u2ko
DcZS1cVDu764tvjgSndk1hmqVVHQTyOpXL+tTNzl8rusVE1WHDfV6mghnFvf
vc73yrsx74c3jQXzdneu1iLbUJ9MVW4MXlvPD0++/MS/S2+d+lNQezcH5yP3
RmxWxbfImz12u526ONTY957ED26fn5jeQzjvcve39eenqFCr8mKz3khS4zML
4a7LA5h9Uo06zOHoF+8gjJa8cjiPQvfpVG2F4rgj3lUn4970e6vy/FZ7qT3/
+xyO1OzZi+Z7W6QO5+k+3/akVooczgoSXQNInmE1Q72KV7N7Gjue2FPpecCL
b8aT2kyhYLR+NbRuW5Nm7X5hqve1BD9QzvvqpWiaql437keqOdLeyy83ttBf
jN5P3x806Z579Z4fe8zVq3xzqz3ciHed6NS9vjYvXp8Xl60b/70j9rvKsmW/
3U09t3f1Up807Ubn7v5Zd2ejt8dKc9Efv2uM92qe8pImcLLnzzyp6sjC4K7/
+i4NbtSnG3VSbwqmyp2/+cL9YmjEoNc6oOOPFVN9UlWmqYaI99BYtIEt9drI
UIexzohmddTu199YlX0sR/r7c9t8GN2/14SW3eQbrFRf1BZIxA77pGmjRdVX
+9cztxLOT+2WNv9uPzS6/ukser2+mLYv/UU1dnkjMCaLmIiz0fh5pDEPbXB1
PRCJxIWtPZgNHqwNHmx+2l/OhmXNuvH6T5og96M7ZSo9TK/dcmUpMVxHrdyO
B1ev7GX7JrDvoyfx5WroNm8uNdu/sZ0lmILOhdxXOFastNSB4Ll2zQ7Oq49c
/z4YDxhjsowuxUi3pJr2Zpy+qKOleOr0IT5pPSxurMZluTL/Re9V21d2zDkx
pviqy4d3Vw6tI6d37Wa+i0fUsLS77WCZ/J7MlsNbYbV1KTLvCJmtayx/tSM0
m+gIy6N/mSNkm6qYOD8ThLUfjNpttT5quara1pjOst2rfbdfuFCqKuK8+lJ1
yhOu8XI+NPUKmD1HurnX9MdLVa80L5bddvOJO3ffTPOu8Z27fYpGDC/cvXoX
/lw3/LfuzNC7zZdH4fl1Jn33rKZQnr9ZwsP9yJCN63th6kjmw+vy4fq127no
VSenmjViRqOG0jy3Nx2h1QSX85EjVBejzzvCTQVmUg1eKTB4hGf1/vJyca9h
EBGcq9B+rqs+rDe6qDTNyiJr9JlfsfoZo68z1ZrC+qcLY3BV7zvVt4f7vvT6
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
BN0cjZ8AQxOyTXFzOM/hGR7QTNHEUz3g7YG+goHnYSBBM0Q824PHdSp41ojd
IkdlS/cKBDD7/LP4es6H3zjyqWs6eFTeWh5wTcf/N1/TafXUxeY1Hdr2L7qm
08YrAPHR5/YifzdUrdYutOajtAxu35/vBFe89W/K87v+3H9g2Hbj7WoglSc3
I/Oi4quNxcK7uFCX132rYbY79mv5xrrijcHQ+W5PXbF+9VS9fG5e1JezU6f7
3fMYeei/P87L1WA4cdVrv6k8OQ/l58709OL5u3JhTpq3d5XqS4unEBYc3mc2
T+/n7oWqXuPx4tUz+/Zr48667hsPzYdJ+/T9QbhtahV6fJqpL9r3Tc1S914i
1Wzaua62202V3oq4vK8/1NXbvsGoI3PRNNRLbTR6GT8/XV2324a6aHmqoT2r
T2qnLTXmN/LyvaJKxoM+mXDd09Hj28P3dvdicjq7tBm715C7w4Crd7lK//T9
vnLTv3A0vsZ6mjVtLPSm1mnLoXk7a/mO06lovjfz/Qg6Gvxk3uZuGP7JeZ3e
h57mji+r7NAZjB7H56/jym19pHVkxXgYfXzJ9Dei2s+ev5g4wxE9qRAyP86S
b052hn//4vlf6DeLWN4z/efpuo7lkd488PBy/YXvkKblDZ3JMdN0nx3SjS78
sRcmT1dzL1z4QTTGnmOPnAfW8pjRrWBCbq3JxLIdePID0GzAzXMmk/jbDmuW
5xLz/d0aOo7HJPe+3QC/vCT+Mm/8Upv430KNwhPm/wPSz2+y4HkAAA==

-->

</rfc>
