<?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-21" 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-21"/>
    <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="November" day="24"/>
    <area>sec</area>
    <workgroup>Network Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This specification describes a service to locate OpenPGP and LibrePGP
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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
yx82iEygXBvYGYS1qkgI/CZE5ymDe0XHJ4413WON+g1fN/Amyx6slBz3Jhdq
Yo2f4iEqSMGh1LFvsXxR2LADwDK44DQQvWishIfOOcS30Yq6wtbXVZJxE4Tw
GAjdDw8hMu/p93SGBydhcj68Kypa4RT4a4lUKoheA6X6BStp2FWQYHeisiOf
L9jChlWDL/q2QCYtkNVjvM7M0ePBAJ6zDsYncZjLTievae7t2/t8hZHjwjdY
bpop7fPONDoRp6rPq8XxdsY4AOKk+H6qNqy8JlK5f/BULXMeKJthKwC/E4bH
hvCC+PLQ+hdeBxPJ5TKJ6WDeRoj2VkUOZ8T7QYNjegn8U641Wn0s/ojDcetL
mtbETm0plruDSod8zx826tvaV3Iq2btlu3NZlstSUx5fimVppErl5KG0HG0m
01bxNDqdOumObjaTZfd8d+3LvOVNRsMpG6Y+fN0MKjlJGuYKfjs7sSw7+3V7
PQzGNy3rbFJf5/nZvxczZ7s26l4bhflx09yNazWvfHRWi4PHhlGyX/p6btyV
jHFeH8qG1qh7SuNqdM28obZ2+XK5N69I0q48ai9KvYou7dxqeeS2K5JSKe9m
LTZMZWR3pe1oLm17ZWmXg380SZLsdq2z8/q2PU8pp9q8N5OSKa20kMHFu/d5
pbQ6D7fFVr9bkNkw5fP4NCwvG7OPYcP0F+61bJ+lUfWmHAa3QyM1kzbNr1s/
fcltJ53kWu8p1unLKeY/9GKy6Z/3c76a/FUt1zepS6c1qehuQxqNykZ6Vi6P
auVySjqeZVvL9bxJrZ3eHFU3mavWjcxhsSgfra+9nnR5jnxbWnuqt+uPemXY
L5C6VAcqlKbpbq19L1vnctlSCmvdtKaFZHrQ6ZXG6iA3TiX9r2GhXO+yYfRG
rdYoL1uSdKhLBllVpXG5SJXtYXRqpDL6bj2+2VOjcamW6mWnlLHdffejedjt
VquPVabKhundsuvS/WivtN4e6JZfDk9HtdOTkvvdym76q8q4V15uPpbj+roo
Lzz/pnnV+mrpHPaWb74OGmyYZl3iI/7WtC5qVIRr/eofCnBUKyIdpQ9d+v8F
tcjYpcX4u1qsiveDP6p2S9cPRzmfbbvgZvVaPb0vFqsHSy1Zqx0ntjWt2eXx
AXmVsyqrXi83X2Zag/Fi0yscd93G5J4du82zmzxL6cERQGPudZwtd9pe2bss
F2Oe35TnfVCBa3q9+PKWZl1aLXa79aLsriZ5f7WYtLTRaFrfbqXWaFYhqx61
1tJl1q2Mtk1pu/zigigdOpVLq1bftqrSqKXBP4utJHUqY2lqzPt2Z9vqV46H
Psh4vapc2rO7e/U/5PZMH6rH5WLPhsn5X7LjLOTDtVYrmo267c13XalaajRz
zqlbXbZq2X6nNku5r4ODl/NqrUtb/io20/3+cDjs6R02THabURaj8ULeZ/q1
re2Ut7WatFK/pNGMkLluWeZKAfn2O4e8XjmVLuZyNfuqZ8bKop+pcLU4SUZR
b4xGs7kLm4L9StXkVz/51TAN5dIoD5Xu9CZndptZzst+WD2lXumo/cli385X
61JKGrJhhvZuVy5v0bq00brgqsC69IjZKA++lpntSdqmOrccmo2G+SUv7gvN
7J7P6cUld7uyYWryPdnZdDoNJTduv2aLm9tpdr8UgaQVezd6PejZVn5TzNUW
3VVNn+ld1/ryBla62b+e+9XklpuMqV5flaXffuOq0WjqH39FNSIepEdL2G60
xZ+XtQHmb7cavzr4ScT1zvWB9NXipYEOJrgN3/TNtRwcx7Y0bsCn9ufDGasn
D03oXTufJApiiooQiBdFmYVp9WoJBig+xfR7iktxxGd/iiZeWYdILRk0P/zj
4TA9d9u/fTu2Erzy8vjOGnOksnP77eW3xG+pdEIrHnJpLZ2219m0pm3kbOFi
wzcvvABBLvafY8ddKi8OIP7JpAD/pFOf6fxnPi2+puCPEFqiPxz06T5/XDof
NKTUv2ua6DUzPxjRXm0ykRq1mOnc1XPV2ba7zHtnc55xJ6jL47SknM7140hL
bprj1XqTuiqWUZquXyXvIi8yt5W1WjRq3UbTvbBh0kktW0u1j96ll/eOY+lL
+0jbdr24OuX2xkdhtR11Nvvk5LY/dtvXm12r3jL9/GU6kk/zXNvrcQuc8g/l
9Hn3obbG1Wu5vUh2R612JXW5F+30KHveK912p14/V9cfS0dzpPJx2LpfBpJ/
VLat9ajJbV7eTL9m5rN8pVvcbG7tW2aX3n9lFrmBdZ7X0xOr0C5MvqqF6mZ1
HAzHXml6nWhm2+mnu+2s0Uj12TCeW5T8pVkZaJV0M+Pkp8vb9XSolIrtevG1
f75d1eTmYmnF1mDfKfn69dDvVfLNUnI1aKaW8wovWl3KVr+c0xf+zcwNWsOr
3j1Ub6b7VU9dLsmFM6jWSstMvlRrmINc/qved9rSItusu6XkUOlVvg7cO2VO
vVvt4BS7TX2h1Ya+VVjlc+PmbLg8Z5TZobZK7XaT9qvjla8HJZmvJhVpolRq
i3GnPunU6myYfbctnbudpJ/cyvmqdP+S9dfzrrAulE+vy6+hDJ5h3tvN97nK
dlxKHUvdWVcvTJLN+2V3Ls3vGzZMcdO22wO5ur+dx9Wtkyrtl925bF4Pk1J/
fj1dboXeon2+XtZ9Vc0vvJM+zy1zdqprpHfV9u465p57byUXZ9tbdC67Tv81
N2rsWovql5erGrnFdZI/evPN11T2i/NidXmqurOMva4pG1d3Vud8tpdmw4xK
9Uq1WKmWXtVD2St+SW3tUJl/7WqGp4ybV8O5W+tDZn81S9nrpJqxC9tVfpH6
msiT2eJW25lsmPZrsZ7d3qbNxnZ9Sk63t33dtpXDfJeveY2tVPfnZ3PYrtTz
w0FyJvc1u3PZXibtsl+wp4tDk7uVcc46n3tjZZ+fbadu57j6KPX16sg/rPeN
/ETpT/PTykzXV255UT6Vr9lNtZCuNQuK5O9yw2zH4div9zFc5jYXqWkXS6nq
9XVkcGv727y1uz5zMc9U/J9YFgrOgiJlpAeb3GPMfI8t/ClDRyrXP0C4Wbnb
qvyA4Mxq79+H4MxUI1veqc32cZmZ+evml6fO0/py9scRirxPc0D7GKj8GKFE
oIY5SpWl3qx/lwweZg3ujQ/PNiatUsbYaUM9/3XyPfU0rY2mt+VyrqflmisN
U8uN7ttuf7udKil7PJ3cc4VJVk+NuDWTjOPispmlUsVi8dZytOp6myvX1dNw
mXoWocw1bWXcs+lB7jQ1Wx0nyxm32hnj2WJVvyrZZedmVxa31qpcHssXjFC0
1nI0WiIsrTBYugdYWo3gTV6CR9jp+nUAyeWjMTeK6exR//gofRUHPXfccJM3
66bvrEFtsvGSzeLJ6BWH1VFNOrVmw2PL4yB5sEgOyvVbZtwyWvpHO72eHkvj
u7K+j5K5+iG3m49GAZ46jTf1Z8L+g0TR/3IKJujdn7t941Dpn4IgREr/HE8F
UIll68Wb7dO2rghc+/cBpr8GlR5B0sW5AyXUj2xR3Vxz19KH/3H7cyCp8Jn/
+AEk/TDovxsk/avT/BdA0mE5b+4Pyb7akwhIMvyRdtrVKsdZZpq6125lqbau
33fdA7C6ny6kLvtDveJ4MyXV4yCpfllue5nNsaScpz21nbzuD2dTUlq1wTQn
LZM7K32rj3L3VKeR2lYOE1l5LZoAFQxrqF6NxZIPk3LLE2lhrE/HL+lDmx3r
/iyzctOp+7q1uBoXrWC74/xl1mr7XnJcGbjLkbk5Xyv5/LVozhZ5fnvVfTu1
+nejd79p+YubO063kjYyM9fU8pxKF7vF1mq7zHeul3a3fDdcN3XprnL5lTIp
pnbjdLrO3U+/Yl/Sm069aPSsQfsqb6e1gb4rpj4sxbsXz9P8epzeXlPqRz/b
7b16u6IlbUvJQmO3SS+mxy43K737pTFP1b1B46O6Tc+u60tmvZcH/ris7Qqt
1tHsS5f00WxtrL7/MTza45s6y1/SneS42JumCnc+TEdtf7TmefOrobkAqaxG
VsuZe7/VPffl1W6zvL3KH9nWrjqRh2bWPqlGenT98Nb9bcFo7K0CN3ITr7KU
FJCHY9b8kOeHjTtsTHeDr/GutjjJ9frtsrlMvmr79BGg6h5i0zD6q6j73V91
zT/IM3fNLFkZd81Bq3hwC4D7z3107KTw49PsMohEjZ34+xSLaz2wlPS/efbs
eCl7gPYX/wljymo5f8aiRo5CfYrlTLpak8q5evEjXy9nq1IuU09X4X/ZUr6Q
LRQzUiqTqqYkDgawuv8pbvJHV7nnP+77wuaQTl+0w6G4veYU01kX8iX5QxBo
xZqR1QmObPxP05LN+99HzD9NENJ5TK5x0L3vRxKen2GItbr9DyUieDU1Qsf/
Ld5Vl5XTNmdvc8fTPZ2W88o2/SdTEMXPfOYH7/rDoP9u7/qvTvNvTEEYp1LR
396UpqyOGmMt9ZrK57XG7K6OvMF4/Ornu3579movF80Dd4u5r/Q9NUmPhoNS
ea5fm1IhM/T20mCym2au/df0uTgFqJ411W2l1qs0F8n+vtDq+/5rc1Ev2ime
2E65lby0qV1OmZzdqScLo+J5ne4mO7N7XdM9a162rpO0XloM+kajVJ8eJ41N
WXdK7v10z468ns/j44kpvy5y26SedNaD/Mpbls4p57Vf2aU2y9dNb19syadL
sdWeKbO50s3Y99eG3Jy9Vlpyez678aDf9U/7S351Kc2/hqOMtWiupl+DzvCQ
WxeXxU021zjbp2Fpdfuq71avydJVOdeym+bAXnW0Vqe01Dltyte7nGme5+PD
oaPkigNnk5f2nVx+biYbHxnzI6MmO/pycy+bqXlumh8dvk5ja/F6Ptoj5XXN
nbS3q9U+0nlTLk2sVU9ZZjdjZWjt9kb1WrW0cr5a/Zj3Vf3+ell1UwO9OU8e
psWanUsOVtb6I9Pjw+RyO7V4LRcv683unk/eza1pNHKtRkPK9Wxzddt+NJIb
O5O7yq3TYb+12umGc5vLd68/6hUWHHlkc4dqd1pPbw77k9lbDbxprd65VPLq
3TmmT+uPcm41d+uLyut60q3kPU0ey3tz4MD2vEWl/sVTtNNuatsvu9vkelye
FS5mvSoP5Pbe0Oypu0t+LPttuefaeu/60Xea2qv/dZJr61qu6c5ngc/3jMrg
r/r8H7SMJoRFWpp3xYmOZwcS6Rzt1qySXmSPtBIFndhhY/r/B/gIHDgGdQAA

-->

</rfc>
