<?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.1 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ounsworth-lamps-pq-external-pubkeys-02" category="std" consensus="true" submissionType="IETF" updates="{&quot;RFC5280&quot;=&gt;nil}" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.1 -->
  <front>
    <title abbrev="External X.509 Keys">External Keys For Use In Internet X.509 Certificates</title>
    <seriesInfo name="Internet-Draft" value="draft-ounsworth-lamps-pq-external-pubkeys-02"/>
    <author initials="M." surname="Ounsworth" fullname="Mike Ounsworth">
      <organization abbrev="Entrust">Entrust Limited</organization>
      <address>
        <postal>
          <street>1000 Innovation Drive</street>
          <city>Ottawa, Ontario</city>
          <code>K2K 1E3</code>
          <country>Canada</country>
        </postal>
        <email>mike.ounsworth@entrust.com</email>
      </address>
    </author>
    <author initials="M.-J. O." surname="Saarinen" fullname="Markku-Juhani O. Saarinen">
      <organization>PQShield</organization>
      <address>
        <email>mjos@pqshield.com</email>
      </address>
    </author>
    <author fullname="J. Gray">
      <organization>Entrust</organization>
      <address>
        <email>john.gray@entrust.com</email>
      </address>
    </author>
    <author fullname="D. Hook">
      <organization>KeyFactor</organization>
      <address>
        <email>david.hook@keyfactor.com</email>
      </address>
    </author>
    <date year="2023" month="October" day="03"/>
    <workgroup>LAMPS</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 70?>
<t>Many of the post quantum cryptographic algorithms have large public keys. In the interest of reducing bandwidth of transitting X.509 certificates, this document defines new public key and algorithms for referencing external public key data by hash, and location, for example URL. This mechanism is designed to mimic the behaviour of an Authority Information Access extension.</t>
      <!-- End of Abstract -->



    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://EntrustCorporation.github.io/draft-pq-external-pubkeys/draft-ounsworth-pq-external-pubkeys.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ounsworth-lamps-pq-external-pubkeys/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/EntrustCorporation/draft-pq-external-pubkeys"/>.</t>
    </note>
  </front>
  <middle>
    <?line 76?>

<section anchor="sec-intro">
      <name>Introduction</name>
    </section>
    <section anchor="sec-pub">
      <name>External Value</name>
      <t>The id-external-value algorithm identifier is used for identifying a public key or signature which is provided as a reference to external data.</t>
      <artwork><![CDATA[
id-external-value OBJECT IDENTIFIER  ::=  { iso(1)
            identified-organization(3) dod(6) internet(1)
            security(5) mechanisms(5) pkix(7) algorithms(6)
            TBDOID }
]]></artwork>
      <t>EDNOTE: for prototyping purposes, <tt>id-external-value ::= 1.3.6.1.4.1.22554.4.2</tt></t>
      <t>The corresponding subjectPublicKey is the DER encoding of the following structure:</t>
      <artwork><![CDATA[
ExternalValue ::= SEQUENCE {
  location     GeneralNames,
  hashAlg      AlgorithmIdentifier,
  hashVal      OCTET STRING
}
]]></artwork>
      <t>Upon retrieval of the referenced data, the hash of the OCTET STRING of the retrieved data (removing base64 encoding as per <xref target="RFC4648"/> if necessary) MUST be verified using hashAlg to match the <tt>ExternalPublicKey.hash</tt> value.</t>
      <t><tt>GeneralNames</tt> is defined in [!RFC5280] as</t>
      <artwork><![CDATA[
GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
]]></artwork>
      <t>which we use instead of <tt>GeneralName</tt> so that certificate issuers can
specify multiple backup key servers for high availability or specify key
identifiers in multiple formats if the corresponding public keys will
be distributed in multiple keystore formats. When multiple key locations
are specified, they MUST represent alternative locations for retrieval of the
same key and MUST NOT be used as a mechanism to place multiple subject
keys into a single certificate. Thus, when multiple key locations
are specified, the client MAY try them in any order and stop when it
successfully retrieves a public key whose hash matches <tt>hashVal</tt>.</t>
      <section anchor="external-public-key">
        <name>External Public Key</name>
        <t>When used with a public key, algorithm parameters for id-external-value are absent.</t>
        <t>When ExternalValue is placed into a SubjectPublicKeyInfo.subjectPublicKey, the ExternalValue.location MUST refer to a DER-encoded SubjectPublicKeyInfo, which MAY be base64 encoded as per <xref target="RFC4648"/> for easier transport over text protocols.</t>
        <!-- End of Introduction section -->

