<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="info" consensus="true" docName="draft-ietf-acme-email-smime-14" indexInclude="true" ipr="trust200902" number="8823" prepTime="2021-04-21T10:41:58" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-acme-email-smime-14" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc8823" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="ACME for S/MIME">Extensions to Automatic Certificate Management Environment for End-User S/MIME Certificates</title>
    <seriesInfo name="RFC" value="8823" stream="IETF"/>
    <author initials="A." surname="Melnikov" fullname="Alexey Melnikov">
      <organization showOnFrontPage="true">Isode Ltd</organization>
      <address>
        <postal>
          <street>14 Castle Mews</street>
          <city>Hampton, Middlesex</city>
          <code>TW12 2NP</code>
          <country>United Kingdom</country>
        </postal>
        <email>alexey.melnikov@isode.com</email>
      </address>
    </author>
    <date month="04" year="2021"/>
    <keyword>ACME</keyword>
    <keyword>S/MIME</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">
    This document specifies identifiers and challenges required to enable
    the Automated Certificate Management Environment (ACME) to issue
    certificates for use by email users
    that want to use S/⁠MIME.
      </t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This document is not an Internet Standards Track specification; it is
            published for informational purposes.  
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by the
            Internet Engineering Steering Group (IESG).  Not all documents
            approved by the IESG are candidates for any level of Internet
            Standard; see Section 2 of RFC 7841. 
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc8823" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2021 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Simplified BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Simplified BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conventions-used-in-this-do">Conventions Used in This Document</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-use-of-acme-for-issuing-end">Use of ACME for Issuing End-User S/MIME Certificates</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-acme-challenge-email">ACME "Challenge" Email</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-acme-response-email">ACME "Response" Email</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.3">
                <t indent="0" pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-generating-encryption-only-">Generating Encryption-Only or Signing-Only S/MIME Certificates</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-internationalization-consid">Internationalization Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-acme-identifier-type">ACME Identifier Type</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-acme-challenge-type">ACME Challenge Type</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.2">
                <t indent="0" pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" format="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-address">Author's Address</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">
        ACME <xref target="RFC8555" format="default" sectionFormat="of" derivedContent="RFC8555"/> is a mechanism for automating certificate
        management on the Internet.  It enables administrative entities to
        prove effective control over resources like domain names, and it
        automates the process of generating and issuing certificates.
      </t>
      <t indent="0" pn="section-1-2">
        This document describes an extension to ACME for use by S/MIME.
        <xref target="smime" format="default" sectionFormat="of" derivedContent="Section 3"/> defines extensions for issuing end-user S/MIME <xref target="RFC8550" format="default" sectionFormat="of" derivedContent="RFC8550"/> certificates.
      </t>
      <t indent="0" pn="section-1-3">
        This document aims to support both:</t>
      <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-1-4">
	<li pn="section-1-4.1" derivedCounter="1.">A Mail User Agent (MUA) that has a built-in ACME client that is aware 
	of the extension described in this document. (We will call such MUAs "ACME-email-aware".) 
	Such an MUA can present a nice user interface to the user and automate certificate issuance.</li>
        <li pn="section-1-4.2" derivedCounter="2.">An MUA that is not ACME aware, with a separate ACME client implemented in a command-line tool or as a part of a website. While S/MIME certificate issuance is not going to 
	be as painless as in the case of the ACME-email-aware MUA, the extra burden on a user is 
	going to be minimal.</li>
      </ol>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-conventions-used-in-this-do">Conventions Used in This Document</name>
      <t indent="0" pn="section-2-1">
    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" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
      </t>
    </section>
    <section anchor="smime" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-use-of-acme-for-issuing-end">Use of ACME for Issuing End-User S/MIME Certificates</name>
      <t indent="0" pn="section-3-1">
      ACME <xref target="RFC8555" format="default" sectionFormat="of" derivedContent="RFC8555"/> defines a "dns" identifier type that is used to verify that a particular entity
      has control over a domain or specific service associated with the domain.
      In order to be able to issue end-user S/MIME certificates, ACME needs a new identifier type that
      proves ownership of an email address.
      </t>
      <t indent="0" pn="section-3-2">
      This document defines a new identifier type, "email", which corresponds to an email address.
      The address can be all ASCII <xref target="RFC5321" format="default" sectionFormat="of" derivedContent="RFC5321"/> or internationalized <xref target="RFC6531" format="default" sectionFormat="of" derivedContent="RFC6531"/>;
      when an internationalized email address is used, the domain part can contain both U-labels and A-labels <xref target="RFC5890" format="default" sectionFormat="of" derivedContent="RFC5890"/>.
      This can be used with S/MIME or another similar service that requires possession of a certificate tied to an email address.
      </t>
      <t indent="0" pn="section-3-3">
      Any identifier of type "email" in a newOrder request <bcp14>MUST NOT</bcp14> have a wildcard ("*") character in its value.
      </t>
      <t indent="0" pn="section-3-4">
      A new challenge type, "email-reply-00", is used with the "email" identifier type,
      which provides proof that an ACME client has control over an email address.
      </t>
      <t indent="0" pn="section-3-5">
      The process of issuing an S/MIME certificate works as follows. Note that the ACME client can be a standalone
      application (if the MUA is not ACME-email-aware) or can be a component of the MUA.
      </t>
      <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-3-6">
	<li pn="section-3-6.1" derivedCounter="1.">An end user initiates issuance of an S/MIME certificate for one of their email addresses.
          This might be done by using an email client UI, by running a command-line tool, by
          visiting a certificate authority web page, etc.
	  This document doesn't prescribe a specific UI
          used to initiate S/MIME certificate issuance or where the ACME client is located.
          </li>
        <li pn="section-3-6.2" derivedCounter="2.">
          The ACME-email-aware client component begins the certificate issuance process by sending a POST
          request to the server's newOrder resource, including the identifier of type "email".
          See <xref target="RFC8555" sectionFormat="of" section="7.4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8555#section-7.4" derivedContent="RFC8555"/> for more details.
          </li>
        <li pn="section-3-6.3" derivedCounter="3.">
          <t indent="0" pn="section-3-6.3.1">
          The ACME server
          responds to the POST request, including an "authorizations" URL for the requested email address.
          The ACME client then retrieves information about the corresponding "email-reply-00" challenge,
          as specified in <xref target="RFC8555" sectionFormat="of" section="7.5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8555#section-7.5" derivedContent="RFC8555"/>.
          The "token" field of the corresponding challenge object (from the "challenges" array)
          contains token-part2. token-part2 should contain at least 128 bits of entropy.
          The "type" field of the challenge object is "email-reply-00". The challenge object
          also contains the "from" field, with the email address that would be used in the From header field
          of the "challenge" email message (see the next step).  
          </t>
          <t indent="0" pn="section-3-6.3.2">An example challenge object might look like this:</t>
          <sourcecode type="" markers="false" pn="section-3-6.3.3">
    {
      "type": "email-reply-00",
      "url": "https://example.com/acme/chall/ABprV_B7yEyA4f",
      "from": "acme-challenge+2i211oi1204310@example.com",
      "token": "DGyRejmCefe7v4NfDGDKfA"
    }
