<?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.6.39 (Ruby 3.0.2) -->
<?rfc rfcedstyle="yes"?>
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc text-list-symbols="-o*+"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-cose-key-thumbprint-01" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.0 -->
  <front>
    <title>COSE Key Thumbprint</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-cose-key-thumbprint-01"/>
    <author initials="K." surname="Isobe" fullname="Kohei Isobe">
      <organization>SECOM CO., LTD.</organization>
      <address>
        <email>isobekohei@gmail.com</email>
      </address>
    </author>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization/>
      <address>
        <email>hannes.tschofenig@gmx.net</email>
      </address>
    </author>
    <date year="2023" month="August" day="07"/>
    <area>Security</area>
    <workgroup>COSE</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 50?>

<t>This specification defines a method for computing a hash value over a
   COSE Key. It defines which fields in a COSE Key structure are used in the
   hash computation, the method of creating a canonical form of the fields,
   and how to hash the byte sequence. The resulting hash value can be used
   for identifying or selecting a key that is the subject of the thumbprint.</t>
    </abstract>
  </front>
  <middle>
    <?line 58?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This specification defines a method for computing a hash value (a.k.a. digest)
   over a COSE Key structure <xref target="RFC9052"/>.  It defines which fields in a COSE Key
   structure are used in the hash computation, the method of creating a canonical
   form for those fields, and how to hash the byte sequence.  The resulting hash
   value can be used for identifying or selecting the key that is the subject of
   the thumbprint, for instance, by using the COSE Key Thumbprint value as a "kid"
   (key ID) value.</t>
      <t>This specification only defines how thumbprints of COSE keys are created.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" 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>
    </section>
    <section anchor="cose-key-thumbprint">
      <name>COSE Key Thumbprint</name>
      <t>The thumbprint of a COSE Key MUST be computed as follows:</t>
      <ol spacing="normal" type="1"><li>Construct a COSE_Key structure (see Section 7 of <xref target="RFC9052"/>) containing
 only the required parameters representing the key. This specification
 describes what those required parameters are and what, if necessary, 
 what the unique encoding is.</li>
        <li>Apply the deterministic encoding described in Section 4.2.1 of <xref target="RFC8949"/>
to the representation constructed in step (1).</li>
        <li>Hash the bytes produced in step (2) with a cryptographic hash function H.
For example, SHA-256 <xref target="RFC6234"/> may be used as a hash function.</li>
      </ol>
      <t>The resulting value is the COSE Key Thumbprint with H of the COSE Key.  The
   details of this computation are further described in subsequent
   sections.</t>
    </section>
    <section anchor="required">
      <name>Required COSE Key Parameters</name>
      <t>Only the required parameters of a key's representation are used when
   computing its COSE Key Thumbprint value. This section summarizes the
   required parameters.</t>
      <t>The "kty" (label: 1) element MUST be present for all key types and the integer
   value found in the IANA COSE Key Types registry MUST be used. The tstr data
   type is not used with the kty element.</t>
      <t>Many COSE Key parameters depend on the chosen key type. The subsection below list
   the required parameters for commonly used key types.</t>
      <section anchor="octet-key-pair-okp">
        <name>Octet Key Pair (OKP)</name>
        <t>The required parameters for elliptic curve public keys that use the OKP key type,
such as X25519, are:</t>
        <ul spacing="normal">
          <li>"kty" (label: 1, data type: int, value: 1)</li>
          <li>"crv" (label: -1, value: int)</li>
          <li>"x" (label: -2, value: bstr)</li>
        </ul>
        <t>Details can be found in Section 7.1 of <xref target="RFC9053"/>.</t>
      </section>
      <section anchor="elliptic-curve-keys-w-x-and-y-coordinate-pair">
        <name>Elliptic Curve Keys w/ x- and y-coordinate pair</name>
        <t>The required parameters for elliptic curve public keys that use the EC2 key type, such
as NIST P-256, are:</t>
        <ul spacing="normal">
          <li>"kty" (label: 1, data type: int, value: 2)</li>
          <li>"crv" (label: -1, data type: int)</li>
          <li>"x" (label: -2, data type: bstr)</li>
          <li>"y" (label: -3, data type: bstr)</li>
        </ul>
        <t>Details can be found in Section 7.1 of <xref target="RFC9053"/>.</t>
        <t>Note: <xref target="RFC9052"/> offers both compressed as well as uncompressed point
