<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-chuang-dkim2-dns-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <front>
    <title abbrev="DKIM2">Domain Name Specification for DKIM2</title>
    <seriesInfo name="Internet-Draft" value="draft-chuang-dkim2-dns-00"/>
    <author initials="W." surname="Chuang" fullname="Wei Chuang">
      <organization>Google</organization>
      <address>
        <email>weihaw@google.com</email>
      </address>
    </author>
    <date year="2025" month="July" day="06"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 33?>

<t>The updated DomainKeys Identified Mail (DKIM2) permits an organization
that owns the signing domain to claim some responsibility for a
message by associating the domain with the message through a digital
signature. This is done by publishing to Domain Name Service (DNS) of
the domain a public key that is then associated to the domain and
where messages can be signed by the corresponding private key.
Assertion of responsibility is validated through a cryptographic
signature and by querying the Signer’s domain directly to retrieve the
appropriate public key.  This document describes DKIM2 DNS record format
and how to find the record.</t>
    </abstract>
  </front>
  <middle>
    <?line 46?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The updated DomainKeys Identified Mail (DKIM2) permits an organization
that owns the signing domain to claim some responsibility for a
message <xref target="RFC5322"/> by associating the domain with the message through a
digital signature.  This is done by publishing to Domain Name Service
(DNS) of the domain a public key that is then associated to the domain
<xref target="RFC1034"/> and where messages can be signed by the corresponding
private key.  Assertion of responsibility is validated through a
cryptographic signature and by querying the Signer’s domain directly
to retrieve the appropriate public key.</t>
      <t>This document describes DKIM2 DNS record format and how to find the
record.  The updated DomainKeys Identified Mail (DKIM2) adopts a
subset of the DKIM <xref target="RFC6376"/> DNS specification, but to prevent
ambiguity from using the using normative references to RFC6376, this
document copies over the RFC6376 and updates as necessary.  However,
this document still does normatively reference RFC6376 for the IANA
registrations. This document and the other DKIM2 documents do not
deprecate RFC6376 as it is expected that both DKIM and DKIM2 will
co-exist for at least some period of time.</t>
      <artwork><![CDATA[
INFORMATIVE NOTE: another reason for separating the DKIM2 DNS
specification from DKIM, is that in the future, it is likely that
DKIM2 will diverge from the parent specification.
]]></artwork>
      <t>There are other updated DomainKeys Identified Mail (DKIM2) documents
as well: the first document describes the motivation; the second
document describes the headers.</t>
    </section>
    <section anchor="terminology-and-definitions">
      <name>Terminology and Definitions</name>
      <t>This section defines terms used in the rest of the document.
DKIM2 is designed to operate within the Internet Mail service, as
defined in <xref target="RFC5598"/>. Basic email terminology is taken from that
specification.</t>
      <t>Syntax descriptions use Augmented BNF (ABNF) [RFC5234].
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
<xref target="RFC2119"/>. These words take their normative meanings only when they
are presented in ALL UPPERCASE.</t>
      <section anchor="signers">
        <name>Signers</name>
        <t>Elements in the mail system that sign messages on behalf of a domain
are referred to as Signers. These may be MUAs (Mail User Agents),
MSAs (Mail Submission Agents), MTAs (Mail Transfer Agents), or other
agents such as mailing list exploders. In general, any Signer will
be involved in the injection of a message into the message system in
some way. The key issue is that a message must be signed before it
leaves the administrative domain of the Signer.</t>
      </section>
      <section anchor="verifiers">
        <name>Verifiers</name>
        <t>Elements in the mail system that verify signatures are referred to as
Verifiers. These may be MTAs, Mail Delivery Agents (MDAs), or MUAs.
In most cases, it is expected that Verifiers will be close to an end
user (reader) of the message or some consuming agent such as a
mailing list exploder.</t>
      </section>
      <section anchor="identity">
        <name>Identity</name>
        <t>This specification DKIM2 calls for the Identity to correspond to an