</sourcecode>
        </li>
        <li pn="section-3-6.4" derivedCounter="4.">
          After responding to the authorization request, the ACME server
          generates another token and a "challenge" email message with the subject "ACME: &lt;token-part1&gt;",
          where &lt;token-part1&gt; is the base64url-encoded <xref target="RFC4648" format="default" sectionFormat="of" derivedContent="RFC4648"/> form of the token.
          The ACME server <bcp14>MUST</bcp14> generate a fresh token for each S/MIME issuance request (authorization request),
          and token-part1 <bcp14>MUST</bcp14> contain at least 128 bits of entropy.
          The "challenge" email message structure is described in more details in <xref target="acme-smime-challenge-email" format="default" sectionFormat="of" derivedContent="Section 3.1"/>.
          </li>
        <li pn="section-3-6.5" derivedCounter="5.">
          The MUA retrieves and parses the "challenge" email message.
          
          If the MUA is ACME-email-aware, it ignores any "challenge" email that is not expected,
          e.g., if there is no ACME certificate issuance pending.
          The ACME-email-aware MUA also ignores any "challenge" email that has the Subject header field
          that indicates that it is an email reply, e.g., a subject starting with the reply prefix "Re:".
          </li>
        <li pn="section-3-6.6" derivedCounter="6.">
          The ACME client concatenates "token-part1" (received over email) and "token-part2"
          (received over HTTPS <xref target="RFC2818" format="default" sectionFormat="of" derivedContent="RFC2818"/>) to create the ACME "token" and calculates
          keyAuthorization (as per <xref target="RFC8555" sectionFormat="of" section="8.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8555#section-8.1" derivedContent="RFC8555"/>).
          Then, it returns the base64url-encoded SHA-256 digest <xref target="RFC6234" format="default" sectionFormat="of" derivedContent="RFC6234"/> of the key authorization.
          The MUA returns the base64url-encoded SHA-256 digest obtained from the ACME client
          in the body of a "response" email message. The "response" email message structure
          is described in more details in <xref target="acme-smime-response-email" format="default" sectionFormat="of" derivedContent="Section 3.2"/>.
          If the MUA is ACME-email-aware, it <bcp14>MUST NOT</bcp14> respond to the same "challenge" email more than once.
          </li>
        <li pn="section-3-6.7" derivedCounter="7.">
          Once the MUA sends the "response" email, the ACME client notifies the ACME server
          by POST to the challenge URL ("url" field).
          </li>
        <li pn="section-3-6.8" derivedCounter="8.">
          The ACME client can start polling the authorization URL
          (using POST-as-GET requests) to see if the ACME server received and validated the "response" email message. (See <xref target="RFC8555" sectionFormat="of" section="7.5.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8555#section-7.5.1" derivedContent="RFC8555"/> for more details.)
          
          If the "status" field of the challenge switches to "valid",
          then the ACME client can proceed with request finalization.
          The Certificate Signing Request (CSR) <bcp14>MUST</bcp14> indicate the exact same
          set of requested identifiers as the initial newOrder request.
          For an identifier of type "email", the PKCS#10 <xref target="RFC2986" format="default" sectionFormat="of" derivedContent="RFC2986"/>
          CSR <bcp14>MUST</bcp14> contain the requested email address in an extensionRequest
          attribute <xref target="RFC2985" format="default" sectionFormat="of" derivedContent="RFC2985"/> requesting a subjectAltName extension.
          The email address <bcp14>MUST</bcp14> also match the From header field value of the "response" email message.
          </li>
        <li pn="section-3-6.9" derivedCounter="9.">
          In order to request generation of signing-only or encryption-only S/MIME certificates
          (as opposed to requesting generation of S/MIME certificates suitable for both),
          the CSR needs to include the key usage extension (see <xref target="RFC8550" sectionFormat="of" section="4.4.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8550#section-4.4.2" derivedContent="RFC8550"/>).
          This is described in more details in <xref target="acme-smime-sign-or-encrypt-only" format="default" sectionFormat="of" derivedContent="Section 3.3"/>.
          </li>
        <li pn="section-3-6.10" derivedCounter="10.">
          If a request to finalize an order is successful, the ACME server will
          return a 200 (OK) with an updated order object.
          If the certificate is issued successfully, i.e., if the order "status"
          is "valid", then the ACME client can download the issued S/MIME certificate
          from the URL specified in the "certificate" field.
          </li>
      </ol>
      <section anchor="acme-smime-challenge-email" numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-acme-challenge-email">ACME "Challenge" Email</name>
        <t indent="0" pn="section-3.1-1">
          A "challenge" email message <bcp14>MUST</bcp14> have the following structure:

        </t>
        <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-3.1-2">
	  <li pn="section-3.1-2.1" derivedCounter="1.">
            The Subject header field has the following syntax: "ACME: &lt;token-part1&gt;",
            where the prefix "ACME:" is followed by folding white space (FWS; see <xref target="RFC5322" format="default" sectionFormat="of" derivedContent="RFC5322"/>)
            and then by &lt;token-part1&gt;, which is the base64url-encoded first part of the ACME token
            that <bcp14>MUST</bcp14> be at least 128 bits long after decoding.
            Due to the recommended 78-octet line-length limit
            in <xref target="RFC5322" format="default" sectionFormat="of" derivedContent="RFC5322"/>, the subject line can be folded, so white spaces (if any) within
            the &lt;token-part1&gt; <bcp14>MUST</bcp14> be ignored. <xref target="RFC2231" format="default" sectionFormat="of" derivedContent="RFC2231"/> encoding of the Subject header field <bcp14>MUST</bcp14> be supported,
            and, when used, only the "UTF-8" and "US-ASCII" charsets are allowed; other charsets <bcp14>MUST NOT</bcp14> be used. The US-ASCII charset <bcp14>SHOULD</bcp14> be used.
            </li>
          <li pn="section-3.1-2.2" derivedCounter="2.">
            The From header field <bcp14>MUST</bcp14> be the same email address as specified in the "from" field of the challenge object.
            </li>
          <li pn="section-3.1-2.3" derivedCounter="3.">
            The To header field <bcp14>MUST</bcp14> be the email address of the entity that requested the S/MIME certificate to be generated.</li>
          <li pn="section-3.1-2.4" derivedCounter="4.">The message <bcp14>MAY</bcp14> contain a Reply-To and/or CC header field.</li>
          <li pn="section-3.1-2.5" derivedCounter="5.">
            The message <bcp14>MUST</bcp14> include the Auto-Submitted header field with the value "auto-generated" <xref target="RFC3834" format="default" sectionFormat="of" derivedContent="RFC3834"/>.
            To aid in debugging (and, for some implementations, to make automated processing easier), the Auto-Submitted header field <bcp14>SHOULD</bcp14> include the "type=acme" parameter.
            It <bcp14>MAY</bcp14> include other optional parameters, as allowed by the syntax of the Auto-Submitted header field.</li>
          <li pn="section-3.1-2.6" derivedCounter="6.">
            <t indent="0" pn="section-3.1-2.6.1">
            In order to prove authenticity of a challenge message, it <bcp14>MUST</bcp14> be signed using either DomainKeys Identified Mail (DKIM) <xref target="RFC6376" format="default" sectionFormat="of" derivedContent="RFC6376"/>
            or S/MIME <xref target="RFC8551" format="default" sectionFormat="of" derivedContent="RFC8551"/>.
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.1-2.6.2">
              <li pn="section-3.1-2.6.2.1">
              If DKIM signing is used, the resulting DKIM-Signature header field <bcp14>MUST</bcp14> contain the "h=" tag that includes
              at least the From, Sender, Reply-To, To, CC, Subject, Date, In-Reply-To, References,
              Message-ID, Auto-Submitted, Content-Type, and Content-Transfer-Encoding header fields.
              The DKIM-Signature header field's "h=" tag <bcp14>SHOULD</bcp14> also include the
              Resent-Date, Resent-From, Resent-To, Resent-Cc, List-Id, List-Help, List-Unsubscribe,
              List-Subscribe, List-Post, List-Owner, List-Archive, and List-Unsubscribe-Post header fields.
              The domain from the "d=" tag of the DKIM-Signature header field <bcp14>MUST</bcp14> be the same as the domain from
              the From header field of the "challenge" email.
              </li>
              <li pn="section-3.1-2.6.2.2">
              If S/MIME signing is used, the certificate corresponding to the signer <bcp14>MUST</bcp14> have an rfc822Name subjectAltName extension
              with the value equal to the From header field email address of the "challenge" email.
              </li>
            </ul>
          </li>
          <li pn="section-3.1-2.7" derivedCounter="7.">
            The body of the challenge message is not used for automated processing, so it can be any media type.
            (However, there are extra requirements on S/MIME signing, if used. See below.)
            Typically, it is text/plain or text/html containing a human-readable explanation of the purpose of the message.
            If S/MIME signing is used to prove authenticity of the challenge message,
            then the multipart/signed or "application/pkcs7-mime; smime-type=signed-data;" media type should be used.
            Either way, it <bcp14>MUST</bcp14> use S/MIME header protection. 
            </li>
        </ol>
        <t indent="0" pn="section-3.1-3">
        An email client compliant with this specification that detects that a particular "challenge" email
        fails the validation described above <bcp14>MUST</bcp14> ignore the challenge and thus will not generate a "response" email.
        To aid in debugging, such failed validations <bcp14>SHOULD</bcp14> be logged.
        </t>
        <t keepWithNext="true" indent="0" pn="section-3.1-4">
          Here is an example of an ACME "challenge" email (note that, for simplicity, DKIM-related header fields are not included).
        </t>
        <figure align="left" suppress-title="false" pn="figure-1">
          <artwork name="" type="" align="left" alt="" pn="section-3.1-5.1">  
  Auto-Submitted: auto-generated; type=acme
  Date: Sat, 5 Dec 2020 10:08:55 +0100
  Message-ID: &lt;A2299BB.FF7788@example.org&gt;
  From: acme-generator@example.org
  To: alexey@example.com
  Subject: ACME: LgYemJLy3F1LDkiJrdIGbEzyFJyOyf6vBdyZ1TG3sME=
  Content-Type: text/plain
  MIME-Version: 1.0
   
  This is an automatically generated ACME challenge for email address
  "alexey@example.com". If you haven't requested an S/MIME
  certificate generation for this email address, be very afraid.
  If you did request it, your email client might be able to process
  this request automatically, or you might have to paste the first
  token part into an external program.