representations. For interoperability, implementations following this 
specification MUST use the uncompressed point representation. Hence, 
the y-coordinate is expressed as a bstr. An implementation that uses 
the compressed point representation MUST compute the uncompressed 
representation for the purpose of the thumbprint calculation.</t>
      </section>
      <section anchor="rsa-public-keys">
        <name>RSA Public Keys</name>
        <t>The required parameters for an RSA public key are:</t>
        <ul spacing="normal">
          <li>"kty" (label: 1, data type: int, value: 3)</li>
          <li>"n" (label: -1, data type: bstr)</li>
          <li>"e" (label: -2, data type: bstr)</li>
        </ul>
      </section>
      <section anchor="symmetric-keys">
        <name>Symmetric Keys</name>
        <t>The required parameters for a symmetric key are:</t>
        <ul spacing="normal">
          <li>"kty" (label: 1, data type: int, value: 4)</li>
          <li>"k" (label: -1, data type: bstr,)</li>
        </ul>
      </section>
      <section anchor="hss-lms">
        <name>HSS-LMS</name>
        <t>The required parameters for HSS-LMS keys are:</t>
        <ul spacing="normal">
          <li>"kty" (label: 1, data type: int, value: 5)</li>
          <li>"pub" (label: -1, data type: bstr)</li>
        </ul>
      </section>
      <section anchor="others">
        <name>Others</name>
        <t>As other key type values are defined, the specifications
   defining them should be similarly consulted to determine which
   parameters, in addition to the "kty" element, are required.</t>
      </section>
    </section>
    <section anchor="miscellaneous-considerations">
      <name>Miscellaneous Considerations</name>
      <section anchor="why-not-include-optional-cose-key-parameters">
        <name>Why Not Include Optional COSE Key Parameters?</name>
        <t>Optional parameters of COSE Keys are intentionally not included in the
   COSE Key Thumbprint computation so that their absence or presence
   in the COSE Key does not alter the resulting value.  The COSE Key
   Thumbprint value is a digest of the parameters required to represent
   the key as a COSE Key -- not of additional data that may also 
   accompany the key.</t>
        <t>Optional parameters are not included so that the COSE Key Thumbprint refers
   to a key -- not a key with an associated set of key attributes.
   Different application contexts might or might not include different
   subsets of optional attributes about the key in the COSE Key structure.
   If these were included in the calculation of the COSE Key Thumbprint,
   the values would be different for those COSE Keys, even though the keys
   are the same. The benefit of including only the required parameters is that the
   COSE Key Thumbprint of any COSE Key representing the key remains the same,
   regardless of any other attributes that are present.</t>
        <t>Different kinds of thumbprints could be defined by other
   specifications that might include some or all additional COSE Key parameters,
   if use cases arise where such different kinds of thumbprints would be
   useful.</t>
      </section>
      <section anchor="selection-of-hash-function">
        <name>Selection of Hash Function</name>
        <t>A specific hash function must be chosen by an application to compute
   the hash value of the hash input.  For example, SHA-256 <xref target="RFC6234"/> might
   be used as the hash function by the application.  While SHA-256 is a
   good default choice at the time of writing, the hash function of
   choice can be expected to change over time as the cryptographic
   landscape evolves.</t>
        <t>Note that in many cases, only the party that creates a key will need
   to know the hash function used.  A typical usage is for the producer
   of the key to use the thumbprint value as a "kid" (key ID) value. In
   this case, the consumer of the "kid" treats it as an opaque value that
   it uses to select the key.</t>
        <t>However, in some cases, multiple parties will be reproducing the COSE Key
   Thumbprint calculation and comparing the results.  In these cases,
   the parties will need to know which hash function was used and use
   the same one.</t>
      </section>
      <section anchor="thumbprints-of-keys-not-in-cose-key-format">
        <name>Thumbprints of Keys Not in COSE Key Format</name>
        <t>A key need not be in COSE Key format to create a COSE Key Thumbprint
   of it.  The only prerequisites are that the COSE Key representation of the
   key be defined and the party creating the COSE KEY Thumbprint be in
   possession of the necessary key material.</t>
      </section>
      <section anchor="relationship-to-digests-of-x509-values">
        <name>Relationship to Digests of X.509 Values</name>
        <t>COSE Key Thumbprint values are computed on the COSE Key element required to
   represent a key, rather than all members of a COSE Key that the key is
   represented in.  Thus, they are more analogous to applications that
   use digests of X.509 Subject Public Key Info (SPKI) values, which are
   defined in Section 4.1.2.7 of <xref target="RFC5280"/>, than to applications that
   use digests of complete certificate values, as the "x5t" (X.509
   certificate SHA-1 thumbprint) <xref target="RFC9360"/> value defined for X.509
   certificate objects does.  While logically equivalent to a digest of
   the SPKI representation of the key, a COSE Key Thumbprint is computed over
   the CBOR representation of that key, rather than over an ASN.1
   representation of it.</t>
      </section>
    </section>
    <section anchor="example">
      <name>Example</name>
      <t>This section demonstrates the COSE Key Thumbprint computation for the
   following example COSE Key containing an ECC public key.</t>
      <t>For better readability, the example is first presented in JSON (with 
   the long line broken for display purposes only).</t>
      <artwork><![CDATA[
  {
    / kty set to EC2 = Elliptic Curve Keys /
    1:2,
    / crv set to P-256 /
    -1:1,
    / public key: x-coordinate /
    -2:h'65eda5a12577c2bae829437fe338701a10aaa375e1bb5b5de108de439c0
8551d',
    / public key: y-coordinate /
    -3:h'1e52ed75701163f7f9e40ddf9f341b3dc9ba860af7e0ca7ca7e9eecd008
4d19c',
    / kid /
    2:'meriadoc.brandybuck@buckland.example'
  }
]]></artwork>
      <t>The example above corresponds to the following CBOR encoding
