<?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  (Ruby 3.1.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-koch-openpgp-webkey-service-20" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.16.0 -->
  <front>
    <title>OpenPGP Web Key Directory</title>
    <seriesInfo name="Internet-Draft" value="draft-koch-openpgp-webkey-service-20"/>
    <author initials="W." surname="Koch" fullname="Werner Koch">
      <organization>g10 Code GmbH</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>wk@gnupg.org</email>
      </address>
    </author>
    <date year="2025" month="June" day="02"/>
    <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"/>.</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>
      <ul spacing="normal">
        <li>sending an initial unencrypted message with the public key attached,</li>
        <li>using the OpenPGP DANE protocol to lookup the recipients key via the
DNS.</li>
      </ul>
      <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"/>, 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
<tt>openpgpkey</tt> is created and queried.  The URI is constructed by
concatenating these items:</t>
        <ul spacing="normal">
          <li>The scheme <tt>https://</tt>,</li>
          <li>the string <tt>openpgpkey</tt>,</li>
          <li>the domain-part,</li>
          <li>the string <tt>/.well-known/openpgpkey/</tt>,</li>
          <li>the domain-part in lowercase,</li>
          <li>the string <tt>/hu/</tt>,</li>
          <li>the above constructed 32 octet string,</li>
          <li>the unchanged local-part as a parameter with name <tt>l</tt> using proper
percent escaping.</li>
        </ul>
        <t>An example for such an advanced method URI to lookup the key for
Joe.Doe@Example.ORG is:</t>
        <artwork><![CDATA[
  https://openpgpkey.example.org/.well-known/openpgpkey/
  example.org/hu/iy9q119eutrkn8s1mk4r39qejnbu3n5q?l=Joe.Doe
]]></artwork>
        <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>
        <ul spacing="normal">
          <li>The scheme <tt>https://</tt>,</li>
          <li>the domain-part,</li>
          <li>the string <tt>/.well-known/openpgpkey/hu/</tt>,</li>
          <li>the above constructed 32 octet string,</li>
          <li>the unchanged local-part as a parameter with name <tt>l</tt> using proper
percent escaping.</li>
        </ul>
        <t>Example for a direct method URI:</t>
        <artwork><![CDATA[
  https://example.org/.well-known/openpgpkey/
  hu/iy9q119eutrkn8s1mk4r39qejnbu3n5q?l=Joe.Doe
]]></artwork>
        <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 <tt>openpgpkey</tt> 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"/>) 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.  Note that the direct
method allows to provide a Web Key Directory without any DNS changes.</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>
      <artwork><![CDATA[
  WELLKNOWN := https://openpgpkey.example.org/.well-known/
               openpgpkey/example.org
]]></artwork>
      <t>(line has been wrapped for rendering purposes)</t>
      <t>or if the sub-domain <tt>openpgpkey</tt> does not exist (direct method):</t>
      <artwork><![CDATA[
  WELLKNOWN := https://example.org/.well-known/openpgpkey
]]></artwork>
      <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>
      <ol spacing="normal" type="1"><li>
          <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  </t>
          <t>
WELLKNOWN/submission-address</t>
        </li>
        <li>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.</li>
        <li>The provider checks that the received key has a User ID which matches
an account name of the provider.</li>
        <li>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.</li>
        <li>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.</li>
        <li>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.</li>
        <li>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.</li>
      </ol>
      <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>
        <artwork><![CDATA[
  WELLKNOWN/submission-address
]]></artwork>
        <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>
        <artwork><![CDATA[
  key-submission-example.org@directory.example.org
]]></artwork>
      </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"/>, 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"/>, 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"/>, 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.  By
evaluating the Content-Language header of the request the provider may
send back a localized version.</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>
        <ul spacing="normal">
          <li>"type": The value must be "confirmation-request".</li>
          <li>"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.</li>
          <li>"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.</li>
          <li>"fingerprint": The value is the fingerprint of the target key.  The
fingerprint is given in uppercase hex encoding
without any interleaving spaces.</li>
          <li>"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.</li>
        </ul>
        <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"/>, 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>
        <ul spacing="normal">
          <li>"type": The value must be "confirmation-response".</li>
          <li>"sender": The value is the value of the "sender" parameter from the
confirmation request.</li>
          <li>"address": The value is the value of the "address" parameter from
the confirmation request.</li>
          <li>"nonce": The value is the value of the "nonce" parameter from the
confirmation request.</li>
        </ul>
        <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>
        <artwork><![CDATA[
  WELLKNOWN/policy
]]></artwork>
        <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>
        <ul spacing="normal">
          <li>"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.</li>
          <li>"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.</li>
          <li>"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.</li>
          <li>"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.</li>
          <li>"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 <tt>submission-address</tt> file, both MUST have the same value.</li>
        </ul>
        <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"/>:</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>
      <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="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>
        <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>
        <t>This is the target key to be published:</t>
        <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>
      </section>
      <section anchor="sample-messages">
        <name>Sample Messages</name>
        <t>The first message triggers the publication requests.</t>
        <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>
        <t>The server decrypts this message to</t>
        <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>
        <t>and returns this confirmation request</t>
        <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>
        <t>The client decrypts this PGP/MIME message as</t>
        <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>
        <t>creates this response</t>
        <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>
        <t>and sends it PGP/MIME Combined signed and encrypted to the server</t>
        <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>
      </section>
    </section>
    <section anchor="changes-since-14">
      <name>Changes Since -14</name>
      <ul spacing="normal">
        <li>Deprectated dane-only keyword.</li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
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
BmGtKhICvwnRecrgXtHxiWNN91ijfsPXDbzJsgcrJce9yYWaWOOneIgKUnAo
dexbLF8UNuwAsAzuNA1ELxor4aFzDvFttKKusPV1lWTcBCE8BkL3w0OIzHv6
PZ3hwUmYnA/viopWOAX+WiKVCqLXQKl+wUoadhUk2DWo7MjnC7awYdXgi74t
kEkLZPUYrzNz9HgwgOesg/FJHOay08lrmnv79j5fYeS48A2Wm2ZK+7wzjU7E
qerzanG8nTEOgDgpvp+qDSuviVTuHzxVy5wHymbYCsDvhOGxIbwgvjy0/oXX
wURyuUxiOpi3EaK9VZHDGfF+0OCYXgL/lGuNVh+LP+Jw3PqSpjWxU1uK5e6g
0iHf84eN+rb2lZxK9m7Z7lyW5bLUlMeXYlkaqVI5eSgtR5vJtFU8jU6nTrqj
m81k2T3fXfsyb3mT0XDKhqkPXzeDSk6ShrmC385OLMvOft1eD4PxTcs6m9TX
eX7278XM2a6NutdGYX7cNHfjWs0rH53V4uCxYZTsl76eG3clY5zXh7KhNeqe
0rgaXTNvqK1dvlzuzSuStCuP2otSr6JLO7daHrntiqRUyrtZiw1TGdldaTua
S9teWdrl4B9NkiS7XevsvL5tz1PKqTbvzaRkSistZHDx7n1eKa3Ow22x1e8W
ZDZM+Tw+DcvLxuxj2DD9hXst22dpVL0ph8Ht0EjNpE3z69ZPX3LbSSe51nuK
dfpyivkPvZhs+uf9nK8mf1XL9U3q0mlNKrrbkEajspGelcujWrmcko5n2dZy
PW9Sa6c3R9VN5qp1I3NYLMpH62uvJ12eI9+W1p7q7fqjXhn2C6Qu1YEKpWm6
W2vfy9a5XLaUwlo3rWkhmR50eqWxOsiNU0n/a1go17tsGL1RqzXKy5YkHeqS
QVZVaVwuUmV7GJ0aqYy+W49v9tRoXKqletkpZWx33/1oHna71epjlamyYXq3
7Lp0P9orrbcHuuWXw9NR7fSk5H63spv+qjLulZebj+W4vi7KC8+/aV61vlo6
h73lm6+DBhumWZf4iL81rYsaFeFav/qHAhzVikhH6UOX/n9BLTJ2aTH+rhar
4v3gj6rd0vXDUc5n2y64Wb1WT++LxerBUkvWaseJbU1rdnl8QF7lrMqq18vN
l5nWYLzY9ArHXbcxuWfHbvPsJs9SenAE0Jh7HWfLnbZX9i7LxZjnN+V5H1Tg
ml4vvrylWZdWi91uvSi7q0neXy0mLW00mta3W6k1mlXIqkettXSZdSujbVPa
Lr+4IEqHTuXSqtW3rao0amnwz2IrSZ3KWJoa877d2bb6leOhDzJeryqX9uzu
Xv0PuT3Th+pxudizYXL+l+w4C/lwrdWKZqNue/NdV6qWGs2cc+pWl61att+p
zVLu6+Dg5bxa69KWv4rNdL8/HA57eocNk91mlMVovJD3mX5tazvlba0mrdQv
aTQjZK5blrlSQL79ziGvV06li7lczb7qmbGy6GcqXC1OklHUG6PRbO7CpmC/
UjX51U9+NUxDuTTKQ6U7vcmZ3WaW87IfVk+pVzpqf7LYt/PVupSShmyYob3b
lctbtC5ttC64KrAuPWI2yoOvZWZ7krapzi2HZqNhfsmL+0Izu+dzenHJ3a5s
mJp8T3Y2nU5DyY3br9ni5naa3S9FIGnF3o1eD3q2ld8Uc7VFd1XTZ3rXtb68
gZVu9q/nfjW55SZjqtdXZem337hqNJr6x19RjYgH6dESthtt8edlbYD5263G
rw5+EnG9c30gfbV4aaCDCW7DN31zLQfHsS2NG/Cp/flwxurJQxN6184niYKY
oiIE4kVRZmFavVqCAYpPMf2e4lIc8dmfoolX1iFSSwbND/94OEzP3fZv346t
BK+8PL6zxhyp7Nx+e/kt8VsqndCKh1xaS6ftdTataRs5W7jY8M0LL0CQu/zn
2HGXyosDiH8yKcA/6dRnOv+ZT4uvKfgjhJboDwd9us8fl84HDSn175omes3M
D0a0V5tMpEYtZjp39Vx1tu0u897ZnGfcCeryOC0pp3P9ONKSm+Z4td6kropl
lKbrV8m7yIvMbWWtFo1at9F0L2yYdFLL1lLto3fp5b3jWPrSPtK2XS+uTrm9
8VFYbUedzT45ue2P3fb1Zteqt0w/f5mO5NM81/Z63AKn/EM5fd59qK1x9Vpu
L5LdUatdSV3uRTs9yp73SrfdqdfP1fXH0tEcqXwctu6XgeQflW1rPWpym5c3
06+Z+Sxf6RY3m1v7ltml91+ZRW5gnef19MQqtAuTr2qhulkdB8OxV5peJ5rZ
dvrpbjtrNFJ9NoznFiV/aVYGWiXdzDj56fJ2PR0qpWK7Xnztn29XNbm5WFqx
Ndh3Sr5+PfR7lXyzlFwNmqnlvMKLVpey1S/n9IV/M3OD1vCqdw/Vm+l+1VOX
S3LhDKq10jKTL9Ua5iCX/6r3nba0yDbrbik5VHqVrwP3TplT71Y7OMVuU19o
taFvFVb53Lg5Gy7PGWV2qK1Su92k/ep45etBSearSUWaKJXaYtypTzq1Ohtm
321L524n6Se3cr4q3b9k/fW8K6wL5dPr8msog2eY93bzfa6yHZdSx1J31tUL
k2TzftmdS/P7hg1T3LTt9kCu7m/ncXXrpEr7ZXcum9fDpNSfX0+XW6G3aJ+v
l3VfVfML76TPc8ucneoa6V21vbuOuefeW8nF2fYWncuu03/NjRq71qL65eWq
Rm5xneSP3nzzNZX94rxYXZ6q7ixjr2vKxtWd1Tmf7aXZMKNSvVItVqqlV/VQ
9opfUls7VOZfu5rhKePm1XDu1vqQ2V/NUvY6qWbswnaVX6S+JvJktrjVdiYb
pv1arGe3t2mzsV2fktPtbV+3beUw3+VrXmMr1f352Ry2K/X8cJCcyX3N7ly2
l0m77Bfs6eLQ5G5lnLPO595Y2edn26nbOa4+Sn29OvIP630jP1H60/y0MtP1
lVtelE/la3ZTLaRrzYIi+bvcMNtxOPbrfQyXuc1FatrFUqp6fR0Z3Nr+Nm/t
rs9czDMV/yeWhYKzoEgZ6cEm9xgz32MLf8rQkcr1DxBuVu62Kj8gOLPa+/ch
ODPVyJZ3arN9XGZm/rr55anztL6c/XGEIu/THNA+Bio/RigRqGGOUmWpN+vf
JYOHWYN748OzjUmrlDF22lDPf518Tz1Na6Ppbbmc62m55krD1HKj+7bb326n
SsoeTyf3XGGS1VMjbs0k47i4bGapVLFYvLUcrbre5sp19TRcpp5FKHNNWxn3
bHqQO03NVsfJcsatdsZ4tljVr0p22bnZlcWttSqXx/IFIxSttRyNlghLKwyW
7gGWViN4k5fgEXa6fh1AcvlozI1iOnvUPz5KX8VBzx033OTNuuk7a1CbbLxk
s3gyesVhdVSTTq3Z8NjyOEgeLJKDcv2WGbeMlv7RTq+nx9L4rqzvo2Sufsjt
5qNRgKdO4039mbD/IFH0v5yCCXr3527fOFT6pyAIkdI/x1MBVGLZevFm+7St
KwLX/n2A6a9BpUeQdHHuQAn1I1tUN9fctfThf9z+HEgqfOY/fgBJPwz67wZJ
/+o0/wWQdFjOm/tDsq/2JAKSDH+knXa1ynGWmabutVtZqq3r9133AKzupwup
y/5QrzjeTEn1OEiqX5bbXmZzLCnnaU9tJ6/7w9mUlFZtMM1Jy+TOSt/qo9w9
1WmktpXDRFZeiyZABcMaqldjseTDpNzyRFoY69PxS/rQZse6P8us3HTqvm4t
rsZFK9juOH+Ztdq+lxxXBu5yZG7O10o+fy2as0We3151306t/t3o3W9a/uLm
jtOtpI3MzDW1PKfSxW6xtdou853rpd0t3w3XTV26q1x+pUyKqd04na5z99Ov
2Jf0plMvGj1r0L7K22ltoO+KqQ9L8e7F8zS/Hqe315T60c92e6/ermhJ21Ky
0Nht0ovpscvNSu9+acxTdW/Q+Khu07Pr+pJZ7+WBPy5ru0KrdTT70iV9NFsb
q+9/DI/2+KbO8pd0Jzku9qapwp0P01HbH6153vxqaC5AKquR1XLm3m91z315
tdssb6/yR7a1q07koZm1T6qRHl0/vHV/WzAae6vAjdzEqywlBeThmDU/5Plh
4w4b093ga7yrLU5yvX67bC6Tr9o+fQSouofYNIz+Kup+91dd8w/yzF0zS1bG
XXPQKh7cAuD+cx8dOyn8+DS7DCJRYyf+PsXiWg8sJf3PnD07XsoeoP3Ff8KY
slrOn7GokaNQn2I5k67WpHKuXvzI18vZqpTL1NNV+F+2lC9kC8WMlMqkqimJ
gwGs7n+Km/zRVe75j/u+sDmk0xftcChurznFdNaFfEn+EARasWZkdYIjG//T
tGTz/vcR808ThHQek2scdO/7kYTnZxhirW7/Q4kIXk2N0PF/i3fVZeW0zdnb
3PF0T6flvLJN/8kURPEzn/nBu/4w6L/bu/6r0/wbUxDGqVT0tzelKaujxlhL
vabyea0xu6sjbzAev/r5rt+evdrLRfPA3WLuK31PTdKj4aBUnuvXplTIDL29
NJjspplr/zV9Lk4BqmdNdVup9SrNRbK/L7T6vv/aXNSLdoontlNuJS9tapdT
Jmd36snCqHhep7vJzuxe13TPmpet6yStlxaDvtEo1afHSWNT1p2Sez/dsyOv
5/P4eGLKr4vcNqknnfUgv/KWpXPKee1XdqnN8nXT2xdb8ulSbLVnymyudDP2
/bUhN2evlZbcns9uPOh3/dP+kl9dSvOv4ShjLZqr6degMzzk1sVlcZPNNc72
aVha3b7qu9VrsnRVzrXspjmwVx2t1SktdU6b8vUuZ5rn+fhw6Ci54sDZ5KV9
J5efm8nGR8b8yKjJjr7c3Mtmap6b5keHr9PYWryej/ZIeV1zJ+3tarWPdN6U
SxNr1VOW2c1YGVq7vVG9Vi2tnK9WP+Z9Vb+/Xlbd1EBvzpOHabFm55KDlbX+
yPT4MLncTi1ey8XLerO755N3c2sajVyr0ZByPdtc3bYfjeTGzuSucut02G+t
drrh3Oby3euPeoUFRx7Z3KHandbTm8P+ZPZWA29aq3culbx6d47p0/qjnFvN
3fqi8rqedCt5T5PH8t4cOLA9b1Gpf/EU7bSb2vbL7ja5HpdnhYtZr8oDub03
NHvq7pIfy35b7rm23rt+9J2m9up/neTaupZruvNZ4PM9ozL4qz7/By2jCWGR
luZdcaLj2YFEOke7NaukF9kjrURBJ3bYmP7/AVY4wHb5dAAA

-->

</rfc>