</artwork>
        </figure>
        <t keepWithPrevious="true" indent="0" pn="section-3.1-6"/>
      </section>
      <section anchor="acme-smime-response-email" numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-acme-response-email">ACME "Response" Email</name>
        <t indent="0" pn="section-3.2-1">
          A valid "response" email message <bcp14>MUST</bcp14> have the following structure:

        </t>
        <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-3.2-2">
            <li pn="section-3.2-2.1" derivedCounter="1.">
            The Subject header field is formed as a reply to the ACME "challenge" email
            (see <xref target="acme-smime-challenge-email" format="default" sectionFormat="of" derivedContent="Section 3.1"/>).
            Its syntax is the same as that of the challenge message except that it may be prefixed
            by a US-ASCII reply prefix (typically "Re:") and FWS (see <xref target="RFC5322" format="default" sectionFormat="of" derivedContent="RFC5322"/>), as is normal in reply messages. When
            parsing the subject, ACME servers <bcp14>MUST</bcp14> decode <xref target="RFC2231" format="default" sectionFormat="of" derivedContent="RFC2231"/> encoding (if any), and
            then they can ignore any prefix before the "ACME:" label.
            </li>
          <li pn="section-3.2-2.2" derivedCounter="2.">The From header field contains the email address of the user that is requesting S/MIME certificate issuance.</li>
          <li pn="section-3.2-2.3" derivedCounter="3.">The To header field of the response contains the value from the Reply-To header field from the
	  challenge message (if set). Otherwise, it contains the value from the From header field of the
	  challenge message.</li>
          <li pn="section-3.2-2.4" derivedCounter="4.">The Cc header field is ignored if present in the "response" email message.</li>
          <li pn="section-3.2-2.5" derivedCounter="5.">The In-Reply-To header field <bcp14>SHOULD</bcp14> be set to the Message-ID header field of the challenge message
            according to rules in <xref target="RFC5322" sectionFormat="of" section="3.6.4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc5322#section-3.6.4" derivedContent="RFC5322"/>.</li>
          <li pn="section-3.2-2.6" derivedCounter="6.">List-* header fields <xref target="RFC4021" format="default" sectionFormat="of" derivedContent="RFC4021"/><xref target="RFC8058" format="default" sectionFormat="of" derivedContent="RFC8058"/> <bcp14>MUST</bcp14> be absent (i.e., the reply can't come from a mailing list).</li>
          <li pn="section-3.2-2.7" derivedCounter="7.">
            <t indent="0" pn="section-3.2-2.7.1">The media type of the "response" email message is either text/plain or multipart/alternative <xref target="RFC2046" format="default" sectionFormat="of" derivedContent="RFC2046"/>, containing
            text/plain as one of the alternatives. (Note that the requirement to support multipart/alternative is to allow use of ACME-unaware MUAs,
            which can't always generate pure text/plain, e.g., if they reply to a text/html).
            The text/plain body part (whether or not it is inside multipart/alternative)
            <bcp14>MUST</bcp14> contain a block of lines starting with the line "-----BEGIN ACME RESPONSE-----", followed by one
            or more lines containing the base64url-encoded SHA-256 digest <xref target="RFC6234" format="default" sectionFormat="of" derivedContent="RFC6234"/>
            of the key authorization, calculated from concatenated token-part1 (received over email)
            and token-part2 (received over HTTPS), as outlined in the 5th bullet in <xref target="smime" format="default" sectionFormat="of" derivedContent="Section 3"/>.
            (Note that each line of text/plain is terminated by CRLF. Bare LFs or bare CRs are not allowed.)
            Due to historical line-length limitations in email, line endings (CRLFs)
            can be freely inserted in the middle of the encoded digest,
            so they <bcp14>MUST</bcp14> be ignored when processing it. The final line of the encoded digest
            is followed by a line containing:</t>
            <artwork name="" type="" align="left" alt="" pn="section-3.2-2.7.2">
-----END ACME RESPONSE-----
</artwork>
            <t indent="0" pn="section-3.2-2.7.3">Any text before and after this block is ignored. For example, such text might explain what
            to do with it for ACME-unaware clients.</t>
          </li>
          <li pn="section-3.2-2.8" derivedCounter="8.">There is no need to use any Content-Transfer-Encoding other than 7bit for the text/plain body part.
            Use of quoted-printable or base64 in a "response" email message is not necessary and should be avoided,
            though it is permitted.
            </li>
          <li pn="section-3.2-2.9" derivedCounter="9.">
            In order to prove authenticity of a response message, it <bcp14>MUST</bcp14> be DKIM <xref target="RFC6376" format="default" sectionFormat="of" derivedContent="RFC6376"/>
            signed. The resulting DKIM-Signature header field <bcp14>MUST</bcp14> contain the "h=" tag that includes
            at least the From, Sender, Reply-To, To, CC, Subject, Date, In-Reply-To, References,
            Message-ID, Content-Type, and Content-Transfer-Encoding header fields.
            The DKIM-Signature header field's "h=" tag <bcp14>SHOULD</bcp14> also include the
            Resent-Date, Resent-From, Resent-To, Resent-Cc, List-Id, List-Help, List-Unsubscribe,
            List-Subscribe, List-Post, List-Owner, List-Archive, and List-Unsubscribe-Post header fields.
            The domain from the "d=" tag of DKIM-Signature header field <bcp14>MUST</bcp14> be the same as the domain from
            the From header field of the "response" email.
            </li>
        </ol>
        <t keepWithNext="true" indent="0" pn="section-3.2-3">
          Here is an example of an ACME "response" email (note that, for simplicity, DKIM-related header fields are not included).
        </t>
        <figure align="left" suppress-title="false" pn="figure-2">
          <artwork name="" type="" align="left" alt="" pn="section-3.2-4.1">
   Date: Sat, 5 Dec 2020 12:01:45 +0100
   Message-ID: &lt;111-22222-3333333@example.com&gt;
   In-Reply-To: &lt;A2299BB.FF7788@example.org&gt;
   From: alexey@example.com
   To: acme-generator@example.org
   Subject: Re: ACME: LgYemJLy3F1LDkiJrdIGbEzyFJyOyf6vBdyZ1TG3sME=
   Content-Type: text/plain
   MIME-Version: 1.0
   
   -----BEGIN ACME RESPONSE-----
   LoqXcYV8q5ONbJQxbmR7SCTNo3tiAXDfowy
   jxAjEuX0=
   -----END ACME RESPONSE-----
</artwork>
        </figure>
        <t keepWithPrevious="true" indent="0" pn="section-3.2-5"/>
      </section>
      <section anchor="acme-smime-sign-or-encrypt-only" numbered="true" toc="include" removeInRFC="false" pn="section-3.3">
        <name slugifiedName="name-generating-encryption-only-">Generating Encryption-Only or Signing-Only S/MIME Certificates</name>
        <t indent="0" pn="section-3.3-1">
          ACME extensions specified in this document can be used to request signing-only or
          encryption-only S/MIME certificates.
        </t>
        <t indent="0" pn="section-3.3-2">
          In order to request signing-only S/MIME certificates, the CSR <bcp14>MUST</bcp14> include the key usage
          extension with digitalSignature and/or nonRepudiation bits set and no other bits set.
        </t>
        <t indent="0" pn="section-3.3-3">
          In order to request encryption-only S/MIME certificates, the CSR <bcp14>MUST</bcp14> include the key usage
          extension with keyEncipherment or keyAgreement bits set and no other bits set.
        </t>
        <t indent="0" pn="section-3.3-4">
          Presence of both of the above sets of key usage bits in the CSR,
          as well as absence of the key usage extension in the CSR,
          signals to the ACME server to issue an S/MIME certificate suitable for both signing
          and encryption. 
        </t>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-internationalization-consid">Internationalization Considerations</name>
      <t indent="0" pn="section-4-1">
      <xref target="RFC8616" format="default" sectionFormat="of" derivedContent="RFC8616"/> updated/clarified use of DKIM with internationalized email addresses <xref target="RFC6531" format="default" sectionFormat="of" derivedContent="RFC6531"/>.
        Please consult <xref target="RFC8616" format="default" sectionFormat="of" derivedContent="RFC8616"/> in regards to any changes that need to be implemented.
      </t>
      <t indent="0" pn="section-4-2">
        Use of non-ASCII characters in left-hand sides of internationalized email addresses requires putting
        internationalized email addresses in X.509 certificates <xref target="RFC8398" format="default" sectionFormat="of" derivedContent="RFC8398"/>.
      </t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-acme-identifier-type">ACME Identifier Type</name>
        <t indent="0" pn="section-5.1-1">
        IANA has registered a new identifier type in the "ACME Identifier
        Types" registry defined in <xref target="RFC8555" sectionFormat="of" section="9.7.7" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8555#section-9.7.7" derivedContent="RFC8555"/> with Label "email" and a Reference to this document,
        <xref target="RFC5321" format="default" sectionFormat="of" derivedContent="RFC5321"/>, and <xref target="RFC6531" format="default" sectionFormat="of" derivedContent="RFC6531"/>.  The new identifier type corresponds to an (all
        ASCII) email address <xref target="RFC5321" format="default" sectionFormat="of" derivedContent="RFC5321"/> or
        internationalized email addresses <xref target="RFC6531" format="default" sectionFormat="of" derivedContent="RFC6531"/>.
        </t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-5.2">
        <name slugifiedName="name-acme-challenge-type">ACME Challenge Type</name>
        <t indent="0" pn="section-5.2-1">
          IANA has registered a new entry in the "ACME Validation Methods" registry
          defined in <xref target="RFC8555" sectionFormat="of" section="9.7.8" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8555#section-9.7.8" derivedContent="RFC8555"/>.
          This entry is as follows:
        </t>
        <table align="center" pn="table-1">
          <thead>
            <tr>
              <th align="center" colspan="1" rowspan="1">Label</th>
              <th align="center" colspan="1" rowspan="1">Identifier Type</th>
              <th align="center" colspan="1" rowspan="1">ACME</th>
              <th align="center" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center" colspan="1" rowspan="1">email-reply-00</td>
              <td align="center" colspan="1" rowspan="1">email</td>
              <td align="center" colspan="1" rowspan="1">Y</td>
              <td align="center" colspan="1" rowspan="1">RFC 8823</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="seccons" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-6-1">
        Please see the Security Considerations section of <xref target="RFC8555" format="default" sectionFormat="of" derivedContent="RFC8555"/> for general security
        considerations related to the use of ACME. This challenge/response
        protocol demonstrates that an entity that controls the private key
        (corresponding to the public key in the certificate) also controls the
        named email account.  The ACME server is confirming that the requested
        email address belongs to the entity that requested the certificate,
        but this makes no claim to address correctness or fitness for purpose.
        If such claims are needed, they must be obtained by some other
        mechanism.
      </t>
      <t indent="0" pn="section-6-2">
        The security of the "email-reply-00" challenge type depends on the security of the email system.
        A third party that can read and reply to user's email messages (by possessing a user's password
        or a secret derived from it that can give read and reply access, such as "password equivalent" information,
        or by being given permissions to act on a user's behalf using email delegation features common
        in some email systems) can request S/MIME certificates using the protocol specified in this document
        and is indistinguishable from the email account owner.
        This has several possible implications:
        
      </t>
      <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-6-3">
	<li pn="section-6-3.1" derivedCounter="1.">An entity that compromised an email account would be able to request S/MIME certificates
          using the protocol specified in this document, and such entity couldn't be distinguished from
          the legitimate email account owner (unless some external sources of information are consulted).</li>
        <li pn="section-6-3.2" derivedCounter="2.">For email addresses with legitimate shared access/control by
        multiple users, any such user would be able to request S/MIME
        certificates using the protocol specified in this document; such
        requests can't be attributed to a specific user without consulting
        external systems (such as IMAP/SMTP access logs).</li>
        <li pn="section-6-3.3" derivedCounter="3.">The protocol specified in this document is not suitable for use with email addresses
          associated with mailing lists <xref target="RFC5321" format="default" sectionFormat="of" derivedContent="RFC5321"/>. While it is not always
          possible to guarantee that a particular S/MIME certificate request is not from a mailing list
          address, prohibition on inclusion of List-* header fields helps certificate issuers
          to handle most common cases.</li>
      </ol>
      <t indent="0" pn="section-6-4">
        An email system in its turn depends on DNS. A third party that can manipulate DNS MX records
        for a domain might be able to redirect an email and can get (at least temporary) read and reply access to it.
        Similar considerations apply to DKIM TXT records in DNS.
        Use of DNSSEC by email system administrators is recommended to avoid making it easy to spoof
        DNS records affecting an email system. However, use of DNSSEC is not ubiquitous at the time of
        publishing of this document, so it is not required here.

        Also, many existing systems that rely on verification of ownership of an email address --
        for example, 2-factor authentication systems used by banks or traditional certificate issuance
        systems -- send email messages to email addresses, expecting the owner to click on the link supplied
        in them (or to reply to a message), without requiring use of DNSSEC. So the risk of not requiring
        DNSSEC is presumed acceptable in this document.
      </t>
      <t indent="0" pn="section-6-5">
      An ACME email challenge message can be forged by an attacker.
      
      As per requirements on an ACME-email-aware MUA specified in <xref target="smime" format="default" sectionFormat="of" derivedContent="Section 3"/>,
      the MUA will not respond to requests it is not expecting.
      Even if the attacker causes the erroneous "response" email to go to
      an attacker-controlled email address, very little information is leaked --
      the SHA-256 hash of the key authorization would be leaked, not the key
      authorization itself, so no parts of the token or the account key
      thumbprint are leaked.
      </t>
      <t indent="0" pn="section-6-6">
      An attacker that can read the "response" email has only one chance to guess the
      token-part2. Even if the attacker can guess it right, it still needs to know
      the ACME account key to be able to make use of the intercepted SHA-256 hash of
      the key authorization.
      </t>
      <t indent="0" pn="section-6-7">
        Also see the Security Considerations section of <xref target="RFC6376" format="default" sectionFormat="of" derivedContent="RFC6376"/> for details on how DKIM depends
        on the DNS and the respective vulnerabilities this dependence has.
      </t>
    </section>
  </middle>
  <back>
    <references pn="section-7">
      <name slugifiedName="name-references">References</name>
      <references pn="section-7.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2046" target="https://www.rfc-editor.org/info/rfc2046" quoteTitle="true" derivedAnchor="RFC2046">
          <front>
            <title>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</title>
            <author initials="N." surname="Freed" fullname="N. Freed">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Borenstein" fullname="N. Borenstein">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1996" month="November"/>
            <abstract>
              <t indent="0">This second document defines the general structure of the MIME media typing system and defines an initial set of media types.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2046"/>
          <seriesInfo name="DOI" value="10.17487/RFC2046"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t indent="0">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="RFC2231" target="https://www.rfc-editor.org/info/rfc2231" quoteTitle="true" derivedAnchor="RFC2231">
          <front>
            <title>MIME Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations</title>
            <author initials="N." surname="Freed" fullname="N. Freed">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="K." surname="Moore" fullname="K. Moore">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="November"/>
            <abstract>
              <t indent="0">This memo defines extensions to the RFC 2045 media type and RFC 2183 disposition parameter value mechanisms.  This memo also defines an extension to the encoded words defined in RFC 2047 to allow the specification of the language to be used for display as well as the character set.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2231"/>
          <seriesInfo name="DOI" value="10.17487/RFC2231"/>
        </reference>
        <reference anchor="RFC2818" target="https://www.rfc-editor.org/info/rfc2818" quoteTitle="true" derivedAnchor="RFC2818">
          <front>
            <title>HTTP Over TLS</title>
            <author initials="E." surname="Rescorla" fullname="E. Rescorla">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2000" month="May"/>
            <abstract>
              <t indent="0">This memo describes how to use Transport Layer Security (TLS) to secure Hypertext Transfer Protocol (HTTP) connections over the Internet.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2818"/>
          <seriesInfo name="DOI" value="10.17487/RFC2818"/>
        </reference>
        <reference anchor="RFC2985" target="https://www.rfc-editor.org/info/rfc2985" quoteTitle="true" derivedAnchor="RFC2985">
          <front>
            <title>PKCS #9: Selected Object Classes and Attribute Types Version 2.0</title>
            <author initials="M." surname="Nystrom" fullname="M. Nystrom">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Kaliski" fullname="B. Kaliski">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2000" month="November"/>
            <abstract>
              <t indent="0">This memo represents a republication of PKCS #9 v2.0 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process.  The body of this document, except for the security considerations section, is taken directly from that specification.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2985"/>
          <seriesInfo name="DOI" value="10.17487/RFC2985"/>
        </reference>
        <reference anchor="RFC2986" target="https://www.rfc-editor.org/info/rfc2986" quoteTitle="true" derivedAnchor="RFC2986">
          <front>
            <title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
            <author initials="M." surname="Nystrom" fullname="M. Nystrom">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Kaliski" fullname="B. Kaliski">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2000" month="November"/>
            <abstract>
              <t indent="0">This memo represents a republication of PKCS #10 v1.7 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process.  The body of this document, except for the security considerations section, is taken directly from the PKCS #9 v2.0 or the PKCS #10 v1.7 document.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2986"/>
          <seriesInfo name="DOI" value="10.17487/RFC2986"/>
        </reference>
        <reference anchor="RFC3834" target="https://www.rfc-editor.org/info/rfc3834" quoteTitle="true" derivedAnchor="RFC3834">
          <front>
            <title>Recommendations for Automatic Responses to Electronic Mail</title>
            <author initials="K." surname="Moore" fullname="K. Moore">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2004" month="August"/>
            <abstract>
              <t indent="0">This memo makes recommendations for software that automatically responds to incoming electronic mail messages, including "out of the office" or "vacation" response generators, mail filtering software, email-based information services, and other automatic responders.  The purpose of these recommendations is to discourage undesirable behavior which is caused or aggravated by such software, to encourage uniform behavior (where appropriate) among automatic mail responders, and to clear up some sources of confusion among implementors of automatic email responders.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3834"/>
          <seriesInfo name="DOI" value="10.17487/RFC3834"/>
        </reference>
        <reference anchor="RFC4648" target="https://www.rfc-editor.org/info/rfc4648" quoteTitle="true" derivedAnchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author initials="S." surname="Josefsson" fullname="S. Josefsson">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="October"/>
            <abstract>
              <t indent="0">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="RFC5321" target="https://www.rfc-editor.org/info/rfc5321" quoteTitle="true" derivedAnchor="RFC5321">
          <front>
            <title>Simple Mail Transfer Protocol</title>
            <author initials="J." surname="Klensin" fullname="J. Klensin">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2008" month="October"/>
            <abstract>
              <t indent="0">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" target="https://www.rfc-editor.org/info/rfc5322" quoteTitle="true" derivedAnchor="RFC5322">
          <front>
            <title>Internet Message Format</title>
            <author initials="P." surname="Resnick" fullname="P. Resnick" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2008" month="October"/>
            <abstract>
              <t indent="0">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="RFC5890" target="https://www.rfc-editor.org/info/rfc5890" quoteTitle="true" derivedAnchor="RFC5890">
          <front>
            <title>Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework</title>
            <author initials="J." surname="Klensin" fullname="J. Klensin">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2010" month="August"/>
            <abstract>
              <t indent="0">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>
        <reference anchor="RFC6234" target="https://www.rfc-editor.org/info/rfc6234" quoteTitle="true" derivedAnchor="RFC6234">
          <front>
            <title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title>
            <author initials="D." surname="Eastlake 3rd" fullname="D. Eastlake 3rd">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Hansen" fullname="T. Hansen">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2011" month="May"/>
            <abstract>
              <t indent="0">Federal Information Processing Standard, FIPS</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6234"/>
          <seriesInfo name="DOI" value="10.17487/RFC6234"/>
        </reference>
        <reference anchor="RFC6376" target="https://www.rfc-editor.org/info/rfc6376" quoteTitle="true" derivedAnchor="RFC6376">
          <front>
            <title>DomainKeys Identified Mail (DKIM) Signatures</title>
            <author initials="D." surname="Crocker" fullname="D. Crocker" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Hansen" fullname="T. Hansen" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Kucherawy" fullname="M. Kucherawy" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2011" month="September"/>
            <abstract>
              <t indent="0">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 indent="0">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="RFC6531" target="https://www.rfc-editor.org/info/rfc6531" quoteTitle="true" derivedAnchor="RFC6531">
          <front>
            <title>SMTP Extension for Internationalized Email</title>
            <author initials="J." surname="Yao" fullname="J. Yao">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="W." surname="Mao" fullname="W. Mao">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2012" month="February"/>
            <abstract>
              <t indent="0">This document specifies an SMTP extension for transport and delivery of email messages with internationalized email addresses or header information.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6531"/>
          <seriesInfo name="DOI" value="10.17487/RFC6531"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t indent="0">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>
        <reference anchor="RFC8398" target="https://www.rfc-editor.org/info/rfc8398" quoteTitle="true" derivedAnchor="RFC8398">
          <front>
            <title>Internationalized Email Addresses in X.509 Certificates</title>
            <author initials="A." surname="Melnikov" fullname="A. Melnikov" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="W." surname="Chuang" fullname="W. Chuang" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="May"/>
            <abstract>
              <t indent="0">This document defines a new name form for inclusion in the otherName field of an X.509 Subject Alternative Name and Issuer Alternative Name extension that allows a certificate subject to be associated with an internationalized email address.</t>
              <t indent="0">This document updates RFC 5280.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8398"/>
          <seriesInfo name="DOI" value="10.17487/RFC8398"/>
        </reference>
        <reference anchor="RFC8550" target="https://www.rfc-editor.org/info/rfc8550" quoteTitle="true" derivedAnchor="RFC8550">
          <front>
            <title>Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 Certificate Handling</title>
            <author initials="J." surname="Schaad" fullname="J. Schaad">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Ramsdell" fullname="B. Ramsdell">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Turner" fullname="S. Turner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="April"/>
            <abstract>
              <t indent="0">This document specifies conventions for X.509 certificate usage by Secure/Multipurpose Internet Mail Extensions (S/MIME) v4.0 agents. S/MIME provides a method to send and receive secure MIME messages, and certificates are an integral part of S/MIME agent processing. S/MIME agents validate certificates as described in RFC 5280 ("Internet X.509 Public Key Infrastructure Certificate and                                     Certificate Revocation List (CRL) Profile").  S/MIME agents must meet the certificate-processing requirements in this document as well as those in RFC 5280.  This document obsoletes RFC 5750.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8550"/>
          <seriesInfo name="DOI" value="10.17487/RFC8550"/>
        </reference>
        <reference anchor="RFC8551" target="https://www.rfc-editor.org/info/rfc8551" quoteTitle="true" derivedAnchor="RFC8551">
          <front>
            <title>Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 Message Specification</title>
            <author initials="J." surname="Schaad" fullname="J. Schaad">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Ramsdell" fullname="B. Ramsdell">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Turner" fullname="S. Turner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="April"/>
            <abstract>
              <t indent="0">This document defines Secure/Multipurpose Internet Mail Extensions (S/MIME) version 4.0.  S/MIME provides a consistent way to send and receive secure MIME data.  Digital signatures provide authentication, message integrity, and non-repudiation with proof of origin. Encryption provides data confidentiality.  Compression can be used to reduce data size.  This document obsoletes RFC 5751.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8551"/>
          <seriesInfo name="DOI" value="10.17487/RFC8551"/>
        </reference>
        <reference anchor="RFC8555" target="https://www.rfc-editor.org/info/rfc8555" quoteTitle="true" derivedAnchor="RFC8555">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author initials="R." surname="Barnes" fullname="R. Barnes">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Hoffman-Andrews" fullname="J. Hoffman-Andrews">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="McCarney" fullname="D. McCarney">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Kasten" fullname="J. Kasten">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="March"/>
            <abstract>
              <t indent="0">Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names.  Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate.  As of this writing, this verification is done through a collection of ad hoc mechanisms.  This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance.  The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8555"/>
          <seriesInfo name="DOI" value="10.17487/RFC8555"/>
        </reference>
        <reference anchor="RFC8616" target="https://www.rfc-editor.org/info/rfc8616" quoteTitle="true" derivedAnchor="RFC8616">
          <front>
            <title>Email Authentication for Internationalized Mail</title>
            <author initials="J." surname="Levine" fullname="J. Levine">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="June"/>
            <abstract>
              <t indent="0">Sender Policy Framework (SPF) (RFC 7208), DomainKeys Identified Mail (DKIM) (RFC 6376), and Domain-based Message Authentication, Reporting, and Conformance (DMARC) (RFC 7489) enable a domain owner to publish email authentication and policy information in the DNS. In internationalized email, domain names can occur both as U-labels and A-labels.  This specification updates the SPF, DKIM, and DMARC specifications to clarify which form of internationalized domain names to use in those specifications.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8616"/>
          <seriesInfo name="DOI" value="10.17487/RFC8616"/>
        </reference>
      </references>
      <references pn="section-7.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RFC4021" target="https://www.rfc-editor.org/info/rfc4021" quoteTitle="true" derivedAnchor="RFC4021">
          <front>
            <title>Registration of Mail and MIME Header Fields</title>
            <author initials="G." surname="Klyne" fullname="G. Klyne">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Palme" fullname="J. Palme">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2005" month="March"/>
            <abstract>
              <t indent="0">This document defines the initial IANA registration for permanent mail and MIME message header fields, per RFC 3864.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4021"/>
          <seriesInfo name="DOI" value="10.17487/RFC4021"/>
        </reference>
        <reference anchor="RFC8058" target="https://www.rfc-editor.org/info/rfc8058" quoteTitle="true" derivedAnchor="RFC8058">
          <front>
            <title>Signaling One-Click Functionality for List Email Headers</title>
            <author initials="J." surname="Levine" fullname="J. Levine">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Herkula" fullname="T. Herkula">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="January"/>
            <abstract>
              <t indent="0">This document describes a method for signaling a one-click function for the List-Unsubscribe email header field.  The need for this arises out of the actuality that mail software sometimes fetches URLs in mail header fields, and thereby accidentally triggers unsubscriptions in the case of the List-Unsubscribe header field.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8058"/>
          <seriesInfo name="DOI" value="10.17487/RFC8058"/>
        </reference>
      </references>
    </references>
    <section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">Thank you to <contact fullname="Andreas Schulze"/>, <contact fullname="Gerd v. Egidy"/>, 
      <contact fullname="James A. Baker"/>, <contact fullname="Ben Schwartz"/>,
      <contact fullname="Peter Yee"/>, <contact fullname="Hilarie Orman"/>, 
      <contact fullname="Michael Jenkins"/>, <contact fullname="Barry Leiba"/>, 
      <contact fullname="Fraser Tweedale"/>, <contact fullname="Daniel Kahn Gillmor"/>, and 
      <contact fullname="Benjamin Kaduk"/> for their suggestions, comments, and corrections of this document.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-address">Author's Address</name>
      <author initials="A." surname="Melnikov" fullname="Alexey Melnikov">
        <organization showOnFrontPage="true">Isode Ltd</organization>
        <address>
          <postal>
            <street>14 Castle Mews</street>
            <city>Hampton, Middlesex</city>
            <code>TW12 2NP</code>
            <country>United Kingdom</country>
          </postal>
          <email>alexey.melnikov@isode.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
