<?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.6.17 (Ruby 3.1.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bonnell-caa-issuemail-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.2 -->
  <front>
    <title abbrev="CAA for Email Addresses">Certification Authority Authorization (CAA) Processing for Email Addresses</title>
    <seriesInfo name="Internet-Draft" value="draft-bonnell-caa-issuemail-00"/>
    <author fullname="Corey Bonnell">
      <organization>DigiCert, Inc.</organization>
      <address>
        <email>corey.bonnell@digicert.com</email>
      </address>
    </author>
    <date year="2022" month="November" day="28"/>
    <keyword>caa</keyword>
    <keyword>certification authority authorization</keyword>
    <keyword>email address</keyword>
    <abstract>
      <t>The Certificate Authority Authorization (CAA) DNS resource record type
provides a mechanism for domains to express the allowed set of
Certificate Authorities that may issue certificates for the domain.
The core CAA specification (<xref target="RFC8659"/>) solely defines Property Tags that
restrict the issuance of certificates that certify domain names; it does
not define a mechanism for domains to restrict the issuance of
certificates that include email addresses. This specification defines a
Property Tag that grants authorization to Certificate Authorities to
issue certificates which certify email addresses.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://CBonnell.github.io/caa-issuemail/draft-bonnell-caa-issuemail.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-bonnell-caa-issuemail/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Limited Additional Mechanisms for PKIX and SMIME (lamps) Working Group mailing list (<eref target="mailto:spasm@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/spasm/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/spasm/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/CBonnell/caa-issuemail"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>This document defines a CAA Property Tag which restricts the allowed set
of issuers for electronic email addresses. Its syntax and processing
are similar to the "issue" Property Tag as defined in section 4.2 of
<xref target="RFC8659"/>.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <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>
    </section>
    <section anchor="the-issuemail-property-tag-syntax">
      <name>The "issuemail" Property Tag Syntax</name>
      <t>This document defines the "issuemail" Property Tag. The presence of
one or more "issuemail" Properties in the Relevant Resource Record
Set (<xref target="RFC8659"/>) indicates that the domain is requesting that
Certification Authorities restrict the issuance of certificates that
certify email addresses.</t>
      <t>The CAA "issuemail" Property Value has the following sub-syntax
(specified in ABNF as per <xref target="RFC5234"/>):</t>
      <artwork><![CDATA[
  issuemail-value = *WSP [issuer-domain-name *WSP]
    [";" *WSP [parameters *WSP]]

  issuer-domain-name = label *("." label)
  label = (ALPHA / DIGIT) *( *("-") (ALPHA / DIGIT))

  parameters = (parameter *WSP ";" *WSP parameters) / parameter
  parameter = tag *WSP "=" *WSP value
  tag = (ALPHA / DIGIT) *( *("-") (ALPHA / DIGIT))
  value = *(%x21-3A / %x3C-7E)
]]></artwork>
      <t>Readers who are familiar with the sub-syntax of the "issue" and
"issuewild" Property Tags will recognize that this sub-syntax is
identical.</t>
    </section>
    <section anchor="issuemail-property-tag-processing">
      <name>"issuemail" Property Tag Processing</name>
      <t>Prior to issuing a certificate that certifies an email address, the
Certification Authority <bcp14>MUST</bcp14> check for publication of a Relevant
Resource Record Set (RRSet). The discovery of such a Relevant RRSet <bcp14>MUST</bcp14>
be performed using the algorithm specified in section 3 of <xref target="RFC8659"/>.
The input domain to the discovery algorithm <bcp14>SHALL</bcp14> be the domain "part"
(<xref target="RFC5322"/>) of the email address that is being certified. If the domain
"part" of the email address being certified is an Internationalized
Domain Name (<xref target="RFC5890"/>) that contains one or more U-Labels, then all
U-Labels <bcp14>MUST</bcp14> be converted to their A-Label representation (<xref target="RFC5891"/>)
for the purpose of discovering the Relevant RRSet for that email
address.</t>
      <t>If the Relevant RRSet is empty, or the Relevant RRSet does not contain
any "issuemail" Properties , then the domain has not requested any
restrictions on the issuance of certificates for email addresses. The
presence of other Property Tags, such as "issue" or "issuewild", does
not restrict the issuance of certificates which certify email addresses.</t>
      <t>For each "issuemail" Property in the Relevant RRSet, the
Certification Authority <bcp14>SHALL</bcp14> compare its issuer-domain-name with the
issuer-domain-name as expressed in the Property Value. If there is not
any "issuemail" record whose issuer-domain-name (as expressed in the
Property Value) matches the Certification Authority's
issuer-domain-name, then the Certification Authority <bcp14>MUST NOT</bcp14> issue
the certificate. If the Relevant RRSet contains any "issuemail"
Property whose issuemail-value does not conform to the ABNF syntax as
defined section 3 of this document, then those records <bcp14>SHALL</bcp14> be treated
as if the issuer-domain-name in the issuemail-value is the empty string.</t>
      <t>If the certificate certifies more than one email address, then the
Certification Authority <bcp14>MUST</bcp14> perform the above procedure for each
email address being certified.</t>
      <t>The assignment of issuer-domain-names to Certification Authorities is
beyond the scope of this document.</t>
      <t>The processing of parameters in the issuemail-value are beyond the scope
of this document.</t>
    </section>
    <section anchor="issuemail-property-tag-examples">
      <name>"issuemail" Property Tag Examples</name>
      <t>Several illustrative examples of Relevant RRSets and their expected
processing semantics follow. All examples assume that the
issuer-domain-name for the Certification Authority is "ca.example.com".</t>
      <t>The following RRSet does not contain any "issuemail" Properties,
so there are no restrictions on the issuance of certificates which
certify email addresses for that domain:</t>
      <artwork><![CDATA[
mail.example.com         CAA 0 issue "ca1.example.net"
mail.example.com         CAA 0 issue "ca2.example.org"
]]></artwork>
      <t>The following RRSet contains a single "issuemail" Property where the
issuer-domain-name is the empty string, so the issuance of certificates
certifying email addresses for the domain is prohibited:</t>
      <artwork><![CDATA[
mail.example.com         CAA 0 issuemail ";"
]]></artwork>
      <t>The following RRSet contains multiple "issuemail" Properties,
one of which matches the issuer-domain-name of the example Certification
Authority ("ca.example.com") and one Property which does not match.
Given that there is at least one record whose issuer-domain-name
matches the Certification Authority's issuer-domain-name, issuance is
permitted.</t>
      <artwork><![CDATA[
mail.example.com         CAA 0 issuemail ";"
mail.example.com         CAA 0 issuemail "ca.example.com"
]]></artwork>
      <t>The following RRSet contains a single "issuemail" Property whose
sub-syntax does not conform to the ABNF as specified in section 3. Given
that "issuemail" Properties with malformed syntax are treated the
same as "issuemail" Properties whose issuer-domain-name is the empty
string, issuance is prohibited.</t>
      <artwork><![CDATA[
malformed.example.com     CAA 0 issuemail "%%%%%"
]]></artwork>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO: verify that this is correct</t>
      <t>This document introduces no security considerations beyond those
expressed in <xref target="RFC8659"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>The author(s) request the registration of the following "Certification
Authority Restriction Properties":</t>
      <table>
        <thead>
          <tr>
            <th align="left">Tag</th>
            <th align="left">Meaning</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">issuemail</td>
            <td align="left">Authorization Entry by Email Address</td>
            <td align="left">[This document]</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC5322">
          <front>
            <title>Internet Message Format</title>
            <author fullname="P. Resnick" initials="P." role="editor" surname="Resnick">
              <organization/>
            </author>
            <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="RFC5234">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker">
              <organization/>
            </author>
            <author fullname="P. Overell" initials="P." surname="Overell">
              <organization/>
            </author>
            <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="RFC5891">
          <front>
            <title>Internationalized Domain Names in Applications (IDNA): Protocol</title>
            <author fullname="J. Klensin" initials="J." surname="Klensin">
              <organization/>
            </author>
            <date month="August" year="2010"/>
            <abstract>
              <t>This document is the revised protocol definition for Internationalized Domain Names (IDNs).  The rationale for changes, the relationship to the older specification, and important terminology are provided in other documents.  This document specifies the protocol mechanism, called Internationalized Domain Names in Applications (IDNA), for registering and looking up IDNs in a way that does not require changes to the DNS itself.  IDNA is only meant for processing domain names, not free text.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5891"/>
          <seriesInfo name="DOI" value="10.17487/RFC5891"/>
        </reference>
        <reference anchor="RFC8659">
          <front>
            <title>DNS Certification Authority Authorization (CAA) Resource Record</title>
            <author fullname="P. Hallam-Baker" initials="P." surname="Hallam-Baker">
              <organization/>
            </author>
            <author fullname="R. Stradling" initials="R." surname="Stradling">
              <organization/>
            </author>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews">
              <organization/>
            </author>
            <date month="November" year="2019"/>
            <abstract>
              <t>The Certification Authority Authorization (CAA) DNS Resource Record allows a DNS domain name holder to specify one or more Certification Authorities (CAs) authorized to issue certificates for that domain name. CAA Resource Records allow a public CA to implement additional controls to reduce the risk of unintended certificate mis-issue.  This document defines the syntax of the CAA record and rules for processing CAA records by CAs.</t>
              <t>This document obsoletes RFC 6844.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8659"/>
          <seriesInfo name="DOI" value="10.17487/RFC8659"/>
        </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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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>
        <name>Informative References</name>
        <reference anchor="RFC5890">
          <front>
            <title>Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework</title>
            <author fullname="J. Klensin" initials="J." surname="Klensin">
              <organization/>
            </author>
            <date month="August" year="2010"/>
            <abstract>
              <t>This document is one of a collection that, together, describe the protocol and usage context for a revision of Internationalized Domain Names for Applications (IDNA), superseding the earlier version.  It describes the document collection and provides definitions and other material that are common to the set.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5890"/>
          <seriesInfo name="DOI" value="10.17487/RFC5890"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
X10YcFGtlAP2P4FsBaKTHQAA

-->

</rfc>
