<?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.31 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-chuang-dkim2-dns-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="DKIM2 DNS">Domain Name Specification for DKIM2</title>
    <seriesInfo name="Internet-Draft" value="draft-chuang-dkim2-dns-04"/>
    <author initials="W." surname="Chuang" fullname="Wei Chuang">
      <organization>Google</organization>
      <address>
        <email>weihaw@google.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="18"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 32?>

<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 45?>

<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>
      <t>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.</t>
      <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) <xref target="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 <xref target="RFC5234"/>)</t>
          </li>
          <li>
            <t>LWSP is linear whitespace, defined as WSP plus CRLF (formal definition in <xref target="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 <xref target="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 will be described in a separate document. NOTE: This
section must be read in the context of those elements.</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>
        <artwork><![CDATA[
ABNF:
selector = sub-domain *( "." sub-domain )
]]></artwork>
        <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>
        <t>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.</t>
        <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>
        <t>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.</t>
      </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>
        <t>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 <xref target="RFC3629"/> text
in tag=value lists.</t>
        <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 / "_"
]]></artwork>
        <t>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.</t>
        <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 <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. Several tags are retired from DKIM2, though remain documented for compatibility with DKIM1.  Conforming DKIM2 implementations SHOULD ignore retired tags.</t>
          <dl>
            <dt>v=</dt>
            <dd>
              <t>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".</t>
            </dd>
          </dl>
          <t>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.</t>
          <artwork><![CDATA[
ABNF:
key-v-tag = %x76 [FWS] "=" [FWS] %x44.4B.49.4D.31
]]></artwork>
          <dl>
            <dt>h=</dt>
            <dd>
              <t>Acceptable hash algorithms (plain-text).  This is retired from DKIM2 and SHOULD be ignored.</t>
            </dd>
          </dl>
          <artwork><![CDATA[
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
]]></artwork>
          <dl>
            <dt>k=</dt>
            <dd>
              <t>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 <xref target="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.) In addition Signers and Verifiers SHOULD
support the "ed25519" key type (See <xref target="RFC8463"/>).  The p= value
in the key record is the Ed25519 public key encoded in base64. 
Unrecognized key types MUST be ignored.</t>
            </dd>
          </dl>
          <artwork><![CDATA[
ABNF:
key-k-tag = %x76 [FWS] "=" [FWS] key-k-tag-type
key-k-tag-type = "rsa" / "ed25519" / x-key-k-tag-type
x-key-k-tag-type = hyphenated-word ; for future extension
]]></artwork>
          <dl>
            <dt>n=</dt>
            <dd>
              <t>Notes to human operators.  This is retired from DKIM2 and SHOULD be ignored.</t>
            </dd>
          </dl>
          <artwork><![CDATA[
ABNF:
key-n-tag = %x6e [FWS] "=" [FWS] qp-section
]]></artwork>
          <dl>
            <dt>p=</dt>
            <dd>
              <t>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.</t>
            </dd>
          </dl>
          <t>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</t>
          <artwork><![CDATA[
ABNF:
key-p-tag = %x70 [FWS] "=" [ [FWS] base64string]
]]></artwork>
          <t>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.</t>
          <dl>
            <dt>s=</dt>
            <dd>
              <t>Service Type (plain-text).  This is retired from DKIM2 and SHOULD be ignored.</t>
            </dd>
          </dl>
          <artwork><![CDATA[
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
]]></artwork>
          <dl>
            <dt>t=</dt>
            <dd>
              <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:
</t>
              <dl>
                <dt>y</dt>
                <dd>
                  <t>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.</t>
                </dd>
                <dt>s</dt>
                <dd>
                  <t>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</t>
                </dd>
              </dl>
              <t>RECOMMENDED unless subdomaining is required.</t>
            </dd>
          </dl>
          <artwork><![CDATA[
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 <xref target="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="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="RFC5234">
        <front>
          <title>Augmented BNF for Syntax Specifications: ABNF</title>
          <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
          <author fullname="P. Overell" initials="P." surname="Overell"/>
          <date month="January" year="2008"/>
          <abstract>
            <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="68"/>
        <seriesInfo name="RFC" value="5234"/>
        <seriesInfo name="DOI" value="10.17487/RFC5234"/>
      </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="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="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>
    <?line 515?>

<section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The parent document to this is DKIM <xref target="RFC6376"/> from which the vast
majority of content is copied from with only slight editing to update
for DKIM2.  The DKIM RFC was editted by Dave Crocker, Tony Hansen, and
Murray Kucherawy.  In addition, another source for this document is the
Ed25519 extension to DKIM <xref target="RFC8463"/> with content transfered verbatum
directly from.  The Ed25519 extension RFC was written by John Levine.
Credit for the content and specification for DKIM and the Edd25519
extension, from which DKIM2 is derived from, goes to them.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81c63LbRpb+30/RxdRUiV6SsXxN5HLVMpY80UaSvZKcZMql
SjUJkEQEAgwakMyZmql9jX29fZI93zmnGwBFZ8bZP5tKWQTY6Mu5fucCjsdj
U2d1nh7Z43LtssJeuHVqrzbpPFtkc1dnZWEXZWWPfzg9f2LcbFald0dyZY8v
rkxSzgt64sgmlVvU4/mqccVynNxm6yfjpPDjx8+Mb2brzHua6Xq7oZGnJ9dv
DU2dLstqe2R9nZhsUx3Zump8/eTx428fPzG36fa+rBIaXNRpVaT1+BjzG1+7
IvnF5WVBE21TbzbZkf1Yl/OR9WVVV+nC06ftGh9ujHFNvSqrI2PHxtJ/WeGP
7E8T+4Z3ybdk8z+lWfdmWS2P7J/LcpmnfJ0SZfIje59mK3f/70v+YjIv18YU
ZbUmIt2lRzzw8u2bw8dPn8WLJ4+fPW8vDg+/jRdPXzxpL54/6Tzz/OmTJ+3F
82+/iRcvnr58ES++eXz4sr149uLpkcmKRbsdMx6PrZv5unLz2pjrVWqbTUJU
T5TTP6Rbb0+TtKiJ03T3nM5oD5izQ7tJq3VWe+sKEMMV2V9ZFEy9crUt7wtv
a5rQZ8siK5Y2EdGpSzvPXbYmVpAMVanflIXPZlme1VsWImfWqfdumdrZ1jrv
y3lG09IEmEwnuc/qFV+HofWqKpvlyjqbZMusdrnBsq5uqnRir1eZt/R/QgKB
STfNLM/8iucs+yKdVnfZPKUTXlwNbbkwnTWdPDe3JHaWj5jxAYu4SaIPzdd9
pEjM/Sqt4j69nROxZkIUGj7b8vB5WQkhEuxpU2V3NBnWmZip92nFClYudqlF
69+5PBN+tRSYV9tNXS4rt1ll85YO2A0W/K1Jq22g5xX2Uf3Pf/23D3tOsiqd
1/kWR6nSusrSO5A3NW6zqUraG7bWUmJihbyk4s2axMQmqZ9X2YyOGvWf5qET
JlYEz2Afq/IeCyyyIuF9yIiJCOQ6SxJSKvMVFLsqk2bOYvX/Tj4/qiLe/CFJ
NSqptiOpXy6qJoiq/T+JqvmoVumGxeSLhdZ0hdbaL5da05Na+0el1uxIrf2M
1EKWvkhq7R6pNSq1YNsXCaZLyg3kEl7Pp3XgHr5loYINv+E9+K6PHdlZU2MD
G/KvNLNx61m2bFgwq3JtGx8IJJ+i36GjLIihxZzOR4/rCiMamnkTaTAvNxkN
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

-->

</rfc>