</section>
    </section>
    <section anchor="sec-iana">
      <name>IANA Considerations</name>
      <t>##  Object Identifier Allocations</t>
      <section anchor="module-registration-smi-security-for-pkix-module-identifier">
        <name>Module Registration - SMI Security for PKIX Module Identifier</name>
        <ul spacing="normal">
          <li>
            <t>Decimal: IANA Assigned - <strong>Replace TBDMOD</strong></t>
          </li>
          <li>
            <t>Description: EXTERNAL-PUBKEY-2023 - id-mod-external-pubkey</t>
          </li>
          <li>
            <t>References: This Document</t>
          </li>
        </ul>
        <section anchor="object-identifier-registrations-smi-security-for-pkix-algorithms">
          <name>Object Identifier Registrations - SMI Security for PKIX Algorithms</name>
          <ul spacing="normal">
            <li>
              <t>Attest Statement
              </t>
              <ul spacing="normal">
                <li>
                  <t>Decimal: IANA Assigned - Replace <strong>TBDOID</strong></t>
                </li>
                <li>
                  <t>Description: id-external-value</t>
                </li>
                <li>
                  <t>References: This Document</t>
                </li>
              </ul>
            </li>
          </ul>
          <!-- End of IANA Considerations section -->

</section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>There are no security implications to externalizing a public key from a certificate as described in this draft. It is of course possible for a malicious actor to replace or tamper with the public key data at the referenced location, but since the hash of the public key data is included in the signed certificate, any such tampering will be detected and the certificate verification will fail. For this reason, external public key data MAY be served over an insecure channel such as HTTP.</t>
      <section anchor="csrs-and-ct-logs">
        <name>CSRs and CT logs</name>
        <t>In practice, situations will arise where the ExternalPublicKey.location refers to a location which is not publicly available either because it is in a local keystore, on a private network, or no longer being hosted.</t>
        <t>Not having the public key in a certificate signing request (CSR) could make it substantially harder for CAs to perform vetting of the key, for example for cryptographic strength or checking for prior revocation due to key compromise. A certificate requester MUST make the full public key available to the CA at the time of certificate request either by ensuring that the link in the ExternalPublicKey.location is visible to the CA, or by supplying the full public key to the CA out of band.</t>
        <t>Not having the public key in Certificate Transparency (CT) logs could make it substantially harder for researchers to perform auditing tasks on CT logs. This may require additional CT mechanisms.</t>
        <!-- End of Security Considerations section -->