organization while DKIM permitted person, or role as well. In the
context of email architecture specification <xref target="RFC5598"/>, this
corresponds to an ADministrative Management Domain (ADMD).  Some
examples include the the author’s organization, an ISP along the
handling path, an independent trust assessment service, and a mailing
list operator.</t>
      </section>
      <section anchor="identifier">
        <name>Identifier</name>
        <t>A label that refers to an identity.</t>
      </section>
      <section anchor="signing-domain-identifier-sdid">
        <name>Signing Domain Identifier (SDID)</name>
        <t>A single domain name that is the mandatory payload output of DKIM and
that refers to the identity claiming some responsibility</t>
      </section>
      <section anchor="identity-assessor">
        <name>Identity Assessor</name>
        <t>An element in the mail system that consumes DKIM2’s payload, which is
the responsible Signing Domain Identifier (SDID). The Identity
Assessor is dedicated to the assessment of the delivered identifier.
Other DKIM2 (and non-DKIM2) values can also be used by the Identity
Assessor (if they are available) to provide a more general message
evaluation filtering engine. However, this additional activity is
outside the scope of this specification.</t>
      </section>
      <section anchor="whitespace">
        <name>Whitespace</name>
        <t>There are three forms of whitespace:</t>
        <ul spacing="normal">
          <li>
            <t>WSP represents simple whitespace, i.e., a space or a tab character (formal definition in [RFC5234])</t>
          </li>
          <li>
            <t>LWSP is linear whitespace, defined as WSP plus CRLF (formal definition in [RFC5234]).</t>
          </li>
          <li>
            <t>FWS is folding whitespace. It allows multiple lines separated by CRLF followed by at least one whitespace, to be joined.</t>
          </li>
        </ul>
        <t>The formal ABNF for these are (WSP and LWSP are given for information  only):</t>
        <artwork><![CDATA[
WSP = SP / HTAB
LWSP = *(WSP / CRLF WSP)
FWS = [*WSP CRLF] 1*WSP
]]></artwork>
        <t>The definition of FWS is identical to that in <xref target="RFC5322"/> except for the exclusion of obs-FWS.</t>
      </section>
      <section anchor="imported-abnf-tokens">
        <name>Imported ABNF Tokens</name>
        <t>The following tokens are imported from other RFCs as noted. Those RFCs should be connsidered definitive.</t>
        <t>The following tokens are imported from <xref target="RFC2045"/>:</t>
        <ul spacing="normal">
          <li>
            <t>"qp-section" (a single line of quoted-printable-encoded text)</t>
          </li>
        </ul>
        <t>Tokens not defined herein are imported from [RFC5234]. These are intuitive primitives such as SP, HTAB, WSP, ALPHA, DIGIT, CRLF, etc.</t>
      </section>
      <section anchor="common-abnf-tokens">
        <name>Common ABNF Tokens</name>
        <t>The following ABNF tokens are used elsewhere in this document:</t>
        <artwork><![CDATA[
 hyphenated-word = ALPHA [ *(ALPHA / DIGIT / "-") (ALPHA / DIGIT) ]
 ALPHADIGITPS = (ALPHA / DIGIT / "+" / "/")
 base64string = ALPHADIGITPS *([FWS] ALPHADIGITPS)
 [ [FWS] "=" [ [FWS] "=" ] ]
]]></artwork>
      </section>
    </section>
    <section anchor="protocol-elements">
      <name>Protocol Elements</name>
      <t>Protocol Elements are conceptual parts of the protocol that are not