(with link breaks added for display purposes only):</t>
      <artwork><![CDATA[
A50102200121582065EDA5A12577C2BAE829437FE338701A10AAA375E1BB5B5DE108D
E439C08551D2258201E52ED75701163F7F9E40DDF9F341B3DC9BA860AF7E0CA7CA7E9
EECD0084D19C0258246D65726961646F632E6272616E64796275636B406275636B6C6
16E642E6578616D706C65
]]></artwork>
      <t>Not all of the parameters from the example above are used in the COSE Key
Thumbprint since the required parameters of an elliptic curve public key are:</t>
      <ul spacing="normal">
        <li>"kty"</li>
        <li>"crv"</li>
        <li>"x"</li>
        <li>"y"</li>
      </ul>
      <t>The required order based on Section 4.2.1 of <xref target="RFC8949"/> is:</t>
      <ul spacing="normal">
        <li>"y" (label: -3, data type: bstr)</li>
        <li>"x" (label: -2, data type: bstr)</li>
        <li>"crv" (label: -1, data type: int)</li>
        <li>"kty" (label: 1, data type: int)</li>
      </ul>
      <t>The resulting COSE Key structure, in CBOR diagnostic format with
line-breaks added for better readability, with the minimum parameters
in the correct order are.</t>
      <artwork><![CDATA[
{
   1:2,
  -1:1,
  -2:h'65eda5a12577c2bae829437fe338701a
       10aaa375e1bb5b5de108de439c08551d',
  -3:h'1e52ed75701163f7f9e40ddf9f341b3d
       c9ba860af7e0ca7ca7e9eecd0084d19c'
}
]]></artwork>
      <t>In CBOR encoding the result is (with line-breaks added for display
purposes only):</t>
      <artwork><![CDATA[
A40102200121582065EDA5A12577C2BAE829437FE338701A10AAA375E1BB5B5DE
108DE439C08551D2258201E52ED75701163F7F9E40DDF9F341B3DC9BA860AF7E0
CA7CA7E9EECD0084D19C
]]></artwork>
      <t>Using SHA-256, the resulting thumbprint is:</t>
      <artwork><![CDATA[
496bd8afadf307e5b08c64b0421bf9dc01528a344a43bda88fadd1669da253ec
]]></artwork>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>A COSE Key Thumbprint will only uniquely identify a particular key if a
   single unambiguous COSE Key representation for that key is defined and
   used when computing the COSE Key Thumbprint.</t>
      <t>If two asymmetric keys are used by different parties with different
   key identifiers then the COSE Key Thumbprints will still be equal since
   the key identifier itself is not included in the thumbprint calculation
   (similarly to other optional parameters in the COSE_Key structure). 
   When the inclusion of certain optinal parameters in the thumbprint calcuation
   is important for a given application, this specification is not the
   appropriate choice.</t>
      <t>To promote interoperability among implementations, the SHA-256 hash
   algorithm is mandatory to implement.</t>
      <t>While thumbprint values are valuable for
   identifying legitimate keys, comparing thumbprint values is not a
   reliable means of excluding the use of particular keys
   (or transformations thereof). The reason is that an attacker may
   supply a key that is a transformation of a key in order to have it 
   appear to be a different key.  For instance, if a legitimate RSA key
   uses a modulus value N and an attacker supplies a key with modulus 3*N,
   the modified key would still work about 1/3 of the time, but would appear
   to be a different key.</t>
      <t>Producing thumbprints of symmetric keys needs to be done with care. Developers
   MUST ensure that the symmetric key has sufficient entropy to prevent
   attackers to precompute tables of symmetric keys with their corresponding
   hash values. This can be prevented if the symmetric key is a randomly
   selected key of at least 128 bit length. Using thumbprints with passwords
   (i.e. low-entropy secrets) is dangerous and MUST be avoided. If a
   developer is unable to determine whether all symmetric keys used in an
   application have sufficient entropy, then thumbprints of symmetric keys
   MUST NOT be used. In general, using thumbprints of symmetric keys should
   only be used in special applications. In most other deployment scenarios
   it is more appropriate to utilize a different naming scheme for key
   identifiers.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>There are no actions for IANA.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>We would like to thank the authors of <xref target="RFC7638"/> for their work on the
