<?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.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dkim-dkim2-dns-03" category="std" consensus="true" submissionType="IETF" updates="6376" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="DKIM DNS">Domain Name Specification for DKIM1 and DKIM2</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dkim-dkim2-dns-03"/>
    <author initials="W." surname="Chuang" fullname="Wei Chuang">
      <organization>Google</organization>
      <address>
        <email>weihaw@google.com</email>
      </address>
    </author>
    <author initials="R." surname="Clayton" fullname="Richard Clayton">
      <organization>Yahoo</organization>
      <address>
        <email>rclayton@yahooinc.com</email>
      </address>
    </author>
    <date year="2026" month="November" day="02"/>
    <workgroup>dkim</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 63?>

<t>DomainKeys Identified Mail (DKIM) permits the owner of a signing
domain to document that they have handled an email message by
associating their domain with the message.
One part of this involves publishing a public key to a Domain Name
System (DNS) record associated with the domain. Signing with the
associated private key establishes their connection to the message.
This document describes how to find the
relevant DNS record and how information is recorded within it.</t>
      <t>This document updates RFC 6376, which describes DKIM, by clarifying
the RSA public key format and by deprecating key record features
that have not turned out to be useful. It also describes which
parts of the key record are relevant to DomainKeys Identified Mail
v2 (DKIM2) and describes a new Domain Policy Record for DKIM2 that
can hold domain-wide settings.</t>
    </abstract>
  </front>
  <middle>
    <?line 82?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>DomainKeys Identified Mail permits the owner of a signing
domain to document that they have handled an email message by associating
their domain with the message by means of a cryptographic signature.</t>
      <t><xref target="RFC6376"/> describes how this is achieved in a protocol we will call, for
the purposes of this document, DKIM1. <xref target="DKIM2SPEC"/> describes DomainKeys
Identified Mail v2, which we will call DKIM2. Usage of the term DKIM
should be understood as referring to both DKIM1 and DKIM2.</t>
      <t>DKIM1 and DKIM2 use the same method of storing public key values in
the Domain Name System (DNS).</t>
      <t>This document serves two purposes. It describes all the features of the
key storage system used by DKIM1 as updated by <xref target="RFC8301"/> and <xref target="RFC8463"/>
(along with errata) but then deprecates various features which have turned out
to be of little practical use. It also states which of these
features DKIM2 uses.</t>
      <t>Further, a new DKIM2-only Domain Policy Record is defined. DKIM1
does not use this.</t>
    </section>
    <section anchor="terminology-and-definitions">
      <name>Terminology and Definitions</name>
      <t>This section defines terms used in the rest of the document.</t>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>Terms such as Signer, Verifier, Signing Domain and Selector
are used as defined in <xref target="DKIM2SPEC"/>. Basic email terminology is
taken from <xref target="RFC5598"/>.</t>
      <t>Syntax descriptions use Augmented BNF (ABNF) <xref target="RFC5234"/>,