specific to either Signers or Verifiers. The protocol descriptions
for Signers and Verifiers are described in later sections ("Signer
Actions" (Section 5) and "Verifier Actions" (Section 6)). NOTE: This
section must be read in the context of those sections.</t>
      <section anchor="selectors">
        <name>Selectors</name>
        <t>To support multiple concurrent public keys per signing domain, the
key namespace is subdivided using "selectors". For example,
selectors might indicate the names of office locations (e.g.,
"sanfrancisco", "coolumbeach", and "reykjavik"), the signing date
(e.g., "january2005", "february2005", etc.), or even an individual
user.</t>
        <t>Selectors are needed to support some important use cases. For
example:</t>
        <ul spacing="normal">
          <li>
            <t>Domains that want to delegate signing capability for a specific address for a given duration to a partner, such as an advertising provider or other outsourced function.</t>
          </li>
          <li>
            <t>Domains that want to allow frequent travelers to send messages locally without the need to connect with a particular MSA.</t>
          </li>
          <li>
            <t>"Affinity" domains (e.g., college alumni associations) that provide forwarding of incoming mail, but that do not operate a mail submission agent for outgoing mail.</t>
          </li>
        </ul>
        <t>Periods are allowed in selectors and are component separators. When
keys are retrieved from the DNS, periods in selectors define DNS label
boundaries in a manner similar to the conventional use in domain
names. Selector components might be used to combine dates with
locations, for example, "march2005.reykjavik". In a DNS
implementation, this can be used to allow delegation of a portion of
he selector namespace.</t>
        <t>ABNF:
   selector = sub-domain *( "." sub-domain )</t>
        <t>The number of public keys and corresponding selectors for each domain
is determined by the domain owner. Many domain owners will be
satisfied with just one selector, whereas administratively
distributed organizations can choose to manage disparate selectors
and key pairs in different regions or on different email servers.</t>
        <t>Beyond administrative convenience, selectors make it possible to
seamlessly replace public keys on a routine basis. If a domain
wishes to change from using a public key associated with selector
"january2005" to a public key associated with selector
"february2005", it merely makes sure that both public keys are
advertised in the public-key repository concurrently for the
transition period during which email may be in transit prior to
verification. At the start of the transition period, the outbound
email servers are configured to sign with the "february2005" private
key. At the end of the transition period, the "january2005" public
key is removed from the public-key repository.</t>
        <artwork><![CDATA[
INFORMATIVE NOTE: A key may also be revoked as described below.
The distinction between revoking and removing a key selector
record is subtle. When phasing out keys as described above, a
signing domain would probably simply remove the key record after
the transition period. However, a signing domain could elect to
revoke the key (but maintain the key record) for a further period.
There is no defined semantic difference between a revoked key and
a removed key.
]]></artwork>
        <t>While some domains may wish to make selector values well-known,
others will want to take care not to allocate selector names in a way
that allows harvesting of data by outside parties.</t>
        <artwork><![CDATA[
INFORMATIVE OPERATIONS NOTE: Reusing a selector with a new key
(for example, changing the key associated with a user’s name)
makes it impossible to tell the difference between a message that
didn’t verify because the key is no longer valid and a message
that is actually forged. For this reason, Signers are ill-advised
to reuse selectors for new keys. A better strategy is to assign
new keys to new selectors.
]]></artwork>
      </section>
      <section anchor="tagvalue">
        <name>Tag=Value Lists</name>
        <t>DKIM2 uses a simple "tag=value" syntax in several contexts, including
in messages and domain signature records.
Values are a series of strings containing either plain text, "base64"
text (as defined in <xref target="RFC2045"/>, Section 6.8), or "qp-section" (ibid,
Section 6.7). The name of the tag will determine the encoding of
each value. Unencoded semicolon (";") characters MUST NOT occur in
the tag value, since that separates tag-specs.</t>
        <artwork><![CDATA[
INFORMATIVE IMPLEMENTATION NOTE: Although the "plain text" defined
below (as "tag-value") only includes 7-bit characters, an
implementation that wished to anticipate future standards would be
advised not to preclude the use of UTF-8-encoded [RFC3629] text
in tag=value lists.
]]></artwork>
        <t>Formally, the ABNF syntax rules are as follows:</t>
        <artwork><![CDATA[
tag-list = tag-spec *( ";" tag-spec ) [ ";" ]
tag-spec = [FWS] tag-name [FWS] "=" [FWS] tag-value [FWS]
tag-name = ALPHA *ALNUMPUNC
tag-value = [ tval *( 1*(WSP / FWS) tval ) ]
; Prohibits WSP and FWS at beginning and end
tval = 1*VALCHAR
VALCHAR = %x21-3A / %x3C-7E
; EXCLAMATION to TILDE except SEMICOLON
ALNUMPUNC = ALPHA / DIGIT / "_"
 
Note that WSP is allowed anywhere around tags. In particular, any
WSP after the "=" and any WSP before the terminating ";" is not part
of the value; however, WSP inside the value is signicant.
]]></artwork>
        <t>MUST be interpreted in a case-sensitive manner. Values MUST be
processed as case sensitive unless the specific tag description of
semantics specifies case insensitivity.</t>
        <t>Tags with duplicate names MUST NOT occur within a single tag-list; if
a tag name does occur more than once, the entire tag-list is invalid.</t>
        <t>Whitespace within a value MUST be retained unless explicitly excluded
by the specific tag description.</t>
        <t>Tag=value pairs that represent the default value MAY be included to
aid legibility.</t>
        <t>Unrecognized tags MUST be ignored.</t>
        <t>Tags that have an empty value are not the same as omitted tags. An
omitted tag is treated as having the default value; a tag with an
empty value explicitly designates the empty string as the value.</t>
      </section>
      <section anchor="algorithm">
        <name>Signing and Verification Algorithms</name>
        <t>DKIM2 supports multiple digital signature algorithms.  Two algorithms
are referenced by this specification at this time: rsa-sha256 and
ed25519-sha256. rsa-sha256 is specified in <xref target="RFC6376"/> while
ed25519-sha256 is specified in <xref target="RFC8463"/>.  Signers and Verifiers MUST
implement rsa-sha256 and SHOULD implement ed25519-sha256.  Futher they
MUST NOT validate the legacy DKIM <xref target="RFC6376"/> rsa-sha1 algorithm
i.e. ignore the public key and signatures associated with it.</t>
        <t>INFORMATIVE NOTE: rsa-sha256 enjoys virtually universal deployment
while ed25519-sha256 has very little deployment at the creation of
this draft.  It does provide better capability in reduced key size,
and faster signing and verification speed.  Support for at least two
algorithms provides algorithmic diversity that provides defense
against some unforeseen future algorithm breakage.  Thus
implementation of ed25519-sha256 will be changed to MUST upon the
completion of the DKIM2 specification.  rsa-sha1 algorithm is
deprecated for DKIM2 as sha1 is demonstrateably broken.</t>
      </section>
      <section anchor="key-management-and-representation">
        <name>Key Management and Representation</name>
        <t>Signature applications require some level of assurance that the
verification public key is associated with the claimed Signer. Many
applications achieve this by using public-key certificates issued by
a trusted third party. However, DKIM2 can achieve a sufficient level
of security, with significantly enhanced scalability, by simply
having the Verifier query the purported Signer’s DNS entry (or some
security-equivalent) in order to retrieve the public key.
DKIM2 keys can potentially be stored in multiple types of key servers
and in multiple formats. The storage and format of keys are
irrelevant to the remainder of the DKIM2 algorithm.
Parameters to the key lookup algorithm are the type of the lookup
(the "q=" tag), the domain of the Signer (the "d=" tag of the DKIM2
signature header field), and the selector (the "s=" tag).</t>
        <artwork><![CDATA[
public_key = dkim2_find_key(q_val, d_val, s_val)
]]></artwork>
        <t>This document defines a single binding, using DNS TXT RRs to
distribute the keys. Other bindings may be defined in the future.</t>
        <section anchor="textualrepresentation">
          <name>Textual Representation</name>
          <t>It is expected that many key servers will choose to present the keys
in an otherwise unstructured text format (for example, an XML form
would not be considered to be unstructured text for this purpose).
The following definition MUST be used for any DKIM2 key represented in
an otherwise unstructured textual form.</t>
          <t>The overall syntax is a tag-list as described in Section <xref target="tagvalue"/>. The
current valid tags are described below. Other tags MAY be present
and MUST be ignored by any implementation that does not understand
them.</t>
          <artwork><![CDATA[
v= Version of the DKIM key record (plain-text; RECOMMENDED,
   default is "DKIM1"). If specified, this tag MUST be set to
   "DKIM1" (without the quotes). This tag MUST be the first tag in
   the record. Records beginning with a "v=" tag with any other
   value MUST be discarded. Note that Verifiers must do a string
   comparison on this value; for example, "DKIM1" is not the same
   as "DKIM1.0".
   
    INFORMATIVE NOTE: DKIM2 reuses a subset of the DKIM textual
    representation including this version number for compatibility
    with existing key deployment.  Consequently DKIM2 does not
    increment the version number.

   ABNF:
   key-v-tag = %x76 [FWS] "=" [FWS] %x44.4B.49.4D.31


h= Acceptable hash algorithms (plain-text; OPTIONAL, defaults to
   allowing all algorithms). A colon-separated list of hash
   algorithms that might be used. Unrecognized algorithms MUST be
   ignored. Refer to Section {algorithm} for a discussion of the hash
   algorithms implemented by Signers and Verifiers. The set of
   algorithms listed in this tag in each record is an operational
   choice made by the Signer.
   
   ABNF:
   key-h-tag = %x68 [FWS] "=" [FWS] key-h-tag-alg
   *( [FWS] ":" [FWS] key-h-tag-alg )
   key-h-tag-alg = "sha1" / "sha256" / x-key-h-tag-alg
   x-key-h-tag-alg = hyphenated-word ; for future extension
 
k= Key type (plain-text; OPTIONAL, default is "rsa"). Signers and
   Verifiers MUST support the "rsa" key type. The "rsa" key type
   indicates that an ASN.1 DER-encoded [ITU-X660-1997] RSAPublicKey
   (see [RFC8017], Sections 3.1 and A.1.1) is being used in the "p="
   tag. (Note: the "p=" tag further encodes the value using the
   base64 algorithm.) Unrecognized key types MUST be ignored.
   
   ABNF:
   key-k-tag = %x76 [FWS] "=" [FWS] key-k-tag-type
   key-k-tag-type = "rsa" / x-key-k-tag-type
   x-key-k-tag-type = hyphenated-word ; for future extension

n= Notes that might be of interest to a human (qp-section; OPTIONAL,
   default is empty). No interpretation is made by any program.
   This tag should be used sparingly in any key server mechanism that
   has space limitations (notably DNS). This is intended for use by
   administrators, not end users.
   
   ABNF:
   key-n-tag = %x6e [FWS] "=" [FWS] qp-section

p= Public-key data (base64; REQUIRED). An empty value means that
   this public key has been revoked. The syntax and semantics of
   this tag value before being encoded in base64 are defined by the
   "k=" tag.
 
    INFORMATIVE RATIONALE: If a private key has been compromised or
    otherwise disabled (e.g., an outsourcing contract has been
    terminated), a Signer might want to explicitly state that it
    knows about the selector, but all messages using that selector

   ABNF:
   key-p-tag = %x70 [FWS] "=" [ [FWS] base64string]

   INFORMATIVE NOTE: A base64string is permitted to include
   whitespace (FWS) at arbitrary places; however, any CRLFs must
   be followed by at least one WSP character. Implementers and
   administrators are cautioned to ensure that selector TXT RRs
   conform to this specification.

s= Service Type (plain-text; OPTIONAL; default is "*"). A colon-
   separated list of service types to which this record applies.
   Verifiers for a given service type MUST ignore this record if the
   appropriate type is not listed. Unrecognized service types MUST
   be ignored. Currently defined service types are as follows:

   *     matches all service types

   email electronic mail (not necessarily limited to SMTP)

   This tag is intended to constrain the use of keys for other
   purposes, should use of DKIM2 be defined by other services in the
   future.
   
   ABNF:
   key-s-tag = %x73 [FWS] "=" [FWS] key-s-tag-type
   *( [FWS] ":" [FWS] key-s-tag-type )
   key-s-tag-type = "email" / "*" / x-key-s-tag-type
   x-key-s-tag-type = hyphenated-word ; for future extension

t= Flags, represented as a colon-separated list of names (plain-
   text; OPTIONAL, default is no flags set). Unrecognized flags MUST
   be ignored. The defined flags are as follows:
   
   y  This domain is testing DKIM2. Verifiers MUST NOT treat messages
      from Signers in testing mode differently from unsigned email,
      even should the signature fail to verify. Verifiers MAY wish
      to track testing mode results to assist the Signer.

   s  Any DKIM2 signature header fields using the "i=" tag MUST have
      the same domain value on the right-hand side of the "@" in the
      "i=" tag and the value of the "d=" tag. That is, the "i="
      domain MUST NOT be a subdomain of "d=". Use of this flag is

      RECOMMENDED unless subdomaining is required.

   ABNF:
   key-t-tag = %x74 [FWS] "=" [FWS] key-t-tag-flag
   *( [FWS] ":" [FWS] key-t-tag-flag )
   key-t-tag-flag = "y" / "s" / x-key-t-tag-flag
   x-key-t-tag-flag = hyphenated-word ; for future extension
]]></artwork>
        </section>
        <section anchor="dns-binding">
          <name>DNS Binding</name>
          <t>A binding using DNS TXT RRs as a key service is hereby defined. All
implementations MUST support this binding.</t>
          <section anchor="namespace">
            <name>Namespace</name>
            <t>All DKIM2 keys are stored in a subdomain named "_domainkey". Given a
DKIM2 signature header field with a "d=" tag of "example.com" and an
"s=" tag of "foo.bar", the DNS query will be for
"foo.bar._domainkey.example.com".</t>
          </section>
          <section anchor="resource-record-types-for-key-storage">
            <name>Resource Record Types for Key Storage</name>
            <t>The DNS Resource Record type used is specified by an option to the
query-type ("q=") tag. The only option defined in this base
specification is "txt", indicating the use of a TXT RR. A later
extension of this standard may define another RR type.</t>
            <t>Strings in a TXT RR MUST be concatenated together before use with no
intervening whitespace. TXT RRs MUST be unique for a particular
selector name; that is, if there are multiple records in an RRset,
the results are undefined.</t>
            <t>TXT RRs are encoded as described in Section {textualrepresentation}.</t>
          </section>
        </section>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document reuses the IANA registrations in <xref target="RFC6376"/> in Section 7.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document recommends thorough review and adherence to the Security
Consideration in <xref target="RFC6376"/> in Section 8.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC1034">
        <front>
          <title>Domain names - concepts and facilities</title>
          <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
          <date month="November" year="1987"/>
          <abstract>
            <t>This RFC is the revised basic definition of The Domain Name System. It obsoletes RFC-882. This memo describes the domain style names and their used for host address look up and electronic mail forwarding. It discusses the clients and servers in the domain name system and the protocol used between them.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="13"/>
        <seriesInfo name="RFC" value="1034"/>
        <seriesInfo name="DOI" value="10.17487/RFC1034"/>
      </reference>
      <reference anchor="RFC2045">
        <front>
          <title>Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies</title>
          <author fullname="N. Freed" initials="N." surname="Freed"/>
          <author fullname="N. Borenstein" initials="N." surname="Borenstein"/>
          <date month="November" year="1996"/>
          <abstract>
            <t>This initial document specifies the various headers used to describe the structure of MIME messages. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2045"/>
        <seriesInfo name="DOI" value="10.17487/RFC2045"/>
      </reference>
      <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="RFC8017">
        <front>
          <title>PKCS #1: RSA Cryptography Specifications Version 2.2</title>
          <author fullname="K. Moriarty" initials="K." role="editor" surname="Moriarty"/>
          <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
          <author fullname="J. Jonsson" initials="J." surname="Jonsson"/>
          <author fullname="A. Rusch" initials="A." surname="Rusch"/>
          <date month="November" year="2016"/>
          <abstract>
            <t>This document provides recommendations for the implementation of public-key cryptography based on the RSA algorithm, covering cryptographic primitives, encryption schemes, signature schemes with appendix, and ASN.1 syntax for representing keys and for identifying the schemes.</t>
            <t>This document represents a republication of PKCS #1 v2.2 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series. By publishing this RFC, change control is transferred to the IETF.</t>
            <t>This document also obsoletes RFC 3447.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8017"/>
        <seriesInfo name="DOI" value="10.17487/RFC8017"/>
      </reference>
      <reference anchor="RFC3629">
        <front>
          <title>UTF-8, a transformation format of ISO 10646</title>
          <author fullname="F. Yergeau" initials="F." surname="Yergeau"/>
          <date month="November" year="2003"/>
          <abstract>
            <t>ISO/IEC 10646-1 defines a large character set called the Universal Character Set (UCS) which encompasses most of the world's writing systems. The originally proposed encodings of the UCS, however, were not compatible with many current applications and protocols, and this has led to the development of UTF-8, the object of this memo. UTF-8 has the characteristic of preserving the full US-ASCII range, providing compatibility with file systems, parsers and other software that rely on US-ASCII values but are transparent to other values. This memo obsoletes and replaces RFC 2279.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="63"/>
        <seriesInfo name="RFC" value="3629"/>
        <seriesInfo name="DOI" value="10.17487/RFC3629"/>
      </reference>
      <reference anchor="RFC5322">
        <front>
          <title>Internet Message Format</title>
          <author fullname="P. Resnick" initials="P." role="editor" surname="Resnick"/>
          <date month="October" year="2008"/>
          <abstract>
            <t>This document specifies the Internet Message Format (IMF), a syntax for text messages that are sent between computer users, within the framework of "electronic mail" messages. This specification is a revision of Request For Comments (RFC) 2822, which itself superseded Request For Comments (RFC) 822, "Standard for the Format of ARPA Internet Text Messages", updating it to reflect current practice and incorporating incremental changes that were specified in other RFCs. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5322"/>
        <seriesInfo name="DOI" value="10.17487/RFC5322"/>
      </reference>
      <reference anchor="RFC5598">
        <front>
          <title>Internet Mail Architecture</title>
          <author fullname="D. Crocker" initials="D." surname="Crocker"/>
          <date month="July" year="2009"/>
          <abstract>
            <t>Over its thirty-five-year history, Internet Mail has changed significantly in scale and complexity, as it has become a global infrastructure service. These changes have been evolutionary, rather than revolutionary, reflecting a strong desire to preserve both its installed base and its usefulness. To collaborate productively on this large and complex system, all participants need to work from a common view of it and use a common language to describe its components and the interactions among them. But the many differences in perspective currently make it difficult to know exactly what another participant means. To serve as the necessary common frame of reference, this document describes the enhanced Internet Mail architecture, reflecting the current service. This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5598"/>
        <seriesInfo name="DOI" value="10.17487/RFC5598"/>
      </reference>
      <reference anchor="RFC6376">
        <front>
          <title>DomainKeys Identified Mail (DKIM) Signatures</title>
          <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
          <author fullname="T. Hansen" initials="T." role="editor" surname="Hansen"/>
          <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy"/>
          <date month="September" year="2011"/>
          <abstract>
            <t>DomainKeys Identified Mail (DKIM) permits a person, role, or organization that owns the signing domain to claim some responsibility for a message by associating the domain with the message. This can be an author's organization, an operational relay, or one of their agents. DKIM separates the question of the identity of the Signer of the message from the purported author of the message. Assertion of responsibility is validated through a cryptographic signature and by querying the Signer's domain directly to retrieve the appropriate public key. Message transit from author to recipient is through relays that typically make no substantive change to the message content and thus preserve the DKIM signature.</t>
            <t>This memo obsoletes RFC 4871 and RFC 5672. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="76"/>
        <seriesInfo name="RFC" value="6376"/>
        <seriesInfo name="DOI" value="10.17487/RFC6376"/>
      </reference>
      <reference anchor="RFC8463">
        <front>
          <title>A New Cryptographic Signature Method for DomainKeys Identified Mail (DKIM)</title>
          <author fullname="J. Levine" initials="J." surname="Levine"/>
          <date month="September" year="2018"/>
          <abstract>
            <t>This document adds a new signing algorithm, Ed25519-SHA256, to "DomainKeys Identified Mail (DKIM) Signatures" (RFC 6376). DKIM verifiers are required to implement this algorithm.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8463"/>
        <seriesInfo name="DOI" value="10.17487/RFC8463"/>
      </reference>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81cbW/jRpL+zl/RULCANScp8z6JBwZWGXs2RuwZn+1JshgY
QUtsScxQpMIm7dEuFri/cX/vfsnVU1XdJGU5yex9uUEQS2Szuru6Xp56ocbj
cVJnde4OzXG5tllh3tm1M1cbN88W2dzWWVmYRVmZ4x9Oz58mdjar3O2hfkvL
eUGjD01a2UU9nq8aWyzH6ads/XScFn78+HHim9k6856oXG83NPL05PptQmTd
sqy2h8bXadJsUvruD5NsUx2aump8/fTx428fP00+ue1dWaX0VFG7qnD1+BgT
Jb62RfqLzcuCKG6dTzbZoflYl/OR8WVVV27h6dN2jQ83SWKbelVWh/GvGSeG
/mWFPzQ/TcwbXjZfkt385LLuxbJaHpq/leUyd/zdEZvyQ3PnspW9++uSb0zm
5TpJirJaE8du3SEPvHz75snjZ8/jl6ePn79ovzx58m388s3jJ6/il2cvn7Z3
Xjx7+rT98uLbb+KXl89evWwJPH/5jBhYLNoVJOPx2NiZrys7r5PkeuWMcDrV
k/7Bbb05TV1R00nT1XPaljngkx2ajavWWe2NLbB/W2T/YFFI6pWtTXlXeFMT
QZ8ti6xYmlREpy7NPLfZmk6BZKhyflMWPptleVZvWYhssnbe26Uzs62x3pfz
jMgSARBTIndZveLvYWi9qspmuTLWpNkyq22eYFpbN5WbmOtV5g39l5IsgOim
meWZXzHNsi/SrrrN5o52+O5qaMpF0pnTynNzQxJneIsZb7CIiyT+EL3uI0Wa
3K1cFdfpzZyYNROm0PDZlofPy0oYkWJNmyq7JWKYZ5JMvXcVK1i52OUWzX9r
80zOq+XAvNpu6nJZ2c0qm7d8wGow4W+Nq7aBn1dYR/U///XfPqw5zSo3r/Mt
tlK5usrcLdjrErvZVCWtDUtrOTExwl5S82ZNYmJS5+dVNqOtspQY4iTRoR2m
RgQvwTpW5R0mWGRFyuuQERMRyHWWpqRHyVfQ6apMmzmL1f87+fyounfzb0lq
opJqOpL65aKaBFE1/ydRTT6qIbphMflioU26QmvMl0tt0pNa8+9KbbIjteYB
qYUsfZHUmj1Sm6jU4ti+SDBtWm4gl/B83tXh9HCXhQpm+4bX4Ls+dmRmTY0F
bMi/EuXErmfZsmHBrMq1aXxgkHyKroa2sqADLea0P3pcZxjR0MwnkQfzcpPR
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

-->

</rfc>