JSON Web Key (JWK) Thumbprint specification. This document applies JWK
Thumbprints to COSE Key structures.</t>
      <t>Additionally, we would like to thank Carsten Bormann, Orie Steele,
Ilari Liusvaara, Laurence Lundblade, Daisuke Ajitomi, Michael Richardson,
Mike Jones, and Brendan Moran for their feedback.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <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="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </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>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC9053">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC7638">
          <front>
            <title>JSON Web Key (JWK) Thumbprint</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>This specification defines a method for computing a hash value over a JSON Web Key (JWK). It defines which fields in a JWK are used in the hash computation, the method of creating a canonical form for those fields, and how to convert the resulting Unicode string into a byte sequence to be hashed. The resulting hash value can be used for identifying or selecting the key represented by the JWK that is the subject of the thumbprint.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7638"/>
          <seriesInfo name="DOI" value="10.17487/RFC7638"/>
        </reference>
        <reference anchor="RFC6234">
          <front>
            <title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="May" year="2011"/>
            <abstract>
              <t>Federal Information Processing Standard, FIPS</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6234"/>
          <seriesInfo name="DOI" value="10.17487/RFC6234"/>
        </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="RFC9360">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Header Parameters for Carrying and Referencing X.509 Certificates</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="February" year="2023"/>
            <abstract>
              <t>The CBOR Object Signing and Encryption (COSE) message structure uses references to keys in general. For some algorithms, additional properties are defined that carry parameters relating to keys as needed. The COSE Key structure is used for transporting keys outside of COSE messages. This document extends the way that keys can be identified and transported by providing attributes that refer to or contain X.509 certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9360"/>
          <seriesInfo name="DOI" value="10.17487/RFC9360"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61bW3PbOJZ+V5X+Ayr9EHtWUutuy1VbO7IlV9xJ7GzsbGae
pkASkjDmRUOQdjRd7t8+5wKApCw72cx0pToUCRwcnMt3LkC63W67VegiVmfi
4uZ2Kd6rnbjblEmwzXVatFsyCHL1cCbarSgLU5nAuCiXq6KrVbHqhplR3Xu1
6xZ+Src/aLdCWah1lu/OhCmidqvd0tv8TBR5aYphvz/rD4FwruSZuFVhmeti
1249Zvn9Os/KLTPSbgFZeBediau0UHmqiu4CF0ZqppBp9DcZZymws1Om3drq
s3ZLiHwVqsgUu9i9F6LIwvqzTiOVFv6NyfIiVytTvdglzd9FrsNqfJglCcyv
vus01mltNfWt6MbaFF0gFGQxDOxmf/ov/ATyS+R2q9O1HQ0yKItNliPnXRyB
/+kUprzviSuTBcq9ZLm/zzZKNz+oROr4TGh8d4+f/7zGNz1g0w3Jcljvdnlx
8xHk2uuID3eLHq69t+S7nrgz4SZbqVSvm+u+k2mqzIHPdvUNfe8V/jsw8a0H
CsNl0ixPZKEfFOnn8+XFcDCYuefT2bh6HpyM3fOsPxnWnkdnZELpap/WyXR0
6p6nw5GfPxme9v380bRP87vdrpAB6FOGxBls4G6jjTBbFeqVBpPVWSoitdK4
WykSBcqJBCyKWt+WBWgOXm+k2YgHGZdKZA8qF5IoOd8BxRWexuNGhxux0iqO
DEgZJnsXAzbKsChzJcAPRGlUhAOKDWuW1uBFiasOfnEMZSsRgu9YdkKZZikw
HyOjCX7Eobxmh4iBq4hN9gjGz3Txe7ArlDDqH6VKQwWah1e5MmVMRGs7BOoi
YP6IFgpDowPp1Q6Hwk+jYhVaZsBlgbwswCBpGVMGf4ePjqsKJHpOIYmOoljh
r1/Qz/MsArHAjv8zCjqSvfue7IlIr5UpjokkK+2QJn7/3Zre01NP/JgeieKL
uvwpPTo5J7QxGGm8On9ElQd0SRSf6fN1XSLll7VJFJsa7TC9FKE5VB1gC1Zx
lA5EFsuQREW+udfRG6J5hGteLY75a+9lK8jSeOf1QyLxlA1KllYEYoZ0QnJW
UY/t7E7liU6zOFvv/AK8W4w3Rrz5+OX27k2H/xbXN/T8efm/X64+Lxf4fPtu
/uGDf+ARRAde3Hz5YMfgUzUb8Pfj8nrBBOCt2Hv1cf7XN6RgJnTz6e7q5nr+
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
OT7cxd81AAA=

-->

</rfc>
