<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version  (Ruby 3.1.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-koch-openpgp-webkey-service-17" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title>OpenPGP Web Key Directory</title>

    <author initials="W." surname="Koch" fullname="Werner Koch">
      <organization>g10 Code GmbH</organization>
      <address>
        <email>wk@gnupg.org</email>
      </address>
    </author>

    <date year="2023" month="December" day="19"/>

    <area>sec</area>
    <workgroup>Network Working Group</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This specification describes a service to locate OpenPGP keys by mail
address using a Web service and the HTTPS protocol.  It also provides a
method for secure communication between the key owner and the mail
provider to publish and revoke the public key.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>This memo describes a method to associate OpenPGP keys with a mail
address and how to look them up using a web service with a well-known
URI.  In addition a mail based protocol is given to allow a client to
setup such an association and to maintain it.</t>

</section>
<section anchor="notational-conventions"><name>Notational Conventions</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in <xref target="RFC2119"></xref>.</t>

</section>
<section anchor="web-key-directory"><name>Web Key Directory</name>

<t>A major use case for OpenPGP is the encryption of mail.  A common
difficulty of sending encrypted mails to a new communication partner is
to find the appropriate public key of the recipient.  Unless an
off-channel key exchange has been done, there are no easy ways to
discover the required key.  The common practice is to search the network
of public key servers for a key matching the recipient's mail address.
This practise bears the problem that the keyservers are not able to give
a positive confirmation that a key actually belongs to the mail
addresses given in the key.  Further, there are often several keys
matching a mail address and thus one needs to pick a key on good luck.
This is clearly not a secure way to setup an end-to-end encryption.  Even
if the need for a trusted key for an initial mail message is
relinquished, a non-authenticated key may be a wrong one and the actual
recipient would receive a mail which she can't decrypt, due to the use
of a wrong key.</t>

<t>Methods to overcome this problem are</t>

<t><list style="symbols">
  <t>sending an initial unencrypted message with the public key attached,</t>
  <t>using the OpenPGP DANE protocol to lookup the recipients key via the
DNS.</t>
</list></t>

<t>The first method has the obvious problems of not even trying to encrypt
the initial mail, an extra mail round-trip, and problems with unattended
key discovery.</t>

<t>The latter method works fine but requires that mail providers need to
set up a separate DNS resolver to provide the key.  The administration of
a DNS zone is often not in the hands of small mail installations.  Thus
an update of the DNS resource records needs to be delegated to the ISP
running the DNS service.  Further, DNS lookups are not encrypted and
missing all confidentially.  Even if the participating MUAs are using
STARTTLS to encrypt the mail exchange, a DNS lookup for the key
unnecessarily identifies the local-part of the recipients mail address
to any passive eavesdroppers.</t>

<t>This memo specified a new method for key discovery using an encrypted
https connection.</t>

<section anchor="key-discovery"><name>Key Discovery</name>

<t>Although URIs are able to encode all kind of characters, straightforward
implementations of a key directory may want to store the local-part of
a mail address directly in the file system.  This forbids the use of
certain characters in the local-part.  To allow for such an
implementation method the URI uses an encoded form of the local-part
which can be directly mapped to a file name.</t>

<t>OpenPGP defines its User IDs, and thus the mail address, as UTF-8
strings.  To help with the common pattern of using capitalized names
(e.g. "Joe.Doe@example.org") for mail addresses, and under the premise
that almost all MTAs treat the local-part case-insensitive and that
the domain-part is required to be compared case-insensitive anyway,
all upper-case ASCII characters in a User ID are mapped to lowercase.
Non-ASCII characters are not changed.</t>

<t>The so mapped local-part is hashed using the SHA-1 algorithm.  The
resulting 160 bit digest is encoded using the Z-Base-32 method as
described in <xref target="RFC6189"></xref>, section 5.1.6.  The resulting string has
a fixed length of 32 octets.</t>

<t>There are two variants on how to form the request URI: The advanced
and the direct method.  Implementations MUST first try the advanced
method.  Only if an address for the required sub-domain does not
exist, they SHOULD fall back to the direct method.  A non-responding
server does not mean that the fall back should be carried out.</t>

<t>The advanced method requires that a sub-domain with the fixed name
<spanx style="verb">openpgpkey</spanx> is created and queried.  The URI is constructed by
concatenating these items:</t>

<t><list style="symbols">
  <t>The scheme <spanx style="verb">https://</spanx>,</t>
  <t>the string <spanx style="verb">openpgpkey</spanx>,</t>
  <t>the domain-part,</t>
  <t>the string <spanx style="verb">/.well-known/openpgpkey/</spanx>,</t>
  <t>the domain-part in lowercase,</t>
  <t>the string <spanx style="verb">/hu/</spanx>,</t>
  <t>the above constructed 32 octet string,</t>
  <t>the unchanged local-part as a parameter with name <spanx style="verb">l</spanx> using proper
percent escaping.</t>
</list></t>

<t>An example for such an advanced method URI to lookup the key for
Joe.Doe@Example.ORG is:</t>

<figure><artwork><![CDATA[
  https://openpgpkey.example.org/.well-known/openpgpkey/
  example.org/hu/iy9q119eutrkn8s1mk4r39qejnbu3n5q?l=Joe.Doe
]]></artwork></figure>

<t>(line has been wrapped for rendering purposes)</t>

<t>The direct method requires no additional DNS entries and constructs
the URI by concatenating these items:</t>

<t><list style="symbols">
  <t>The scheme <spanx style="verb">https://</spanx>,</t>
  <t>the domain-part,</t>
  <t>the string <spanx style="verb">/.well-known/openpgpkey/hu/</spanx>,</t>
  <t>the above constructed 32 octet string,</t>
  <t>the unchanged local-part as a parameter with name <spanx style="verb">l</spanx> using proper
percent escaping.</t>
</list></t>

<t>Example for a direct method URI:</t>

<figure><artwork><![CDATA[
  https://example.org/.well-known/openpgpkey/
  hu/iy9q119eutrkn8s1mk4r39qejnbu3n5q?l=Joe.Doe
]]></artwork></figure>

<t>(line has been wrapped for rendering purposes)</t>

<t>Sites which do not use the advanced method but employ wildcard DNS for
their sub-domains MUST make sure that the <spanx style="verb">openpgpkey</spanx> sub-domain is
not subject to the wildcarding.  This can be done by inserting an
empty TXT RR for this sub-domain.</t>

<t>The HTTP GET method MUST return the binary representation of the
OpenPGP key for the given mail address.  The key needs to carry a User
ID packet (<xref target="RFC4880"></xref>) with that mail address.  Note that the key
may be revoked or expired - it is up to the client to handle such
conditions.  To ease distribution of revoked keys, a server may return
revoked keys in addition to a new key.  The keys are returned by a
single request as concatenated key blocks.</t>

<t>The server MUST accept the HTTP HEAD method to allow a client to
check for the existence of a key.</t>

<t>The server SHOULD use "application/octet-stream" as the
Content-Type for the data but clients SHOULD also accept any other
Content-Type.  The server SHOULD NOT return an ASCII armored version of
the key.</t>

<t>The server MUST serve a Policy Flags file as specified below.  That
file is even required if the Web Key Directory Update Protocol is not
supported.</t>

<t>The benefit of the advanced method is its greater flexibility in
setting up the Web Key Directory in environments where more than one
mail domain is hosted.  DNS SRV resource records, as used in earlier
specifications of this protocol, posed a problem for implementations
which have only limited access to DNS resolvers.  The direct method is
kept for backward compatibility and to allow providing a Web Key
Directory even without DNS change requirements.</t>

</section>
</section>
<section anchor="web-key-directory-update-protocol"><name>Web Key Directory Update Protocol</name>

<t>To put keys into the key directory a protocol to automate the task is
desirable.  The protocol defined here is entirely based on mail and
the assumption that a mail provider can securely deliver mail to the
INBOX of a user (e.g. an IMAP folder).  Note that the same protocol
may also be used for submitting keys for use with OpenPGP DANE.</t>

<t>In the following sections the term "target key" denotes the to be
published key, the term "submission key" the key associated with the
submission-address of the mail provider.  The string "WELLKNOWN"
denotes the first part of an URI specific for a domain.  In the
examples the domain "example.org" is assumed, thus:</t>

<figure><artwork><![CDATA[
  WELLKNOWN := https://openpgpkey.example.org/.well-known/
               openpgpkey/example.org
]]></artwork></figure>

<t>(line has been wrapped for rendering purposes)</t>

<t>or if the sub-domain <spanx style="verb">openpgpkey</spanx> does not exist (direct method):</t>

<figure><artwork><![CDATA[
  WELLKNOWN := https://example.org/.well-known/openpgpkey
]]></artwork></figure>

<t>We assume that the user already created a key for her mail account
alice@example.org.  To install the key at her provider's Web Key
Directory, she performs the following steps:</t>

<t><list style="numbers">
  <t>She retrieves a file which contains one line with the mail address
used to submit the key to the mail provider.  See below
for the syntax of that file.  For a mail address at the domain
"example.org" the URI of the file is  <vspace blankLines='1'/>
WELLKNOWN/submission-address</t>
  <t>She sends her key using SMTP (or any other transport mechanism) to
the provider using the submission address and key format as specified
by PGP/MIME.</t>
  <t>The provider checks that the received key has a User ID which matches
an account name of the provider.</t>
  <t>The provider sends an encrypted message containing a nonce and the
fingerprint of the key to the mail account of the user.  Note that a
similar scheme is used by the well known caff(1) tool to help with
key signing parties.</t>
  <t>A legitimate user will be able to decrypt the message because she
created the key and is in charge of the private key.  This step
verifies that the submitted key has actually been created by the
owner of the account.</t>
  <t>The user sends the decrypted nonce back to the submission address
as a confirmation that the private key is owned by her and that the
provider may now publish the key.  The confirmation mail to the
provider MUST be encrypted using the provider's public key as
retrieved using the key lookup protocol described above.</t>
  <t>The provider receives the nonce, matches it with its database of
pending confirmations and then publishes the key.  Finally the
provider sends a mail back to the user to notify her of the
publication of her key.</t>
</list></t>

<t>The message data structures used for the above protocol are specified in
detail below.</t>

<section anchor="the-submission-address"><name>The Submission Address</name>

<t>The address of the submission file is</t>

<figure><artwork><![CDATA[
  WELLKNOWN/submission-address
]]></artwork></figure>

<t>The file consists of exactly one line, terminated by a LF, or the
sequence of CR and LF, with the full mail address to be used for
submission of a key to the mail provider.  For example the content of the
file may be</t>

<figure><artwork><![CDATA[
  key-submission-example.org@directory.example.org
]]></artwork></figure>

</section>
<section anchor="the-submission-mail"><name>The Submission Mail</name>

<t>The mail used to submit a key to the mail provider MUST comply to the
PGP/MIME specification (<xref target="RFC3156"></xref>, section 7), which states that
the Content-Type must be "application/pgp-keys", there are no required
or optional parameters, and the body part contains the ASCII-armored
transferable Public Key Packets as defined in <xref target="RFC4880"></xref>, section
11.1.</t>

<t>The mail provider MUST publish a key capable of signing and encryption
for the submission-address in the Web Key Directory or via DANE.  The
key to be published MUST be submitted using a PGP/MIME encrypted
message (<xref target="RFC3156"></xref>, section 4).  The message MUST NOT be signed
(because the authenticity of the signing key has not yet been
confirmed).  After decryption of the message at the mail provider a
single "application/pgp-keys" part, as specified above, is expected.</t>

</section>
<section anchor="the-confirmation-request"><name>The Confirmation Request</name>

<t>The mail provider sends a confirmation mail in response to a received
key publication request.  The message MUST be sent from the
submission-address of the mail provider to the mail address extracted
from the target key.  The message needs to be a PGP/MIME signed
message using the submission key of the provider for the
signature.  The signed message MUST have two parts:</t>

<t>The first part MUST have "text" as its Content-Type and can be used to
explain the purpose of the mail.  For example it may point to this
specification and explain on how to manually perform the protocol.</t>

<t>The second part MUST have a Content-Type of
"application/vnd.gnupg.wkd" and carry an OpenPGP encrypted message in
ASCII Armor format.  If the protocol version is unknown or less than 5
the Content-Type "application/vnd.gnupg.wks" MUST be used for backward
compatibility.  The message MUST be encrypted to the target key and
MUST NOT be signed.  After decryption a text file in the Web Key data
format must be yielded.</t>

<t>That data format consists of name-value pairs with one name-value pair
per LF or CR+LF terminated line.  Empty lines are allowed and will be
ignored by the receiver.  A colon is used to terminate a name.</t>

<t>In a confirmation request the following names MUST be send in the
specified order:</t>

<t><list style="symbols">
  <t>"type": The value must be "confirmation-request".</t>
  <t>"sender": This is the mailbox the user is expected to sent the
confirmation response to.  The value must match the
mailbox part of the "From:" address of this
request.  Exactly one address MUST be given.</t>
  <t>"address": The value is the addr-spec part of the target key's
mail address.  The value SHOULD match the addr-spec part
of the recipient's address.  The value MUST be UTF-8
encoded as required for an OpenPGP User ID.</t>
  <t>"fingerprint": The value is the fingerprint of the target key.  The
fingerprint is given in uppercase hex encoding
without any interleaving spaces.</t>
  <t>"nonce": The value is a string with a minimum length of 16 octets
and a maximum length of 64 octets.  The string must
entirely be made up of random ASCII letters or
digits.  This nonce will be sent back to the mail provider
as proof that the recipient is the legitimate owner of
the target-key.</t>
</list></t>

<t>The receiver of that message is expected to verify the outer signature
and disregard the entire message if it can't be verified or has not
been signed by the key associated with the submission address.</t>

<t>After the message has been verified the receiver decrypts the second
part of the signed message, checks that the "fingerprint" matches the
target key, checks that the "address" matches a User ID of the target
key, and checks the other constrains of the request format.  If any
constraint is not asserted, or the fingerprint or User ID do not match
the target key, or there is no pending publication requests (i.e. a
mail recently sent to the submission address), the user MAY be
notified about this fake confirmation attempt.</t>

<t>In other cases the confirmation request is legitimate and the MUA
shall silently send a response as described in the next section.</t>

<t>The rationale for the outer signature used with this request is to
allow early detection of spam mails.  This can be done prior to the
decryption step and avoids asking the user to enter a passphrase to
perform the decryption for a non-legitimate message.  The use of a
simple encrypted attachment, instead of using PGP/MIME encryption, is
to convey the Content-Type of that attachment in the clear and also to
prevent automatic decryption of that attachment by PGP/MIME aware
clients.  The MUA may in fact detect this confirmation request and
present a customized dialog for confirming that request.</t>

</section>
<section anchor="the-confirmation-response"><name>The Confirmation Response</name>

<t>A response to a confirmation request MUST only be send in the positive
case; there is no negative confirmation response.  A mail service
provider is expected to cancel a pending key submission after a suitable
time without a confirmation.  The mail service provider SHOULD NOT retry
the sending of a confirmation request after the first request has been
send successfully.</t>

<t>The user MUST send the confirmation response from her target mail
address to the "from" address of the confirmation request.  The
message MUST be signed and encrypted using the PGP/MIME Combined
format (<xref target="RFC3156"></xref>, section 6.2).  The signing key is the target
key and the encryption key is the key associated with the provider's
submission address.  The server MAY verify the signature and silently
discard the message if it is not found to be valid;</t>

<t>The Content-Type used for the plaintext message MUST match the
Content-Type of the request.  The format is the same as described
above for the Confirmation Request.  The body must contain four
name-value pairs in this order:</t>

<t><list style="symbols">
  <t>"type": The value must be "confirmation-response".</t>
  <t>"sender": The value is the value of the "sender" parameter from the
confirmation request.</t>
  <t>"address": The value is the value of the "address" parameter from
the confirmation request.</t>
  <t>"nonce": The value is the value of the "nonce" parameter from the
confirmation request.</t>
</list></t>

<t>The server MUST check the "nonce" against the one sent in the request
and publish the key only if the nonce matches and has not been
re-used.</t>

</section>
<section anchor="policy-flags"><name>Policy Flags</name>

<t>For key generation and submission it is useful to tell the
client about certain properties of the mail provider in advance.  This
can be done with a file at the URL</t>

<figure><artwork><![CDATA[
  WELLKNOWN/policy
]]></artwork></figure>

<t>A site supporting the Web Key Directory MUST serve this file; it is
sufficient if that file has a zero length.  Clients may use this file
to check for Web Key Directory support.</t>

<t>The file contains keywords and optionally values, one per line with
each line terminated by a LF or the sequence of CR and LF.  Empty lines
and lines starting with a '#' character are considered comment
lines.  A keyword is made up of lowercase letters, digits, hyphens, or
dots.  An underscore is allowed as a name space delimiters; see
below.  The first character must be a letter.  Keywords which are
defined to require a value are directly followed by a colon and then
after optional white space the value.  Clients MUST use
case-insensitive matching for the keyword.</t>

<t>Currently defined keywords are:</t>

<t><list style="symbols">
  <t>"mailbox-only": The mail server provider does only accept keys
with only a mailbox in the User ID.  In particular
User IDs with a real name in addition to the
mailbox will be rejected as invalid.</t>
  <t>"dane-only": The mail server provider does not run a Web Key
  Directory but only an OpenPGP DANE service.  The Web
  Key Directory Update protocol is used to update the
  keys for the DANE service.  The use of this keyword
is deprecated.</t>
  <t>"auth-submit": The submission of the mail to the server is done
using an authenticated connection.  Thus the
submitted key will be published immediately without
any confirmation request.</t>
  <t>"protocol-version": This keyword can be used to explicitly claim the
support of a specific version of the Web Key Directory update protocol.
This is in general not needed but implementations may have
workarounds for providers which only support an old protocol
version.  If these providers update to a newer version they
should add this keyword so that the implementation can disable
the workaround.  The value is an integer corresponding to the
respective draft revision number.</t>
  <t>"submission-address": An alternative way to specify the submission
address.  The value is the addr-spec part of the address to send
requests to this server.  If this keyword is used in addition to
the <spanx style="verb">submission-address</spanx> file, both MUST have the same value.</t>
</list></t>

<t>More keywords will be defined in updates to this I-D.  There is no
registry except for this document.  For experimental use of new
features or for provider specific settings, keywords MUST be prefixed
with a domain name and an underscore.</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>The use of SHA-1 for the mapping of the local-part to a fixed string
is not a security feature but merely used to map the local-part to a
fixed-sized string made from a well defined set of characters.  It is not
intended to conceal information about a mail address.</t>

<t>The domain name part of the mail address is not part of the hash to
avoid problems with internationalized domain names.  Instead a
separate URL is required for each domain name.</t>

<t>To make it a bit harder to test for published keys, the server
responsible to serve the WELLKNOWN directory SHOULD NOT create an
index file for that directory or any sub-directory.</t>

<t>The mail provider MUST make sure to publish a key in a way that only
the mail address belonging to the requested user is part of the User
ID packets included in the returned key.  Other User ID packets and
their associated binding signatures MUST be removed before
publication.  Confirmation requests MUST only be send for such to be
published User ID.  It is further recommended that a client filters a
received key or a key send for a publication requests so that only the
specific User ID with the mail address of the provider is imported or
send.</t>

<t>A client MUST NOT accept a HTTP authentication challenge (HTTP
code 401) because the information in the Web Key Directory is public
and needs no authentication.  Allowing an authentication challenge has
the problem to easily confuse a user with a password prompt and
tricking him into falsely entering the passphrase used to protect his
private key or to login to his mail provider.</t>

<t>The use of DNS SRV records as specified in former revisions of this
document reduces the certainty that a mail address belongs to a
domain.  For example an attacker may change the target to a host in a
sub-domain under their control and thus gain full control over all
keys.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="well-known-uri"><name>Well-Known URI</name>

<t>IANA is requested to assign a well-known URI in the "Well-Known URIs"
registry as defined by <xref target="RFC8615"></xref>:</t>

<t>URI suffix: openpgpkey</t>

<t>Change controller: IETF</t>

<t>Specification document: This</t>

</section>
</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The author would like to acknowledge the help of the individuals who
kindly voiced their opinions on the GnuPG mailing lists, in particular,
the help of Bernhard Reiter and Guilhem Moulin.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>



<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='RFC3156'>
  <front>
    <title>MIME Security with OpenPGP</title>
    <author fullname='M. Elkins' initials='M.' surname='Elkins'/>
    <author fullname='D. Del Torto' initials='D.' surname='Del Torto'/>
    <author fullname='R. Levien' initials='R.' surname='Levien'/>
    <author fullname='T. Roessler' initials='T.' surname='Roessler'/>
    <date month='August' year='2001'/>
    <abstract>
      <t>This document describes how the OpenPGP Message Format can be used to provide privacy and authentication using the Multipurpose Internet Mail Extensions (MIME) security content types described in RFC 1847. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='3156'/>
  <seriesInfo name='DOI' value='10.17487/RFC3156'/>
</reference>

<reference anchor='RFC4880'>
  <front>
    <title>OpenPGP Message Format</title>
    <author fullname='J. Callas' initials='J.' surname='Callas'/>
    <author fullname='L. Donnerhacke' initials='L.' surname='Donnerhacke'/>
    <author fullname='H. Finney' initials='H.' surname='Finney'/>
    <author fullname='D. Shaw' initials='D.' surname='Shaw'/>
    <author fullname='R. Thayer' initials='R.' surname='Thayer'/>
    <date month='November' year='2007'/>
    <abstract>
      <t>This document is maintained in order to publish all necessary information needed to develop interoperable applications based on the OpenPGP format. It is not a step-by-step cookbook for writing an application. It describes only the format and methods needed to read, check, generate, and write conforming packets crossing any network. It does not deal with storage and implementation questions. It does, however, discuss implementation issues necessary to avoid security flaws.</t>
      <t>OpenPGP software uses a combination of strong public-key and symmetric cryptography to provide security services for electronic communications and data storage. These services include confidentiality, key management, authentication, and digital signatures. This document specifies the message formats used in OpenPGP. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='4880'/>
  <seriesInfo name='DOI' value='10.17487/RFC4880'/>
</reference>

<reference anchor='RFC8615'>
  <front>
    <title>Well-Known Uniform Resource Identifiers (URIs)</title>
    <author fullname='M. Nottingham' initials='M.' surname='Nottingham'/>
    <date month='May' year='2019'/>
    <abstract>
      <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.</t>
      <t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space. It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='8615'/>
  <seriesInfo name='DOI' value='10.17487/RFC8615'/>
</reference>

<reference anchor='RFC6189'>
  <front>
    <title>ZRTP: Media Path Key Agreement for Unicast Secure RTP</title>
    <author fullname='P. Zimmermann' initials='P.' surname='Zimmermann'/>
    <author fullname='A. Johnston' initials='A.' role='editor' surname='Johnston'/>
    <author fullname='J. Callas' initials='J.' surname='Callas'/>
    <date month='April' year='2011'/>
    <abstract>
      <t>This document defines ZRTP, a protocol for media path Diffie-Hellman exchange to agree on a session key and parameters for establishing unicast Secure Real-time Transport Protocol (SRTP) sessions for Voice over IP (VoIP) applications. The ZRTP protocol is media path keying because it is multiplexed on the same port as RTP and does not require support in the signaling protocol. ZRTP does not assume a Public Key Infrastructure (PKI) or require the complexity of certificates in end devices. For the media session, ZRTP provides confidentiality, protection against man-in-the-middle (MiTM) attacks, and, in cases where the signaling protocol provides end-to-end integrity protection, authentication. ZRTP can utilize a Session Description Protocol (SDP) attribute to provide discovery and authentication through the signaling channel. To provide best effort SRTP, ZRTP utilizes normal RTP/AVP (Audio-Visual Profile) profiles. ZRTP secures media sessions that include a voice media stream and can also secure media sessions that do not include voice by using an optional digital signature. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='6189'/>
  <seriesInfo name='DOI' value='10.17487/RFC6189'/>
</reference>




    </references>



<section anchor="sample-protocol-run"><name>Sample Protocol Run</name>

<t>The following non-normative example can be used by implementors as
guidance.</t>

<t>Note that GnuPG version 2.1.12 supports the key discovery described in
version -00 of this document (auto-key-locate method "wkd").  Version
2.1.16 can run the protocol described in this document but is also able
to run the protocol version specified by -01.  For backward
compatibility this example uses the Content-Type as required for
versions of this protocol prior to -04; if the client knows that the
server support -04 "vnd.gnupg.wkd" should be used.</t>

<section anchor="sample-keys"><name>Sample Keys</name>

<t>This is the provider's submission key:</t>

<figure><artwork><![CDATA[
  -----BEGIN PGP PRIVATE KEY BLOCK-----

  lFgEV/TAohYJKwYBBAHaRw8BAQdAB/k9YQfSTI8qQqqK1KimH/BsvzsowWItSQPT
  FP+fOC4AAP46uJ3Snno3Vy+kORye3rf0VvWvuz82voEQLxG6WpfHhREEtBprZXkt
  c3VibWlzc2lvbkBleGFtcGxlLm5ldIh5BBMWCAAhBQJX9MCiAhsDBQsJCAcCBhUI
  CQoLAgQWAgMBAh4BAheAAAoJEKhtNooW0cqEWMUA/0e9XaeptszWC9ZvPg8INL6a
  BvRqPBYGU7PGmuXsxBovAQDyckOykG0UAfHVyN1w4gSK/biMcnqVr857i8/HuvjW
  C5xdBFf0wKISCisGAQQBl1UBBQEBB0Apvaoe4MtSEJ1fpds/4DFl2kXXBpnVji/s
  Wg9btdthNQMBCAcAAP9FJX99T1LEJzBnvBBnc6bimnT6/1OKM9RdO4R0/uVP6BFL
  iGEEGBYIAAkFAlf0wKICGwwACgkQqG02ihbRyoTlGwD9FBr92osjL7HkhhZZ7Z2D
  My3b9zpoZeMjvPg5YPqpdKMA/jhZoHuZCRMBYf7YRFb8aXtuyetDFZYrkjnum+OG
  HFAD
  =Hnwd
  -----END PGP PRIVATE KEY BLOCK-----
]]></artwork></figure>

<t>This is the target key to be published:</t>

<figure><artwork><![CDATA[
  -----BEGIN PGP PRIVATE KEY BLOCK-----

  lFgEV2o9XRYJKwYBBAHaRw8BAQdAZ8zkuQDL9x7rcvvoo6s3iEF1j88Dknd9nZhL
  nTEoBRkAAP94nCZMM4WY2IORXfM6phLGSz3RsHvs/vA1Opaus4+R3BKJtBtwYXRy
  aWNlLmx1bXVtYmFAZXhhbXBsZS5uZXSIeQQTFggAIQUCV2o9XQIbAwULCQgHAgYV
  CAkKCwIEFgIDAQIeAQIXgAAKCRATlWNoKgINCpkNAQDFDcwJUzsxu7aJUiPdpYXj
  4uVarrXakxEE8mGFotWhLAD9GH4rqLDYIE3NKEU0s+Okt4tEIwJaV8H1NNPPPMiK
  3g2cXQRXaj2NEgorBgEEAZdVAQUBAQdAFnnmZc99TuKk5iCq9wmYZUVF2RcXN2Cs
  qAl8iGQQUWsDAQgHAAD/VN/VGmlcwGBPcLTya2hfU4t37nMcFCKdNSXjJ5DFA0AP
  PohhBBgWCAAJBQJXaj2NAhsMAAoJEBOVY2gqAg0Ky4UA/0GmVaXzXemLvv1Xw4yx
  Eaz/KfKKGc4RJ+38fyqUzw8NAQCohQ+ki3I5f84EXLZEiUiLsnVtOn1HNxvND/gW
  TiFZBA==
  =GHi7
  -----END PGP PRIVATE KEY BLOCK-----
]]></artwork></figure>

</section>
<section anchor="sample-messages"><name>Sample Messages</name>

<t>The first message triggers the publication requests.</t>

<figure><artwork><![CDATA[
  From: patrice.lumumba@example.net
  To: key-submission@example.net
  Subject: Key publishing request
  MIME-Version: 1.0
  Content-Type: multipart/encrypted;
          protocol="application/pgp-encrypted";
          boundary="=-=01-e8k41e11ob31eefa36wo=-="
  Date: Wed, 05 Oct 2016 10:15:51 +0000


  --=-=01-e8k41e11ob31eefa36wo=-=
  Content-Type: application/pgp-encrypted

  Version: 1

  --=-=01-e8k41e11ob31eefa36wo=-=
  Content-Type: application/octet-stream

  -----BEGIN PGP MESSAGE-----

  hF4DUgLY5tvmW2sSAQdAR1AcqvFpQe/fHRZbf0xcnl9Tb+AtwaX2yZnZXGELGHsw
  1/e3E0JptwM5tpRAVe71ooF8Zq4jl76ZgQKfj/SyjpLJxyoEDy2N5wTQaqW4JtML
  0ukB1vh7dIRDxBJX/LQIJC0wz8o1Q3vjcLJKFFvDb7YrerABpPIzwOAupcgIbQHj
  5m1+2WU5CL8ffyJy2h1jV2X4OnvWF1Sn6J6SVD6DfZpOPRt9TxSemJrN1LJ3lG0N
  ts8AuYmCOeC1H2r5TYyxqkC98JF8+Nvyxd/fwne8IOjK9uixkNMC5H9/ZOH0YWCb
  wBnNB4iXuym4OIPxiLkDymsVF0ww/XrODE9Y259EGmO45VFNrJAX3HFs9/PcMCVk
  n2qMyEkr8LHiXeEPun6Z54RHUPYv2cUkEZ0hhSJ+rtBxkc/5D/cAScCEXRKFSKEF
  jLJAvLK/u/ga5DAzVai+vh6b6Bq+YVPaD9GWMhWj4CgR90p9LULi6S/Hzwhv9Wzf
  8fJoJOaDjyvRDgr09jYLWamxkS9NWxqwy6MXJvxwbNdd5XtqiW4Y4o0Ll1hDJhxR
  ljn/XvotXKwhKN+4QGhIXDVt4Dl4XxS5ptWfVTau8W8DYqDsU2obEcfsirZv53M1
  Q9FCD8CD9+dkBt8VAJekCWVhEltcRHxlrznbk2jxm93xSD2o6gZ5X0VSaSUXyEhm
  J+8F3gyTHGgbq/TgyjFoockWh5EtGgAFuWvmPJCF5PO/UaNeoKwgwSJBu6oTXkHx
  R4nvvMRcj5UgTsKpZ79NiDQukbjG5ScNT5TCUiiZsBXBqBx3fD61EH6cAuh4P3Kr
  iM7PY4fwAHo890Dx+Qlt
  =WIhx
  -----END PGP MESSAGE-----

  --=-=01-e8k41e11ob31eefa36wo=-=--
]]></artwork></figure>

<t>The server decrypts this message to</t>

<figure><artwork><![CDATA[
  Content-Type: application/pgp-keys

  -----BEGIN PGP PUBLIC KEY BLOCK-----

  mDMEV2o9XRYJKwYBBAHaRw8BAQdAZ8zkuQDL9x7rcvvoo6s3iEF1j88Dknd9nZhL
  nTEoBRm0G3BhdHJpY2UubHVtdW1iYUBleGFtcGxlLm5ldIh5BBMWCAAhBQJXaj1d
  AhsDBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEBOVY2gqAg0KmQ0BAMUNzAlT
  OzG7tolSI92lhePi5VqutdqTEQTyYYWi1aEsAP0YfiuosNggTc0oRTSz46S3i0Qj
  AlpXwfU00888yIreDbg4BFdqPY0SCisGAQQBl1UBBQEBB0AWeeZlz31O4qTmIKr3
  CZhlRUXZFxc3YKyoCXyIZBBRawMBCAeIYQQYFggACQUCV2o9jQIbDAAKCRATlWNo
  KgINCsuFAP9BplWl813pi779V8OMsRGs/ynyihnOESft/H8qlM8PDQEAqIUPpIty
  OX/OBFy2RIlIi7J1bTp9RzcbzQ/4Fk4hWQQ=
  =qRfF
  -----END PGP PUBLIC KEY BLOCK-----
]]></artwork></figure>

<t>and returns this confirmation request</t>

<figure><artwork><![CDATA[
  From: key-submission@example.net
  To: patrice.lumumba@example.net
  Subject: Confirm your key publication
  MIME-Version: 1.0
  Content-Type: multipart/encrypted;
    protocol="application/pgp-encrypted";
    boundary="=-=01-wrzqued738dfx4x97u7y=-="
  Date: Wed, 05 Oct 2016 10:16:57 +0000


  --=-=01-wrzqued738dfx4x97u7y=-=
  Content-Type: application/pgp-encrypted

  Version: 1

  --=-=01-wrzqued738dfx4x97u7y=-=
  Content-Type: application/octet-stream

  -----BEGIN PGP MESSAGE-----

  hF4DkYWHjk/NdMASAQdAluQeqhECpU2T0zEyBAEbFzhLkpubN160wjkFCrtUc0Mw
  FwYgM2fp9cvTMdJ/xjkvmAcIEOT4AY/hn1yFQ4z0KG0gCkSac+8mkDylnPdxlXYw
  0sBSAXlbqpVA7eUpFuU2Zs10zbIXxlwe6osR5wUIJut/RCOsYQmfvxC55x8mUX5/
  zgTnNzlMzye5ws4pTgAeQm2x0Yv018L8IZgY5KxwJLBzlss0wLZ45ZcS80hR11Fx
  NCow1fKF8lMnOJxagTEOih807nctz8vT5bR1gx0d7N3LM+th8nAg9/6Ghf1XTpLo
  MzwGW0FtOG7Dg1Uxbw2bjaOuRBeh6IIpmNAw1pmIfnNu7PpoRydU5w1K/R8MT06z
  MKdJ7IW5mVGes9EGnG3e4mjuILvNaZhfYy+a73IhDSaPm3oqdl1Qx7tbNg6lGjn6
  KStCYAcPGPp3m7aWkfsPGThOVRhEXqaFFywfwSVEj1pdIRjDFA==
  =Cdjh
  -----END PGP MESSAGE-----

  --=-=01-wrzqued738dfx4x97u7y=-=--
]]></artwork></figure>

<t>The client decrypts this PGP/MIME message as</t>

<figure><artwork><![CDATA[
  Content-Type: application/vnd.gnupg.wks
  Content-Transfer-Encoding: 8bit

  type: confirmation-request
  sender: key-submission@example.net
  address: patrice.lumumba@example.net
  fingerprint: B21DEAB4F875FB3DA42F1D1D139563682A020D0A
  nonce: f5pscz57zj6fk11wekk8gx4cmrb659a7
]]></artwork></figure>

<t>creates this response</t>

<figure><artwork><![CDATA[
  Content-Type: application/vnd.gnupg.wks
  Content-Transfer-Encoding: 8bit

  type: confirmation-response
  sender: key-submission@example.net
  address: patrice.lumumba@example.net
  nonce: f5pscz57zj6fk11wekk8gx4cmrb659a7
]]></artwork></figure>

<t>and sends it PGP/MIME Combined signed and encrypted to the server</t>

<figure><artwork><![CDATA[
  From: patrice.lumumba@example.net
  To: key-submission@example.net
  Subject: Key publication confirmation
  MIME-Version: 1.0
  Content-Type: multipart/encrypted;
    protocol="application/pgp-encrypted";
    boundary="=-=01-iacqg4og4pqz11a5cg1o=-="
  Date: Wed, 05 Oct 2016 10:18:52 +0000


  --=-=01-iacqg4og4pqz11a5cg1o=-=
  Content-Type: application/pgp-encrypted

  Version: 1

  --=-=01-iacqg4og4pqz11a5cg1o=-=
  Content-Type: application/octet-stream

  -----BEGIN PGP MESSAGE-----

  hF4DUgLY5tvmW2sSAQdAlq98ugycHadQGRe0+055eGUzdQtORR+u5LuJU+oYXHkw
  4V1z0S1QPO9BWixHA62PtjAOShT2xN+1v8T2gq3mdgCEMCHX/Nj6INuu+HXF8o0D
  0sC5AfEwq24oKF/6Q8vb1L/KUzFeitnWBnxS1i9XONlG9FTpSGfBir9szqz3QtMu
  8Sma+X4g/i/rbO5ZtY9v0r+NCh0fY+fMj8Iaqw8IJUcUWcL2oz+GaHU+CIaJWUyk
  suqjw5Zw9WVPQ2nXHZTVOKPk4b8Y8f34GvoqP9ZyVFhZ+/9xcvE3fHOoZKeIK9Yi
  4Bxza2HvWRkkKc48Orf5AjK45Wm/G72m72d/KiYfzBm0W4T5QkVqRnX+vpoQc+bo
  thEE715ma9SnZMcY3fRcPnhjlDxDneB5DD7WNdiz+wZL0OiHW/kT8Eo4/OZnb72M
  t44hd8xB8wbfhz5/zmgmlG4IGGA4MomZyg7G/fo24xaIqkjgnJ1GryWaztNQM6Xx
  34kDLTF1fkjqmMZOtTEFKwC5dzrp1qb7B4ZWsFXC+bSLC5teaRajmOr4T5tXCFV7
  TL0gNBsg/bRBU6wmFDaOaJjleoTsh/7YNJaMsoiMx7NrHe+uVqaEbE4HsWU=
  =tlCO
  -----END PGP MESSAGE-----

  --=-=01-iacqg4og4pqz11a5cg1o=-=--
]]></artwork></figure>

</section>
</section>
<section anchor="changes-since-14"><name>Changes Since -14</name>

<t><list style="symbols">
  <t>Deprectated dane-only keyword.</t>
</list></t>

</section>


  </back>

<!-- ##markdown-source:
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
NrkRE2v8FA9RQQpOlY59i+WLwoYdAJbBpaSB6EVjJTw1ziG+jVbUFba+rpKM
myCEhzPofngIkXlPv6czPDgJk/PhZU/RCqfAX0ukUkH0GijVL1hJw66CBLvH
lJ3efMEWNqwafNG3BTJpgawe43Vmjh7b9XnOOhifxGEuO168prm3b+/zFUbO
+95guWmmtM870+hEnKo+rxbHmwzjAIiT4vux2LDymkjl/sFTtcx5oGyGrQD8
UhceG8IL4stD6194n0skl8skpoN5GyHaWxU5MhHv0gwOzyXwT7nWaPWx+CMO
x60vaVoTO7WlWO4OKh3yPX/YqG9rX8mpZO+W7c5lWS5LTXl8KZalkSqVk4fS
crSZTFvF0+h06qQ7utlMlt3z3bUv85Y3GQ2nbJj68HUzqOQkaZgr+O3sxLLs
7Nft9TAY37Sss0l9nedn/17MnO3aqHttFObHTXM3rtW88tFZLQ4eG0bJfunr
uXFXMsZ5fSgbWqPuKY2r0TXzhtra5cvl3rwiSbvyqL0o9Sq6tHOr5ZHbrkhK
pbybtdgwlZHdlbajubTtlaVdDv7RJEmy27XOzuvb9jylnGrz3kxKprTSQgYX
797nldLqPNwWW/1uQWbDlM/j07C8bMw+hg3TX7jXsn2WRtWbchjcDo3UTNo0
v2799CW3nXSSa72nWKcvp5j/0IvJpn/ez/lq8le1XN+kLp3WpKK7DWk0Khvp
Wbk8qpXLKel4lm0t1/MmtXZ6c1TdZK5aNzKHxaJ8tL72etLlOfJtae2p3q4/
6pVhv0DqUh2oUJqmu7X2vWydy2VLKax105oWkulBp1caq4PcOJX0v4aFcr3L
htEbtVqjvGxJ0qEuGWRVlcblIlW2h9Gpkcrou/X4Zk+NxqVaqpedUsZ2992P
5mG3W60+VpkqG6Z3y65L96O90np7oFt+OTwd1U5PSu53K7vpryrjXnm5+ViO
6+uivPD8m+ZV66ulc9hbvvk6aLBhmnWJj/hb07qoURGu9at/KMBRrYh0lD70
zv8X1CJjlxbj72qxKt4P/qjaLV0/HOV8tu2Cm9Vr9fS+WKweLLVkrXac2Na0
ZpfHB+RVzqqser3cfJlpDcaLTa9w3HUbk3t27DbPbvIspQdHAI2513G23Gl7
Ze+yXIx5flOe90EFrun14stbmnVptdjt1ouyu5rk/dVi0tJGo2l9u5Vao1mF
rHrUWkuXWbcy2jal7fKLC6J06FQurVp926pKo5YG/yy2ktSpjKWpMe/bnW2r
Xzke+iDj9apyac/u7tX/kNszfagel4s9Gybnf8mOs5AP11qtaDbqtjffdaVq
qdHMOaduddmqZfud2izlvg4OXs6rtS5t+avYTPf7w+Gwp3fYMNltRlmMxgt5
n+nXtrZT3tZq0kr9kkYzQua6ZZkrBeTb7xzyeuVUupjL1eyrnhkri36mwtXi
JBlFvTEazeYubAr2K1WTX/3kV8M0lEujPFS605uc2W1mOS/7YfWUeqWj9ieL
fTtfrUspaciGGdq7Xbm8RevSRuuCqwLr0iNmozz4Wma2J2mb6txyaDYa5pe8
uC80s3s+pxeX3O3KhqnJ92Rn0+k0lNy4/Zotbm6n2f1SBJJW7N3o9aBnW/lN
MVdbdFc1faZ3XevLG1jpZv967leTW24ypnp9VZZ++42rRqOpf/wV1Yh4kB4t
YbvRxnte1gaYv91q/O7fJxHXO9cH0leLt/45mOA2fNM313JwSNrSuAGf2p8P
J5+ePDShl+V8kiiIKSpCIF4UZRam1aslGKD4FNPvKS7FEZ/9KZp45xwitWTQ
/PCPhyPu3G3/9u0wSfDKy+M7a8yRys7tt5ffEr+l0gmteMiltXTaXmfTmraR
s4WLDd+88AIEuXd/jh13qbw4gPgnkwL8k059pvOf+bT4moI/QmiJ/nDQp/v8
cel80JBS/65povfE/GBEe7XJRGrUYqZzV89VZ9vuMu+dzXnGnaAuj9OScjrX
jyMtuWmOV+tN6qpYRmm6fpW8i7zI3FbWatGodRtN98KGSSe1bC3VPnqXXt47
jqUv7SNt2/Xi6pTbGx+F1XbU2eyTk9v+2G1fb3atesv085fpSD7Nc22vxy1w
yj+U0+fdh9oaV6/l9iLZHbXaldTlXrTTo+x5r3TbnXr9XF1/LB3NkcrHYet+
GUj+Udm21qMmt3l5M/2amc/ylW5xs7m1b5ldev+VWeQG1nleT0+sQrsw+aoW
qpvVcTAce6XpdaKZbaef7razRiPVZ8N4blHyl2ZloFXSzYyTny5v19OhUiq2
68XX/vl2VZObi6UVW4N9p+Tr10O/V8k3S8nVoJlaziu8aHUpW/1yTl/4NzM3
aA2vevdQvZnuVz11uSQXzqBaKy0z+VKtYQ5y+a9632lLi2yz7paSQ6VX+Tpw
75Q59W61g1PsNvWFVhv6VmGVz42bs+HynFFmh9oqtdtN2q+OV74elGS+mlSk
iVKpLcad+qRTq7Nh9t22dO52kn5yK+er0v1L1l/Pu8K6UD69Lr+GMniGeW83
3+cq23EpdSx1Z129MEk275fduTS/b9gwxU3bbg/k6v52Hle3Tqq0X3bnsnk9
TEr9+fV0uRV6i/b5eln3VTW/8E76PLfM2amukd5V27vrmHvuvZVcnG1v0bns
Ov3X3Kixay2qX16uauQW10n+6M03X1PZL86L1eWp6s4y9rqmbFzdWZ3z2V6a
DTMq1SvVYqVaelUPZa/4JbW1Q2X+tasZnjJuXg3nbq0Pmf3VLGWvk2rGLmxX
+UXqayJPZotbbWeyYdqvxXp2e5s2G9v1KTnd3vZ121YO812+5jW2Ut2fn81h
u1LPDwfJmdzX7M5le5m0y37Bni4OTe5WxjnrfO6NlX1+tp26nePqo9TXqyP/
sN438hOlP81PKzNdX7nlRflUvmY31UK61iwokr/LDbMdh2O/3sdwmdtcpKZd
LKWq19eRwa3tb/PW7vrMxTxT8X9iWSg4C4qUkR5schEx8z228KcMHalc/wDh
ZuVuq/IDgjOrvX8fgjNTjWx5pzbbx2Vm5q+bX546T+vL2R9HKPI+zQHtY6Dy
Y4QSgRrmKFWWerP+XTJ4mDW4Nz4825i0Shljpw31/NfJ99TTtDaa3pbLuZ6W
a640TC03um+7/e12qqTs8XRyzxUmWT014tZMMo6Ly2aWShWLxVvL0arrba5c
V0/DZepZhDLXtJVxz6YHudPUbHWcLGfcameMZ4tV/apkl52bXVncWqtyeSxf
MELRWsvRaImwtMJg6R5gaTWCN3kJHmGn69cBJJePxtwoprNH/eOj9FUc9Nxx
w03erJu+swa1ycZLNosno1ccVkc16dSaDY8tj4PkwSI5KNdvmXHLaOkf7fR6
eiyN78r6Pkrm6ofcbj4aBXjqNN7Unwn7DxJF/9MnmKB3f+72jUOlfwqCECn9
czwVQCWWrRdvtk/buiJw7d8HmP4aVHoESRfnDpRQP7JFdXPNXUsf/sftz4Gk
wmf+4weQ9MOg/26Q9K9O818ASYflvLk/JPtqTyIgyfBH2mlXqxxnmWnqXruV
pdq6ft91D8DqfrqQuuwP9YrjzZRUj4Ok+mW57WU2x5JynvbUdvK6P5xNSWnV
BtOctEzurPStPsrdU51Gals5TGTltWgCVDCsoXo1Fks+TMotT6SFsT4dv6QP
bXas+7PMyk2n7uvW4mpctILtjvOXWavte8lxZeAuR+bmfK3k89eiOVvk+Z1S
9+3U6t+N3v2m5S9u7jjdStrIzFxTy3MqXewWW6vtMt+5Xtrd8t1w3dSlu8rl
V8qkmNqN0+k6dz/9in1Jbzr1otGzBu2rvJ3WBvqumPqwFO9ePE/z63F6e02p
H/1st/fq7YqWtC0lC43dJr2YHrvcrPTul8Y8VfcGjY/qNj27ri+Z9V4e+OOy
tiu0WkezL13SR7O1sfr+x/Boj2/qLH9Jd5LjYm+aKtz5MB21/dGa582vhuYC
pLIaWS1n7v1W99yXV7vN8vYqf2Rbu+pEHppZ+6Qa6dH1w1v3twWjsbcK3MhN
vMpSUkAejlnzQ54fNu6wMd0Nvsa72uIk1+u3y+Yy+art00eAqnuITcPor6Lu
d3/VNf8gz9w1s2Rl3DUHreLB2Xz3n/vo2Enhx6fZFQ2JGjvx9ykW13pgKel/
kuzZ8VL2AO0v/hPGlNVy/oxFjRyF+hTLmXS1JpVz9eJHvl7OVqVcpp6uwv+y
pXwhWyhmpFQmVU1JHAxgdf9T3OSPrnLPf9z3hc0hnb5oh0Nxe80pprMu5Evy
hyDQijUjqxMc2fifpiWb97+PmH+aIKTzmFyuoHvfjyQ8P8MQa3X7H0pE8Gpq
hI7/W7yrLiunbc7e5o6nezot55Vt+k+mIIqf+cwP3vWHQf/d3vVfnebfmIIw
TqWiv70pTVkdNcZa6jWVz2uN2V0deYPx+NXPd/327NVeLpoH7hZzX+l7apIe
DQel8ly/NqVCZujtpcFkN81c+6/pc3EKUD1rqttKrVdpLpL9faHV9/3X5qJe
tFM8sZ1yK3lpU7ucMjm7U08WRsXzOt1Ndmb3uqZ71rxsXSdpvbQY9I1GqT49
Thqbsu6U3Pvpnh15PZ/HxxNTfl3ktkk96awH+ZW3LJ1Tzmu/skttlq+b3r7Y
kk+XYqs9U2ZzpZux768NuTl7rbTk9nx240G/65/2l/zqUpp/DUcZa9FcTb8G
neEhty4ui5tsrnG2T8PS6vZV361ek6Wrcq5lN82BveporU5pqXPalK93OdM8
z8eHQ0fJFQfOJi/tO7n83Ew2PjLmR0ZNdvTl5l42U/PcND86fJ3G1uL1fLRH
yuuaO2lvV6t9pPOmXJpYq56yzG7GytDa7Y3qtWpp5Xy1+jHvq/r99bLqpgZ6
c548TIs1O5ccrKz1R6bHh8nldmrxWi5e1pvdPZ+8m1vTaORajYaU69nm6rb9
aCQ3diZ3lVunw35rtdMN5zaX715/1CssOPLI5g7V7rSe3hz2J7O3GnjTWr1z
qeTVu3NMn9Yf5dxq7tYXldf1pFvJe5o8lvfmwIHteYtK/YunaKfd1LZfdrfJ
9bg8K1zMelUeyO29odlTd5f8WPbbcs+19d71o+80tVf/6yTX1rVc053PAp/v
GZXBX/X5P2gZTQiLtDTvihMdzw4k0jnarVklvcgeaSUKOrHDxvT/D5CsLjGl
dAAA

-->

</rfc>