</section>
    </section>
    <section anchor="appendices">
      <name>Appendices</name>
      <section anchor="asn1-module">
        <name>ASN.1 Module</name>
        <artwork><![CDATA[
EXTERNAL-PUBKEY-2023
           {iso(1) identified-organization(3) dod(6) internet(1) security(5)
       mechanisms(5) pkix(7) id-mod(0) id-mod-external-pubkey(TBDMOD)}

DEFINITIONS IMPLICIT TAGS ::= BEGIN

EXPORTS ALL;

IMPORTS

  GeneralNames
  FROM PKIX1Implicit-2009
      {iso(1) identified-organization(3) dod(6) internet(1) security(5)
      mechanisms(5) pkix(7) id-mod(0) id-mod-pkix1-implicit-02(59)}

  AlgorithmIdentifier{}
  FROM AlgorithmInformation-2009
      {iso(1) identified-organization(3) dod(6) internet(1) security(5)
      mechanisms(5) pkix(7) id-mod(0)
      id-mod-algorithmInformation-02(58)}

;

id-external-value OBJECT IDENTIFIER  ::=  { iso(1) 
            identified-organization(3) dod(6) internet(1) 
            security(5) mechanisms(5) pkix(7) algorithms(6)
            TBDOID }

ExternalValue ::= SEQUENCE {
  location     GeneralNames,
  hashAlg      AlgorithmIdentifier,
  hashVal      OCTET STRING
}

END
]]></artwork>
      </section>
      <section anchor="samples">
        <name>Samples</name>
        <t>Here is a sample of a Kyber1024 end entity certificate with an external public key. A trust anchor certificate using the algorithm ecdsaWithSHA256 is provided so that the Kyber1024 End Entity certificate can be verified.</t>
        <t>This is a modest example demonstrating a 550 byte Kyber1024 certificate and a 2.2 kb external Kyber1024 public key. This "compression" effect will be even more pronounced with algorithms such as Classic McEliece which have public keys in the hundreds of kilobytes; with the external public key mechanism, the size of the certificate remains constant regardless of how large the externalized subject public key is.</t>
        <t>End entity Kyber1024 Certificate with <tt>ExternalValue</tt> public key:</t>
        <artwork><![CDATA[
-----BEGIN CERTIFICATE-----
MIIBbDCCARGgAwIBAgIGAYro4QFGMAoGCCqGSM49BAMCMDoxDjAMBgNVBAMMBVFT
IENBMRswGQYDVQQKDBJRdWFudGl0eSBTdXJ2ZXlvcnMxCzAJBgNVBAYTAlhYMB4X
DTIzMTAwMTAxMzYxNFoXDTI0MDEwOTAxMzYxNFowHTEbMBkGA1UEAwwSRXRoZWwg
dGhlIEFhcmR2YXJrMGkwDAYKKwYBBAGBsBoEAgNZADBWMCWGI2ZpbGU6Ly9sb2Nh
bF9rZXlzZXJ2ZXIvc3VydmV5b3JzLmRiMAsGCWCGSAFlAwQCAQQg0K1P456WkMCO
RxsGOm271ynblXxFCgkTDI78by/RRJCjEDAOMAwGA1UdEwEB/wQCMAAwCgYIKoZI
zj0EAwIDSQAwRgIhANqC6ZVDVrgaFFPxJcnhJO6kRGU9dHv5vRDcf2paXxSfAiEA
2s/xoctsB1oCisbjK9HCUw/rzXoVKhkt1ZEXuapJYCk=
-----END CERTIFICATE-----
]]></artwork>
        <t>For illustrative purposes, the <tt>SubjectPublicKeyInfo</tt> within the end entity certificate decodes as:</t>
        <artwork><![CDATA[
subjectPublicKeyInfo SubjectPublicKeyInfo SEQUENCE (2 elem)
      algorithm AlgorithmIdentifier SEQUENCE (1 elem)
        algorithm OBJECT IDENTIFIER 1.3.6.1.4.1.22554.4.2 ExternalValue
      subjectPublicKey BIT STRING (704 bit)
        SEQUENCE (3 elem)
          SEQUENCE (1 elem)
            [6] (35 byte) file://local_keyserver/surveyors.db
          SEQUENCE (1 elem)
            OBJECT IDENTIFIER 2.16.840.1.101.3.4.2.1 sha-256
          OCTET STRING (32 byte) D0AD4FE39E9690C08E4...
]]></artwork>
        <t>The external public key object referenced by the end entity certificate is:</t>
        <artwork><![CDATA[
-----BEGIN PUBLIC KEY-----
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
JHIT3nFqKNQ=
-----END PUBLIC KEY-----
]]></artwork>
        <t>For illustrative purposes, the key data, which is itself a <tt>SubjectPublicKeyInfo</tt>, decodes as:</t>
        <artwork><![CDATA[
SEQUENCE (2 elem)
  SEQUENCE (1 elem)
    OBJECT IDENTIFIER 1.3.6.1.4.1.22554.5.6.3 Kyber1024
  BIT STRING (12544 bit) 001111000100000101000
]]></artwork>
        <t>The following trust anchor certificate can be used to validate the above end entity certificate.</t>
        <artwork><![CDATA[
-----BEGIN CERTIFICATE-----
MIIBfTCCASSgAwIBAgIGAYro4QBFMAoGCCqGSM49BAMCMDoxDjAMBgNVBAMMBVFT
IENBMRswGQYDVQQKDBJRdWFudGl0eSBTdXJ2ZXlvcnMxCzAJBgNVBAYTAlhYMB4X
DTIzMTAwMTAxMzYxNFoXDTI0MDEwOTAxMzYxNFowOjEOMAwGA1UEAwwFUVMgQ0Ex
GzAZBgNVBAoMElF1YW50aXR5IFN1cnZleW9yczELMAkGA1UEBhMCWFgwWTATBgcq
hkjOPQIBBggqhkjOPQMBBwNCAASZNnsQba2aDhAfhCTE670YBBvGfo7cU69VR2I+
NQt321Feh+Au0/S+RobWtyx6JnFnAb/Y00YhQdA1liz0i4lFoxYwFDASBgNVHRMB
Af8ECDAGAQH/AgEAMAoGCCqGSM49BAMCA0cAMEQCIHV0TdjJm9vCn3k93xhTXMQ0
D8tQuzXJtFXNGtKk8OQQAiBn8yKLzreor7QrdGUHCH7g0kaDcyI4xXn95aPjgi/V
NA==
-----END CERTIFICATE-----
]]></artwork>
      </section>
      <section anchor="intellectual-property-considerations">
        <name>Intellectual Property Considerations</name>
        <t>None.</t>
      </section>
    </section>
    <section anchor="contributors-and-acknowledgements">
      <name>Contributors and Acknowledgements</name>
      <t>This document incorporates contributions and comments from a large group of experts. The Editors would especially like to acknowledge the expertise and tireless dedication of the following people, who attended many long meetings and generated millions of bytes of electronic mail and VOIP traffic over the past year in pursuit of this document:</t>
      <t>Serge Mister (Entrust).</t>
      <t>We are grateful to all, including any contributors who may have