together with the %s"..." notation for case-sensitive strings
defined in <xref target="RFC7405"/>.</t>
      <section anchor="whitespace">
        <name>Whitespace</name>
        <t>There are two forms of whitespace used in this specification:</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>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 given for information only):</t>
        <artwork><![CDATA[
WSP =   SP / HTAB
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>Tokens are imported from other RFCs as noted. Those RFCs
should be considered definitive.</t>
        <ul spacing="normal">
          <li>
            <t>"qp-section" (a single line of quoted-printable-encoded text) is
imported from <xref target="RFC2045"/>.</t>
          </li>
          <li>
            <t>"sub-domain" (a single domain label) is imported from <xref target="RFC5321"/>.</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">
        <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>
        <t>Note that base64strings are defined in <xref target="RFC4648"/>, but that document
does not contain any ABNF. A base64string <bcp14>MUST</bcp14> be padded with zero
bits and trailing = characters provided if needed. This allows
implementations to compare base64string values without decoding
them.</t>
        <t>FWS may appear anywhere within a base64string and is ignored
when the value is used.</t>
      </section>
      <section anchor="tagvalue">
        <name>Tag=Value Lists</name>
        <t>Key records use the "tag=value" syntax defined in the "Tag=Value
Lists" section of <xref target="DKIM2SPEC"/>, including its
rules on whitespace, case sensitivity, duplicate tags, unrecognized
tags, empty values and default values.</t>
      </section>
    </section>
    <section anchor="public-key-management">
      <name>Public key management</name>
      <t>DKIM links a public key to the Signing Domain by fetching a
public key value from the DNS.</t>
      <t>Selectors permit a Signing Domain to use multiple public keys, possibly
using different cryptographic algorithms. Selectors allow keys to
be rotated or distributed to third parties.</t>
      <t>DKIM keys are stored in a subdomain named "_domainkey".  Given a
Signing Domain "example.com" and a Selector of "foo.bar", the DNS
query will be for "foo.bar._domainkey.example.com".</t>
      <t>Keys are held in a TXT RR at the selector name. Strings in a TXT RR
<bcp14>MUST</bcp14> be concatenated together before use with no intervening
whitespace. TXT records that begin with a "v=" tag with a value
other than "DKIM1" are ignored. If more than one record then
remains, this is an error.</t>
      <t>ABNF:</t>
      <artwork><![CDATA[
selector = sub-domain *( "." sub-domain )
]]></artwork>
    </section>
    <section anchor="textualrepresentation">
      <name>Key records</name>
      <t>The overall syntax is a Tag=Value list as described in <xref target="tagvalue"/>.</t>
      <t>Key records are defined for three key types:</t>
      <table anchor="keytypes">
        <name>Key types</name>
        <thead>
          <tr>
            <th align="left">Key type</th>
            <th align="left">Algorithm</th>
            <th align="left">DKIM1 usage</th>
            <th align="left">DKIM2 usage</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">"rsa"</td>
            <td align="left">RSA <xref target="RFC8017"/></td>
            <td align="left">
              <xref target="RFC6376"/>, <xref target="RFC8301"/></td>
            <td align="left">
              <xref target="DKIM2SPEC"/></td>
          </tr>
          <tr>
            <td align="left">"ed25519"</td>
            <td align="left">Ed25519 <xref target="RFC8032"/></td>
            <td align="left">
              <xref target="RFC8463"/></td>
            <td align="left">
              <xref target="DKIM2SPEC"/></td>
          </tr>
          <tr>
            <td align="left">"mldsa44"</td>
            <td align="left">ML-DSA-44 <xref target="FIPS-204"/></td>
            <td align="left">not defined</td>
            <td align="left">
              <xref target="DKIM2SPEC"/></td>
          </tr>
        </tbody>
      </table>
      <t>The algorithms used with these keys, and the RSA key sizes, are
specified in <xref target="DKIM2SPEC"/>; for DKIM1 see <xref target="RFC8301"/>.</t>
      <t>The current valid tags for key records are described below. The p=
tag <bcp14>MUST</bcp14> be present; all other tags are optional. It is <bcp14>RECOMMENDED</bcp14>
to provide a v= tag.</t>
      <t>The h=, n=, s= and t= tags are deprecated: they <bcp14>SHOULD NOT</bcp14> be used
in DKIM1 key records, and DKIM2 ignores them if they are present.</t>
      <section anchor="v-version-of-the-dkim-key-record">
        <name>v= Version of the DKIM key record</name>
        <t>If specified, this tag <bcp14>MUST</bcp14> be set to "DKIM1" (without the quotes) and
an exact match with those characters is required. If absent, the record
is processed as if v=DKIM1 were present. This tag <bcp14>MUST</bcp14> be the first tag
in the record. Records beginning with a "v=" tag with any other value
<bcp14>MUST</bcp14> be discarded.</t>
        <t>ABNF:</t>
        <artwork><![CDATA[
key-v-tag = %s"v" [FWS] "=" [FWS] %s"DKIM1"
]]></artwork>
      </section>
      <section anchor="k-key-type">
        <name>k= Key type</name>
        <t>This tag indicates what type of key is present. If omitted then
the value "rsa" is used.</t>
        <t>The p= tag is interpreted for the different key types as follows:</t>
        <t>rsa: p= is an ASN.1 DER-encoded <xref target="ITU-X660-1997"/> RSAPublicKey
(<xref target="RFC8017"/>, Sections 3.1 and A.1.1) or a SubjectPublicKeyInfo
containing one (<xref target="RFC5280"/>, <xref target="RFC4055"/>).</t>
        <t>ed25519: p= is the 32-octet Ed25519 public key <xref target="RFC8463"/>.</t>
        <t>mldsa44: p= is the 1312-octet ML-DSA-44 public key output by
ML-DSA.KeyGen (Algorithm 1 of <xref target="FIPS-204"/>, encoded by pkEncode,
Algorithm 22), with no SubjectPublicKeyInfo or other wrapper.</t>
        <t>DKIM1 Signers and Verifiers <bcp14>MUST</bcp14> support "rsa".
DKIM2 Verifiers <bcp14>MUST</bcp14> support all three key types.</t>
        <t>ABNF:</t>
        <artwork><![CDATA[
key-k-tag        = %s"k" [FWS] "=" [FWS] key-k-tag-type
key-k-tag-type   = %s"rsa" / %s"ed25519" / %s"mldsa44" /
                   x-key-k-tag-type
x-key-k-tag-type = hyphenated-word ; for future extension
]]></artwork>
      </section>
      <section anchor="p-public-key-data">
        <name>p= Public-key data</name>
        <t>The public key data is a base64string whose format depends on
the k= tag. An empty value means that this public key has been
revoked. An "ed25519" key that is not 32 octets, or an "mldsa44"
key that is not 1312 octets, is malformed.</t>
        <t>ABNF:</t>
        <artwork><![CDATA[
key-p-tag = %s"p" [FWS] "=" [ [FWS] base64string ]
]]></artwork>
      </section>
      <section anchor="h-acceptable-hash-algorithms">
        <name>h= Acceptable hash algorithms</name>
        <t>A colon-separated list of the hash algorithms that may be used with
this key. When absent all are allowed.</t>
        <t>Note that <xref target="RFC8301"/> forbids the use of "rsa-sha1" for DKIM1.</t>
        <t>ABNF:</t>
        <artwork><![CDATA[
key-h-tag       = %s"h" [FWS] "=" [FWS] key-h-tag-alg
                     *( [FWS] ":" [FWS] key-h-tag-alg )
key-h-tag-alg   = %s"sha1" / %s"sha256" / x-key-h-tag-alg
x-key-h-tag-alg = hyphenated-word ; for future extension
]]></artwork>
      </section>
      <section anchor="n-notes-that-might-be-of-interest-to-a-human">
        <name>n= Notes that might be of interest to a human</name>
        <t>The notes text <bcp14>MUST</bcp14> be in quoted-printable format. DKIM does
not use this text for any purpose.</t>
        <t>ABNF:</t>
        <artwork><![CDATA[
key-n-tag = %s"n" [FWS] "=" [FWS] qp-section
]]></artwork>
      </section>
      <section anchor="s-service-type">
        <name>s= Service type</name>
        <t>A colon-separated list of service types to which the record
applies (default "<em>"). DKIM1 Verifiers ignore the key
record if the list does not contain either "</em>" or "email".</t>
        <t>ABNF:</t>
        <artwork><![CDATA[
key-s-tag        = %s"s" [FWS] "=" [FWS] key-s-tag-type
                      *( [FWS] ":" [FWS] key-s-tag-type )
key-s-tag-type   = %s"email" / "*" / x-key-s-tag-type
x-key-s-tag-type = hyphenated-word ; for future extension
]]></artwork>
      </section>
      <section anchor="t-flags">
        <name>t= Flags</name>
        <t>A colon-separated list of flags (default none). The flags are
"y" (the domain is testing DKIM1) and "s" (DKIM1 requires
an i= domain to be the same as d=). Unrecognized flags are
ignored.</t>
        <t>ABNF:</t>
        <artwork><![CDATA[
key-t-tag        = %s"t" [FWS] "=" [FWS] key-t-tag-flag
                      *( [FWS] ":" [FWS] key-t-tag-flag )
key-t-tag-flag   = %s"y" / %s"s" / x-key-t-tag-flag
x-key-t-tag-flag = hyphenated-word ; for future extension
]]></artwork>
      </section>
    </section>
    <section anchor="domain-policy">
      <name>Domain Policy Record</name>
      <t>The Domain Policy Record for a domain is a TXT RR at "_domainkey"
under that domain (for "example.com", "_domainkey.example.com").</t>
      <t>This record is used by DKIM2 and not by DKIM1.</t>
      <t>It is a Tag=Value list (see <xref target="tagvalue"/>). The two current valid
tags are described below. The v= tag <bcp14>MUST</bcp14> be present; the f= tag
is optional.</t>
      <t>TXT records at that name that do not begin with v=DKIM1 are
ignored. If more than one remains, this is an error.</t>
      <t>If the "strict" flag is absent, or there is no f= tag, or
there is no Domain Policy Record, subdomains are authorized.</t>
      <t>The record applies only to the domain that holds it; it is not
inherited by subdomains or parents.</t>
      <section anchor="v-version-of-the-domain-policy-record">
        <name>v= Version of the Domain Policy Record</name>
        <t>This tag <bcp14>MUST</bcp14> be set to "DKIM1" (without the quotes) and
an exact match with those characters is required.
This tag <bcp14>MUST</bcp14> be the first tag in the record.</t>
        <t>ABNF:</t>
        <artwork><![CDATA[
dpr-v-tag = %s"v" [FWS] "=" [FWS] %s"DKIM1"
]]></artwork>
      </section>
      <section anchor="f-flags-for-the-domain-policy-record">
        <name>f= Flags for the Domain Policy Record</name>
        <t>A colon-separated list of flags (default none). One flag is
defined, "strict": subdomains of the domain are not authorized
to make From header fields that use the domain Authentic (see
<xref target="DKIM2SPEC"/>). Unrecognized flags are ignored.</t>
        <t>ABNF:</t>
        <artwork><![CDATA[
dpr-f-tag        = %s"f" [FWS] "=" [ [FWS] dpr-f-tag-flag
                      *( [FWS] ":" [FWS] dpr-f-tag-flag ) ]
dpr-f-tag-flag   = %s"strict" / x-dpr-f-tag-flag
x-dpr-f-tag-flag = hyphenated-word ; for future extension
]]></artwork>
      </section>
    </section>
    <section anchor="updates-to-rfc-6376">
      <name>Updates to RFC 6376</name>
      <t>This document updates <xref target="RFC6376"/> as follows:</t>
      <ul spacing="normal">
        <li>
          <t>The h=, n=, s= and t= tags are deprecated (see <xref target="textualrepresentation"/>).</t>
        </li>
        <li>
          <t>An "rsa" key may be either an RSAPublicKey or a
SubjectPublicKeyInfo containing one. This resolves errata
3017, 6674 and 7001.</t>
        </li>
        <li>
          <t>TXT records at a selector name that begin with v= other
than "DKIM1" are ignored; more than one remaining record is
an error.</t>
        </li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to make the following changes to registries in
the "DomainKeys Identified Mail (DKIM) Parameters" group. As set out
in <xref target="RFC6376"/>, the status of an entry is either "active" or
"historic".</t>
      <section anchor="domainkey-dns-txt-record-tag-specifications">
        <name>_domainkey DNS TXT Record Tag Specifications</name>
        <t>IANA is requested to update the following entries and add the "f"
entry. Other entries are unchanged.</t>
        <table>
          <thead>
            <tr>
              <th align="left">TYPE</th>
              <th align="left">REFERENCE</th>
              <th align="left">STATUS</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">v</td>
              <td align="left">
                <xref target="RFC6376"/>, RFC XXXX</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">h</td>
              <td align="left">
                <xref target="RFC6376"/>, RFC XXXX</td>
              <td align="left">historic</td>
            </tr>
            <tr>
              <td align="left">k</td>
              <td align="left">
                <xref target="RFC6376"/>, RFC XXXX</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">n</td>
              <td align="left">
                <xref target="RFC6376"/>, RFC XXXX</td>
              <td align="left">historic</td>
            </tr>
            <tr>
              <td align="left">p</td>
              <td align="left">
                <xref target="RFC6376"/>, RFC XXXX</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">s</td>
              <td align="left">
                <xref target="RFC6376"/>, RFC XXXX</td>
              <td align="left">historic</td>
            </tr>
            <tr>
              <td align="left">t</td>
              <td align="left">
                <xref target="RFC6376"/>, RFC XXXX</td>
              <td align="left">historic</td>
            </tr>
            <tr>
              <td align="left">f</td>
              <td align="left">RFC XXXX</td>
              <td align="left">active</td>
            </tr>
          </tbody>
        </table>
        <t>IANA is also requested to add a note to the registry: "Tags in this
registry are used in DKIM key records and in the DKIM2 Domain
Policy Record. A tag name is registered once and has one meaning."</t>
      </section>
      <section anchor="dkim-key-type">
        <name>DKIM Key Type</name>
        <t>IANA is requested to update the "rsa" entry and to add the "mldsa44"
entry as follows:</t>
        <table>
          <thead>
            <tr>
              <th align="left">TYPE</th>
              <th align="left">REFERENCE</th>
              <th align="left">STATUS</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">rsa</td>
              <td align="left">
                <xref target="RFC8017"/>, RFC XXXX</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">mldsa44</td>
              <td align="left">
                <xref target="FIPS-204"/>, RFC XXXX</td>
              <td align="left">active</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="dkim-service-types">
        <name>DKIM Service Types</name>
        <t>IANA is requested to update both entries as follows:</t>
        <table>
          <thead>
            <tr>
              <th align="left">TYPE</th>
              <th align="left">REFERENCE</th>
              <th align="left">STATUS</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">email</td>
              <td align="left">
                <xref target="RFC6376"/>, RFC XXXX</td>
              <td align="left">historic</td>
            </tr>
            <tr>
              <td align="left">*</td>
              <td align="left">
                <xref target="RFC6376"/>, RFC XXXX</td>
              <td align="left">historic</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="dkim-selector-flags">
        <name>DKIM Selector Flags</name>
        <t>IANA is requested to update both entries as follows:</t>
        <table>
          <thead>
            <tr>
              <th align="left">TYPE</th>
              <th align="left">REFERENCE</th>
              <th align="left">STATUS</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">y</td>
              <td align="left">
                <xref target="RFC6376"/>, RFC XXXX</td>
              <td align="left">historic</td>
            </tr>
            <tr>
              <td align="left">s</td>
              <td align="left">
                <xref target="RFC6376"/>, RFC XXXX</td>
              <td align="left">historic</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="dkim2-domain-policy-flags">
        <name>DKIM2 Domain Policy Flags</name>
        <t>IANA is requested to create a new registry, "DKIM2 Domain Policy
Flags", in the same group, for the flags used in the f= tag of the
Domain Policy Record (see <xref target="domain-policy"/>). New entries are
assigned by IETF Review <xref target="RFC8126"/>. Each entry has a TYPE, a
REFERENCE and a STATUS ("active" or "historic"). The initial entry
is:</t>
        <table>
          <thead>
            <tr>
              <th align="left">TYPE</th>
              <th align="left">REFERENCE</th>
              <th align="left">STATUS</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">strict</td>
              <td align="left">RFC XXXX</td>
              <td align="left">active</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="underscored-and-globally-scoped-dns-node-names">
        <name>Underscored and Globally Scoped DNS Node Names</name>
        <t>IANA is requested to update the "_domainkey" entry for the TXT RR
type in the "Underscored and Globally Scoped DNS Node Names"
registry <xref target="RFC8552"/> as follows. This document places the Domain
Policy Record at the "_domainkey" name itself, in addition to the
key records beneath it.</t>
        <table>
          <thead>
            <tr>
              <th align="left">RR Type</th>
              <th align="left">_NODE NAME</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TXT</td>
              <td align="left">_domainkey</td>
              <td align="left">
                <xref target="RFC6376"/>, RFC XXXX</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>An "mldsa44" key of the wrong length is malformed (see p=);
accepting one would lose the strong unforgeability ML-DSA
provides (Section 3.6.2 of <xref target="FIPS-204"/>).</t>
      <t>See also the Security Considerations of <xref target="RFC6376"/> and <xref target="DKIM2SPEC"/>.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC4055">
          <front>
            <title>Additional Algorithms and Identifiers for RSA Cryptography for use in the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="June" year="2005"/>
            <abstract>
              <t>This document supplements RFC 3279. It describes the conventions for using the RSA Probabilistic Signature Scheme (RSASSA-PSS) signature algorithm, the RSA Encryption Scheme - Optimal Asymmetric Encryption Padding (RSAES-OAEP) key transport algorithm and additional one-way hash functions with the Public-Key Cryptography Standards (PKCS) #1 version 1.5 signature algorithm in the Internet X.509 Public Key Infrastructure (PKI). Encoding formats, algorithm identifiers, and parameter formats are specified. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4055"/>
          <seriesInfo name="DOI" value="10.17487/RFC4055"/>
        </reference>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </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="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC5321">
          <front>
            <title>Simple Mail Transfer Protocol</title>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <date month="October" year="2008"/>
            <abstract>
              <t>This document is a specification of the basic protocol for Internet electronic mail transport. It consolidates, updates, and clarifies several previous documents, making all or parts of most of them obsolete. It covers the SMTP extension mechanisms and best practices for the contemporary Internet, but does not provide details about particular extensions. Although SMTP was designed as a mail transport and delivery protocol, this specification also contains information that is important to its use as a "mail submission" protocol for "split-UA" (User Agent) mail reading systems and mobile environments. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5321"/>
          <seriesInfo name="DOI" value="10.17487/RFC5321"/>
        </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="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="RFC7405">
          <front>
            <title>Case-Sensitive String Support in ABNF</title>
            <author fullname="P. Kyzivat" initials="P." surname="Kyzivat"/>
            <date month="December" year="2014"/>
            <abstract>
              <t>This document extends the base definition of ABNF (Augmented
Backus-Naur Form) to include a way to specify US-ASCII string literals
that are matched in a case-sensitive manner.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="68"/>
          <seriesInfo name="RFC" value="7405"/>
          <seriesInfo name="DOI" value="10.17487/RFC7405"/>
        </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="RFC8032">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </reference>
        <reference anchor="RFC8301">
          <front>
            <title>Cryptographic Algorithm and Key Usage Update to DomainKeys Identified Mail (DKIM)</title>
            <author fullname="S. Kitterman" initials="S." surname="Kitterman"/>
            <date month="January" year="2018"/>
            <abstract>
              <t>The cryptographic algorithm and key size requirements included when DomainKeys Identified Mail (DKIM) was designed a decade ago are functionally obsolete and in need of immediate revision. This document updates DKIM requirements to those minimally suitable for operation with currently specified algorithms.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8301"/>
          <seriesInfo name="DOI" value="10.17487/RFC8301"/>
        </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>
        <reference anchor="DKIM2SPEC">
          <front>
            <title>DomainKeys Identified Mail Signatures v2 (DKIM2)</title>
            <author fullname="Richard Clayton" initials="R." surname="Clayton">
              <organization>Yahoo</organization>
            </author>
            <author fullname="Wei Chuang" initials="W." surname="Chuang">
              <organization>Google</organization>
            </author>
            <author fullname="Bron Gondwana" initials="B." surname="Gondwana">
              <organization>Fastmail Pty Ltd</organization>
            </author>
            <date day="1" month="November" year="2026"/>
            <abstract>
              <t>   DomainKeys Identified Mail v2 (DKIM2) permits the owner of a signing
   domain to document that they have handled an email message by
   associating their domain with the message.  This is achieved by
   providing a hash value that has been calculated on the current
   contents of the message and then applying a cryptographic signature
   that covers the hash values and other details about the transmission
   of the message.  Verification is performed by querying an entry
   within the signing domain's DNS space to retrieve an appropriate
   public key.  As a message is transferred from author to recipient,
   systems that alter the body or header fields will provide details of
   their changes and calculate new hash values.  Further signatures will
   be added to provide a "chain" that receivers can validate.  This
   permits verifiers to identify the nature of changes made by
   intermediaries and apply a reputation to the systems that made
   changes.  DKIM2 also allows recipients to detect when messages have
   been unexpectedly "replayed" and will ensure that Delivery Status
   Notifications are only sent to entities that were involved in the
   transmission of a message.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-dkim-dkim2-spec-09"/>
        </reference>
        <reference anchor="ITU-X660-1997">
          <front>
            <title>Information technology - Open Systems Interconnection - Procedures for the operation of OSI Registration Authorities: General procedures</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="1997" month="August"/>
          </front>
          <seriesInfo name="ITU-T" value="Recommendation X.660"/>
        </reference>
        <reference anchor="FIPS-204" target="https://doi.org/10.6028/NIST.FIPS.204">
          <front>
            <title>Module-Lattice-Based Digital Signature Standard</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2024" month="August"/>
          </front>
          <seriesInfo name="NIST FIPS" value="204"/>
          <seriesInfo name="DOI" value="10.6028/NIST.FIPS.204"/>
        </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="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8552">
          <front>
            <title>Scoped Interpretation of DNS Resource Records through "Underscored" Naming of Attribute Leaves</title>
            <author fullname="D. Crocker" initials="D." surname="Crocker"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Formally, any DNS Resource Record (RR) may occur under any domain name. However, some services use an operational convention for defining specific interpretations of an RRset by locating the records in a DNS branch under the parent domain to which the RRset actually applies. The top of this subordinate branch is defined by a naming convention that uses a reserved node name, which begins with the underscore character (e.g., "_name"). The underscored naming construct defines a semantic scope for DNS record types that are associated with the parent domain above the underscored branch. This specification explores the nature of this DNS usage and defines the "Underscored and Globally Scoped DNS Node Names" registry with IANA. The purpose of this registry is to avoid collisions resulting from the use of the same underscored name for different services.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="222"/>
          <seriesInfo name="RFC" value="8552"/>
          <seriesInfo name="DOI" value="10.17487/RFC8552"/>
        </reference>
      </references>
    </references>
    <?line 490?>

<section anchor="acknowledgments-acks-numberedfalse">
      <name>Acknowledgments {#acks :numbered="false"}</name>
      <t>The parent document to this is DKIM <xref target="RFC6376"/> from which the vast
majority of content is copied with only slight editing to update for
DKIM2.  The DKIM RFC was edited 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 transferred
verbatim directly.  The Ed25519 extension RFC was written by John
Levine.  Credit for the content and specification for DKIM and the
Ed25519 extension, from which DKIM2 is derived, goes to them.  Thanks
goes to Christian Rößner for writing a detailed errata on RSA
encoding in <xref target="RFC6376"/>, and to Bron Gondwana for working through the
errata history including those on the DKIM WG errata database.
Thanks goes to Hannah Stern and Mauro De Gennaro for their valuable
review comments.</t>
    </section>
    <section numbered="false" anchor="changes-from-earlier-versions">
      <name>Changes from Earlier Versions</name>
      <t>RFC Editor: please remove this section before publication.</t>
      <section numbered="false" anchor="draft-ietf-dkim-dkim2-dns-03">
        <name>draft-ietf-dkim-dkim2-dns-03</name>
        <ul spacing="normal">
          <li>
            <t>Substantial rework.</t>
          </li>
        </ul>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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
uUjIk4EcPUX0VKZEIoKDv2Gr0mTmi6LOQCQjnmi4F9fE4e5lk6rMdYqkgRWG
Ex5CtFu7VWehvW1EIXBDE9i8lGWCzexHoIbTnwtC7SpesS4txgob82EV4nPt
CpsZsSskQzYeJeugJGxUUTxB/kaRazuf1cmUyp+zORKnZkVWR54IiwRQ9Jxi
EUpSkDVT8TSG9RBW0z5jQAmVJWLmFbOER5LWUopVJcCAbIfPVCFHeP1XeUTn
EL79FbtVHWxsMjQfNVkFFcVDFo+uCSUVCSdZ1hvpPOxUvAt+K02+loR3xN68
7tRrluz58/ZYe4XkmUkcwVc/I2R9p6TCALVyixL1YJYDGK9nUMEC8INUjqFW
1QHeyIAUxmoBjDST3AHbJtv1Ax2arzIlATUzrSoVWoVLoB50t3pm9QnEZ6M3
eMaZWyieTMwayeNEzWl97kFRkKscUaoa5BTqprbT1C5SymezHJwhBHQepObB
qWocMCBchYhXvZZ9shkfDwAUcOulTuogkhHOObZsSWX3pEIIWt6DmgQKJ7G6
l1l9+lQjz5deG3t8yJfwLTeSURbrhbHYymemjZ6U+qwGlQm03c1nVwgouU6i
dr3sey8/B5+7zR//d+vPnS92v8SsKsytDt2qVHrkaISOZZA+1uRwIxWjvnzp
uB5HB4fcg17WOCotNKuJ+o8fH34X4v2Z/KxmPurLzG5WqnQ0S/lL7ph1nkRW
Hx/TrG9ed18MB91jSn+rYw10/NyKue4x66cT9QDSY+HJachpWMnPhk6FGhyT
YKjKpqxxeKiliMwc5OIPPAA1I45z+c5WGvi9d0RqoUJ1EcjlCeMyZ0SFGsYR
+xcecLuli5XeIirNVhxBqsUpeZ8mkBCj+J5zfWfJ2oUv2UIOarj+A9vwsmgq
GLmYgnDglAY54manHZXiP3sqWz9tJqzrUtGJ1E6bVN6VoCPEtm7j3m46XmlP
YIVLtXOKZngemtztROIFUIScvMpIGJ+de3BzBgFgqea/gx+fMdZwObtCtL0q
5KG5OIWwXMUOCK8+IsqCey6o4Cnip4TFC7/4YOC3Mq7wUI8sF1ilGMX0xFZO
/6wrEGBry1PhxMp425OwzaeUq4xxDqxCa1CXuGjWnquuWcHx5gRlC8sRcIr0
BdOrueFzx5rOM9pwDD52l10afUpVg2XoR8j8C63CORbH7WkNfK5IR2PjNIrH
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

-->

</rfc>