been inadvertently omitted from this list.</t>
      <t>This document borrows text from similar documents, including those referenced below. Thanks go to the authors of those
   documents.  "Copying always makes things easier and less error prone" - <xref target="RFC8411"/>.</t>
      <section anchor="making-contributions">
        <name>Making contributions</name>
        <t>Additional contributions to this draft are welcome. Please see the working copy of this draft at, as well as open issues at:</t>
        <t>https://github.com/EntrustCorporation/draft-ounsworth-pq-external-keys</t>
        <!-- End of Contributors section -->

</section>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC4648">
        <front>
          <title>The Base16, Base32, and Base64 Data Encodings</title>
          <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
          <date month="October" year="2006"/>
          <abstract>
            <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4648"/>
        <seriesInfo name="DOI" value="10.17487/RFC4648"/>
      </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="RFC8411">
        <front>
          <title>IANA Registration for the Cryptographic Algorithm Object Identifier Range</title>
          <author fullname="J. Schaad" initials="J." surname="Schaad"/>
          <author fullname="R. Andrews" initials="R." surname="Andrews"/>
          <date month="August" year="2018"/>
          <abstract>
            <t>When the Curdle Security Working Group was chartered, a range of object identifiers was donated by DigiCert, Inc. for the purpose of registering the Edwards Elliptic Curve key agreement and signature algorithms. This donated set of OIDs allowed for shorter values than would be possible using the existing S/MIME or PKIX arcs. This document describes the donated range and the identifiers that were assigned from that range, transfers control of that range to IANA, and establishes IANA allocation policies for any future assignments within that range.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8411"/>
        <seriesInfo name="DOI" value="10.17487/RFC8411"/>
      </reference>
    </references>
  </back>
  <!-- ##markdown-source:
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
1cR07Ne7o1mbHa+dC+sfUb0V9/s8ACCzZrhMiJX+srfJLPtMGc6823DjxvEp
aCmREAzEzaafDi/BaZju3UO7XRsiqaw1JW49G7bM8Gm0YKxmf9vVjI5i2zr1
JPX6LtR7cW9+vmwk4dS2mYAdc5uOMe0a1pS3p6PzLA5U8IJDdm4bS6NnNZmd
N2b6L8zSpuKNVWk2lNZLlGgzPRwstod+G7xOHMRyMrTSSi9O5+FwmD1Nztac
a80gkzOd9XLEJf5SSWdU2RZNS58NdOeiPk0iiUGG4w6F3gurtF3nUD4MlNVh
56WNsraoqotFeE6zpLye6lVHHU3DKaWvZ1zTlM7t5nAZCgfPS+eyXVZjV9A5
NBi6FcnMjuL07OuTBlqMKwP+vK/OtqrTSZrSQmhTdZlXNmc76DfjMAu9xr4/
EQ9o0meX/eTCbTivpuh2PxGYzXylTp2Xg+q2p7bZmaHF3GwORtT64G36XNBF
rN3f712/ex43NUF54XdOu6st3ZpsWurKsC8ju9pciV5k7QaHnr3P+PGhfU5i
yt5OKhk7XOkvrOTspctsYDKoMd9sfP24FuP+HllKNfV24TCtHi+JHwpJveku
9dZcXqPLsUdxPCstjQPTE8Qeu3NPl9A8ijV3JqfebLbQLmgUcwxj1tueWT2E
kcgNddvRPb8ySk/zrjel5ItW1TvzVbnbb4yFYdLhsoHfdytHbyQko6WaHk3U
YZGrd/pze9vtspxcayhmi9mujzVjoFIvG4Hdt5xoEM4dR0ikmYOal8VpYohK
v/XkjBqi1OHCxe4wDLmXWK14DOcgRtlMbcZA0bROKaZmd6uT0JEcpVp1pLKs
tOb1IzNSGFNtnLtKY8fWl+auGSGWa28mk6Zrr6Upv+n01W7knCh5ulkNNWE9
6InsYmU0zXI/ikETDGDUYRQrorJsPclWPfDH7UnTkZ3tWWmV5y813+urDPdE
dbbjlBuwB7kX1CVRqbRf2KeBJy+bm15LXCw6x6l81HgrYnt29zSeSnEcz55q
nJ9IwpPGny1K0RZMOnDtvTlFEat3HbVvjUVmJfeRpQpDXdmd5WXl1OBYbjGO
ztt5KNvMMdwPKv5wHqA9Jfkm84RSkW9shKlyGVXnMgchJNtMpq1FOB37neCy
48/K2WVHSVlpXU6qlFSWnb2l6ftIjik5O7N13uvUs5j3tcnES9SlyTBsu7Lp
DydsWGuny2S+7a0vKPIG3nw4jpf9ltwc1bJ2LzBZqm4lQZTNp0YqrNYqYhYz
bu175q6e9eLTxRdHQ0vahMOgVxv6vbTfnb4EFZVbTMJtOlkpqkXNdGUoZnr7
qZ2Vy4MwrbcdnqvuRv1WuOzMF9a2P5FEZrwM+4G/vPCShmwr4Mf6qDrh24v5
kVrXTg0lUMOhY8S8KXiB5ByfqoJ9Gky3MytEcfUkaWXn/GJbpy2zPqbqXpQ2
8rzBh0/Rvlel5r5TRZEou1pmSSoTNXdLDQ3VRX0873e06ShbLJrrCb/aTPq9
rdZb8a7W7g14letDaNIWLarXlWd1Xzz0h+OHjPp9GvJnEurrycL3e8veTmLk
4kbD58n294+59GcZ8ue535/JeJvwvX6vOWHeY2pbrTUbeXJLVypV+KnAr0qF
/It/37O9+72Xn3Y8iqYEOZ5OAnxtw8b34fIeyDY4/iwLLP252nY3g9p2On1X
27Li/6/aVt0L1wIR17bifKGY44pwpqQLs8lXDRTBFavrZbOirSZNWRxWdX/j
omUn0y/CQGHywpi1oMIVzdNyxsxYUz9QlrNXR2OZZU3zkH9WWPY0BJyfboZ+
PN5qNUArZmdBOt96qUDFfJR2wYs+b3UWk5r8RA3HSb1WFZH1xKSV8vRpEmyX
SXZu9XzRZ7bldaWytsYGU3XtS8VuuGJwXp9EnpliqrsThaWYXVvgeEZixt0y
YwrMe8kzFZ1RhDEndxeVmbHveZ0j59edTv1szVbKuELx7WScXla9RFwNpaTv
tNXxmLFZv531B5cIBdHLODKkeZfrvpgVR+P1TG6cV36nqY32pl1eUEPmr/9t
0fsLucSHXBecLcX3J6IgBGP7eGQ7DHyU37bAr/JrMVB1kRYYozt+cHKRYZKT
6bhosN3uSdq+XlzCRqRNlM8mZwt4uh54ZNr1VDfvFpGr67iBhM6YInKugWjB
sMm2J3J4gsgFFHJi4uLLzfgk8E5L0XDCs/GRIjkWtSNEGlMGMq6noR/uqoUo
CF2EYQmWSxJ8Sx+f0/gZOfWjPYRwdzCn3STdWHzq6gHUEZbwERHurhHasVyj
wIeKD1/VJVMWqjzC1y524NDFpQt8fKQBTmRIi3DHDoAyTu0kJ+1BkgB6EDyB
M8Ump21fi9vG3/DFlPxA3cTU7FKXyMJ1vxenyqSd6Wd36RMhWgE5J8JNQ2qL
8JUcXzOAIuA5AZkGnp1g1oheCCEu7Ft6r95tEOFb/PndETI2tj184f82JH4k
IyH3eR6rXgSCx+rVfCemzeB65JbfcI9zKcAcDOO3FUs0/YULwvwqqHvSspgc
peG7iEQ5xfUWcpWW3G8FGsmdSB99oZ/JXRh87fkf+Rm1opET0De2SVEPfy3x
1moJgdfrBUTsJ8j+Ag+V6JELO+Nj8tz8TsUfTehA6l2d+bTkO27kwkwX/wa/
8/P7cGBZWNOfXK7+6d9EfP7nCrhL8u7+zhvffTzY+y+D8CZ/mDMAAA==

-->

</rfc>
