<?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.3.8) -->
<?rfc rfcedstyle="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-richardson-lamps-rfc7030bis-00" category="std" consensus="true" submissionType="IETF" tocDepth="4" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="EST">Enrollment over Secure Transport</title>
    <seriesInfo name="Internet-Draft" value="draft-richardson-lamps-rfc7030bis-00"/>
    <author initials="M." surname="Richardson" fullname="Michael Richardson" role="editor">
      <organization/>
      <address>
        <email>mcr+ietf@sandelman.ca</email>
      </address>
    </author>
    <date year="2013" month="October"/>
    <area>Security</area>
    <workgroup>PKIX</workgroup>
    <keyword>pki,est</keyword>
    <abstract>
      <?line 139?>

<t>This document profiles certificate enrollment for clients using
Certificate Management over CMS (CMC) messages over a secure transport.
This profile, called Enrollment over Secure Transport (EST), describes a
simple, yet functional, certificate management protocol targeting Public
Key Infrastructure (PKI) clients that need to acquire client
certificates and associated Certification Authority (CA) certificates.
It also supports client-generated public/private key pairs as well as
key pairs generated by the CA.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-richardson-lamps-rfc7030bis/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://codeberg.org/mcr/rfc7030bis.git"/>.</t>
    </note>
  </front>
  <middle>
    <?line 150?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document profiles certificate enrollment for clients using
Certificate Management over CMS (CMC) <xref target="RFC5272"/> messages over a secure
transport.
Enrollment over Secure Transport (EST) describes the use of Transport
Layer Security (TLS) 1.1 <xref target="RFC4346"/>, 1.2 <xref target="RFC5246"/>, or any future
version) and Hypertext Transfer Protocol (HTTP) <xref target="RFC2616"/> to provide
an authenticated and authorized channel for Simple Public Key
Infrastructure (PKI) Requests and Responses <xref target="RFC5272"/>.</t>
      <t>Architecturally, the EST service is located between a Certification
Authority (CA) and a client.
It performs several functions traditionally allocated to the
Registration Authority (RA) role in a PKI.
The nature of communication between an EST server and a CA is not
described in this document.</t>
      <t>EST adopts the Certificate Management Protocol (CMP) <xref target="RFC4210"/> model
for CA certificate rollover, but it does not use the CMP message
syntax or protocol.
EST servers are extensible in that new functions may be defined to
provide additional capabilities not specified in <xref target="RFC5272">CMC</xref>, and
this document defines two such extensions: one for requesting
Certificate Signing Request attributes and another for requesting
server-generated keys.</t>
      <t>EST specifies how to transfer messages securely via HTTP over TLS
(HTTPS) <xref target="RFC2818"/>, where the HTTP headers and media types are used in
conjunction with TLS.
HTTPS operates over TCP; this document does not specify EST over
HTTP/Datagram Transport Layer Security/User Datagram Protocol
(HTTP/DTLS/UDP).
With a suitable specification for combining HTTP, DTLS, and UDP, there
are no EST requirements that would prevent it from working over such a
stack.
<xref target="FIGlayers"/> shows how the layers build upon each other.</t>
      <figure anchor="FIGlayers">
        <artwork><![CDATA[
EST Layering:

Protocols:
+--------------------------------------------+
|                                            |
| EST request/response messages              |
|                                            |
+--------------------------------------------+
|                                            |
| HTTP for message transfer and signaling    |
|                                            |
+--------------------------------------------+
|                                            |
| TLS for transport security                 |
|                                            |
+--------------------------------------------+
|                                            |
| TCP for transport                          |
|                                            |
+--------------------------------------------+
]]></artwork>
      </figure>
      <section anchor="terminology">
        <name>Terminology</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 <xref target="BCP14"/> (<xref target="RFC2119"/>) (<xref target="RFC8174"/>) when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

<t>It is assumed that the reader is familiar with the terms and concepts
described in Public Key Cryptography Standard (PKCS) #10 <xref target="RFC2986"/>,
HTTPS <xref target="RFC2818"/>, CMP <xref target="RFC4210"/>, CMC <xref target="RFC5272"/><xref target="RFC5273"/><xref target="RFC5274"/>, and
TLS <xref target="RFC4346"/>.</t>
        <t>In addition to the terms defined in the terminology section of CMC
<xref target="RFC5272"/>, the following terms are defined for clarity:</t>
        <dl>
          <dt>EST CA:</dt>
          <dd>
            <t>For certificate issuing services, the EST CA
is reached through the EST server; the CA could be logically
"behind" the EST server or embedded within it.</t>
          </dd>
          <dt>Third-Party Trust Anchor:</dt>
          <dd>
            <t>Any trust anchor (TA) that
is not authoritative for the PKI hierarchy for which the EST server is
providing services.</t>
          </dd>
          <dt>Explicit Trust Anchor:</dt>
          <dd>
            <t>Any TA that is explicitly configured on the client or server for use
during EST TLS authentication; for example, a TA that is manually
configured on the EST client or bootstrapped as described in
<xref target="BootstrapCACerts"/>.
(See more details in Sections <xref format="counter" target="TLSserverAuthZ"/> and
<xref format="counter" target="SecurityConsiderations"/>.)</t>
          </dd>
          <dt>Implicit Trust Anchor:</dt>
          <dd>
            <t>Any third-party TA that is available on the client or server for use
during TLS authentication but is not specifically indicated for use
during EST TLS authentication; for example, TAs commonly used by web
browsers to authenticate web servers or TAs used by servers to
authenticate manufacturer-installed client credentials (such as
certificates populated into cable modems or routers in the factory).
The authorization model for these TAs is different from the
authorization model for Explicit Trust Anchors.
(See more details in Sections <xref format="counter" target="ClientETA"/>, <xref format="counter" target="ClientITA"/>, and
<xref format="counter" target="SecurityConsiderations"/>).</t>
          </dd>
          <dt>Certificate-Less TLS:</dt>
          <dd>
            <t>Certificate-less TLS cipher suites provide a way to perform mutual
authentication in situations where neither the client nor server
have certificates or are willing to use them.
The credential used for authentication is a word, phrase, code, or
key that is shared between the client and server.
The credential must be uniquely shared between the client and server
in order to provide authentication of an individual client to an
individual server.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="operational-scenario-overviews">
      <name>Operational Scenario Overviews</name>
      <t>This section provides an informative overview of the operational
scenarios to better introduce the reader to the protocol discussion.</t>
      <t>Both the EST clients and server are configured with information that
provides the basis for mutual authentication and for
authorization. The specific initialization data depends on the methods
available in the client and server, but it can include shared secrets,
network service names and locations (e.g., a Uniform Resource Identifier
(URI) <xref target="RFC3986"/>), trust anchor information (e.g., a CA
certificate or a hash of a TA's certificate), and enrollment keys and
certificates. Depending on an enterprise's acquisition and network
management practices, some initialization may be performed by the vendor
prior to delivery of client hardware and software. In that case, the
client vendor may provide data, such as trust anchors, to the enterprise
via a secure procedure. The distribution of this initial information is
out of scope.</t>
      <t>Distribution of trust anchors and other certificates can be effected
via the EST server. However, nothing can be inferred about the
authenticity of this data until an out-of-band mechanism is used to
verify them.</t>
      <t>Sections <xref format="counter" target="CA_Certs"/>-<xref format="counter" target="Client_Cert_Reissue"/> very closely mirror the
text of the Scenarios Appendix of <xref target="RFC6403"/> with such modifications as
are appropriate for this profile.
Sections <xref format="counter" target="CA_Certs"/>-<xref format="counter" target="CSR_Attributes_Request"/>, below, enumerate the
set of EST functions (see <xref target="OPERATIONtypes"/>) and provide an informative
overview of EST's capabilities.</t>
      <t>The general client/server interaction proceeds as follows:</t>
      <ul empty="true">
        <li>
          <t>The client initiates a TLS-secured HTTP session with an EST server.</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>A specific EST service is requested based on a portion of the URI used for
the session.</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>The client and server authenticate each other.</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>The client verifies that the server is authorized to serve this client.</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>The server verifies that the client is authorized to make use of
this server and the request that the client has made.</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>The server acts upon the client request.</t>
        </li>
      </ul>
      <section anchor="CA_Certs">
        <name>Obtaining CA Certificates</name>
        <t>The EST client can request a copy of the current EST CA
certificate(s) from the EST server. The EST client is assumed to
perform this operation before performing other operations.</t>
        <t>Throughout this document we assume the EST CA has a certificate
that is used by the client to verify signed objects issued by the
CA, e.g., certificates and certificate revocation lists (CRLs),
and that a different certificate than the one used to verify
signatures on certificates and CRLs is used when EST
protocol communication requires additional encryption.</t>
        <t>The EST client authenticates and verifies the authorization scope of
the EST server when requesting the current CA certificate(s).
As detailed in Sections <xref format="counter" target="TLSserverAuthC"/> and <xref format="counter" target="TLSmutualAuth"/>,
available options include:</t>
        <ul spacing="normal">
          <li>
            <t>Verifying the EST server's HTTPS URI against the EST server's
certificate using Implicit TAs (similar to a common HTTPS
exchange). This allows the EST server and client to leverage
existing TAs that might be known to the EST client.</t>
          </li>
          <li>
            <t>The client can leverage a previously distributed trust anchor
specific to the EST server. This allows the EST client to use an
existing, potentially older, CA certificate to request a current
CA certificate.</t>
          </li>
          <li>
            <t>For bootstrapping, the EST client can rely upon manual
authentication performed by the end-user as detailed in
<xref target="BootstrapCACerts"/>.</t>
          </li>
          <li>
            <t>The client can leverage the binding of a shared credential to a
specific EST server with a certificate-less TLS cipher suite.</t>
          </li>
        </ul>
        <t>Client authentication is not required for this exchange, so
it is trivially supported by the EST server.</t>
      </section>
      <section anchor="initial-enrollment">
        <name>Initial Enrollment</name>
        <t>After authenticating an EST server and verifying that it is
authorized to provide services to the client, an EST client can
acquire a certificate for itself by submitting an enrollment request
to that server.</t>
        <t>The EST server authenticates and authorizes the EST client as
specified in Sections <xref format="counter" target="TLSclientAuthC"/>, <xref format="counter" target="TLSmutualAuth"/>, and
<xref format="counter" target="ClientAuthorization"/>.
The methods described in the normative text that are discussed in this
overview include:</t>
        <ul spacing="normal">
          <li>
            <t>TLS with a previously issued client certificate (e.g., an
existing certificate issued by the EST CA);</t>
          </li>
          <li>
            <t>TLS with a previously installed certificate (e.g., manufacturer-installed
certificate or a certificate issued by some other
party);</t>
          </li>
          <li>
            <t>Certificate-less TLS (e.g., with a shared credential
distributed out-of-band);</t>
          </li>
          <li>
            <t>HTTP-based with a username/password distributed
out-of-band.</t>
          </li>
        </ul>
        <section anchor="CertificateTLSauth">
          <name>Certificate TLS Authentication</name>
          <t>If the EST client has a previously installed certificate issued
by a third-party CA, this certificate can be used to authenticate
the client's request for a certificate from the EST server (if that
CA is recognized by the EST server). An EST client responds to the
EST server's TLS certificate request message with the existing
certificate already held by the client. The EST server will verify
the client's existing certificate and authorize the client's request
as described in <xref target="TLSclientAuthC"/>.</t>
        </section>
        <section anchor="certificate-less-tls-authentication">
          <name>Certificate-Less TLS Authentication</name>
          <t>The EST client and EST server can be mutually authenticated using
a certificate-less TLS cipher suite (see <xref target="TLSmutualAuth"/>).</t>
        </section>
        <section anchor="HTTPclientauthreasons">
          <name>HTTP-Based Client Authentication</name>
          <t>The EST server can optionally also request that the EST client submit
a username/password using the HTTP Basic or Digest authentication
methods (see <xref target="HTTPuserAuthCandAuthZ"/>).
This approach is desirable if the EST client cannot be authenticated
during the TLS handshake (see <xref target="TLSclientAuthC"/>) or the EST server
policy requires additional authentication information; see
<xref target="HTTPuserAuthCandAuthZ"/>.
In all cases, HTTP‑based client authentication is only to be
performed over a TLS‑protected transport (see <xref target="TLSLayer"/>).</t>
        </section>
      </section>
      <section anchor="Client_Cert_Reissue">
        <name>Client Certificate Reissuance</name>
        <t>An EST client can renew/rekey its existing client certificate by
submitting a re-enrollment request to an EST server.</t>
        <t>When the current EST client certificate can be used for TLS client
authentication (<xref target="TLSclientAuthC"/>), the client presents
this certificate to the EST server for client authentication. When the
to be reissued EST client certificate cannot be used for TLS client
authentication, any of the authentication methods used for initial
enrollment can be used.</t>
        <t>For example, if the client has an alternative certificate issued by
the EST CA that can be used for TLS client authentication, then it can
be used.</t>
        <t>The certificate request message includes the same Subject and
SubjectAltName as the current certificate. Name changes are requested
as specified in <xref target="Re-enroll"/>.</t>
      </section>
      <section anchor="server-key-generation">
        <name>Server Key Generation</name>
        <t>The EST client can request a server-generated certificate and key
pair (see <xref target="ServerKeyGen"/>).</t>
      </section>
      <section anchor="full-pki-request-messages">
        <name>Full PKI Request Messages</name>
        <t>Full PKI Request <xref target="RFC5272"/> messages can be transported via EST using
the Full CMC Request function.
This affords access to functions not provided by the Simple Enrollment
functions.
Full PKI Request messages are defined in Sections 3.2 and 4.2 of
<xref target="RFC5272"/>.
See <xref target="FullCMC"/> for a discussion of how EST provides a transport for
these messages.</t>
      </section>
      <section anchor="CSR_Attributes_Request">
        <name>Certificate Signing Request (CSR) Attributes Request</name>
        <t>Prior to sending an enrollment request to an EST server, an EST
client can query the EST server for a set of additional attributes
that the client is requested to use in a subsequent enrollment
request.</t>
        <t>These attributes can provide additional descriptive information
that the EST server cannot access itself, such as the Media Access
Control (MAC) address of an interface of the EST client.
Alternatively, these attributes can indicate the kind of enrollment
request, such as a specific elliptic curve or a specific hash function
that the client is expected to use when generating the CSR.</t>
      </section>
    </section>
    <section anchor="ProtocolDesignandLayering">
      <name>Protocol Design and Layering</name>
      <t><xref target="FIGlayers2"/> provides an expansion of <xref target="FIGlayers"/>,
describing how the layers are used. Each aspect is described in more
detail in the sections that follow.</t>
      <figure anchor="FIGlayers2">
        <artwork><![CDATA[
EST Layering:

Protocols and uses:
+----------------------------------------------------+
|                                                    |
| Message types:                                     |
|   - "Simple PKI" messages                          |
|     (incorporates proof-of-possession)             |
|   - CA certificate retrieval                       |
|   - "Full PKI" messages (OPTIONAL)                 |
|     (incorporates proof-of-possession)             |
|   - CSR Attributes Request (OPTIONAL)              |
|   - Server-generated key request (OPTIONAL)        |
|                                                    |
+----------------------------------------------------+
|                                                    |
| HTTP:                                              |
|   - HTTP headers and URIs for control              |
|      - Content-Type headers specify message type   |
|      - Headers for control/error messages          |
|      - URIs for selecting functions                |
|   - Basic or Digest authentication (OPTIONAL)      |
|                                                    |
+----------------------------------------------------+
|                                                    |
| TLS for transport security:                        |
|   - Authentication of the EST server               |
|   - Authentication of the EST client (OPTIONAL)    |
|   - Provides communications integrity              |
|     and confidentiality                            |
|   - Supplies channel-binding [RFC5929] information |
|     to link proof-of-identity with message-based   |
|     proof-of-possession (OPTIONAL)                 |
|                                                    |
+----------------------------------------------------+
]]></artwork>
      </figure>
      <t>Specifying HTTPS as the secure transport for enrollment messages
introduces two "layers" to communicate authentication and control
messages: TLS and HTTP.</t>
      <t>The TLS layer provides integrity and confidentiality during
transport. The proof-of-identity is supplied by TLS handshake
authentication and optionally also by the HTTP layer headers. The
message type and control/error messages are included in the HTTP
headers.</t>
      <t>CMC (<xref target="RFC5272"/>, Section 3.1) notes
that "the Simple PKI Request <bcp14>MUST NOT</bcp14> be used if a proof-of-identity
needs to be included". Since the TLS and HTTP layers can provide
proof-of-identity for EST clients and servers, the Simple PKI message
types are used.</t>
      <t>The TLS layer certificate exchange provides a method for authorizing
client enrollment requests using existing certificates. Such
certificates may have been issued by the CA (from which the client is
requesting a certificate), or they may have been issued under a
distinct PKI (e.g., an <xref target="IDevID">IEEE 802.1AR Initial Device Identifier
(IDevID)</xref> credential).</t>
      <t>Proof-of-possession (POP) is a distinct issue from proof-of-identity
and is included in the Simple PKI message type as described in <xref target="PoP"/>.
A method of linking proof-of-identity and
proof‑of‑possession is described in <xref target="IdentityLinkedPOP"/>.</t>
      <t>This document also defines transport for <xref target="RFC5272">CMC</xref> that complies
with the <xref target="RFC5273">CMC Transport Protocols</xref>.
CMC's POP and proof‑of‑identity mechanisms are defined in
CMC, but the mechanisms here can also be used in conjunction with
those mechanisms in "Full PKI" messages.</t>
      <t>During protocol exchanges, different certificates can be used.
The following table provides an informative overview.
End-entities can have one or more certificates of each type listed in
<xref target="FIGlayers3"/> and use one or more trust anchor databases of each type
listed in <xref target="FIGlayers4"/>.</t>
      <figure anchor="FIGlayers3">
        <artwork><![CDATA[
Certificates and their corresponding uses:
+--------------+--------------------+-------------------------------+
| Certificate  | Issuer             | Use and section references    |
+==============+====================+===============================+
| EST server   | The CA served by   | Presented by the EST server   |
| certificate  | the EST server     | during the TLS handshake.     |
|              |                    |                               |
|              |                    | Section 3.3.1                 |
+--------------+--------------------+-------------------------------+
| EST server   | A CA               | Presented by the EST server   |
| certificate  | authenticatable by | during the TLS handshake.     |
|              | a third-party TA,  |                               |
|              | e.g., a web server | Section 3.3.1 and             |
|              | CA                 | Security Considerations       |
+--------------+--------------------+-------------------------------+
| Third-party  | A CA               | Presented by the EST client   |
| EST client   | authenticatable by | to the EST server by clients  |
| certificate  | a third-party TA,  | that have not yet enrolled.   |
|              | e.g., a device     |                               |
|              | manufacturer       | Section 3.3.2                 |
+--------------+--------------------+-------------------------------+
| EST client   | The CA served by   | Presented to the EST server   |
| certificate  | the EST server     | during future EST operations. |
|              |                    |                               |
|              |                    | Section 3.3.2                 |
+--------------+--------------------+-------------------------------+
| End-entity   | The CA served by   | Clients can obtain certs      |
| certificate  | the EST server     | that are intended for         |
|              |                    | non-EST uses.  This includes  |
|              |                    | certs that cannot be used     |
|              |                    | for EST operations.           |
|              |                    |                               |
|              |                    | Section 4.2.3                 |
+--------------+--------------------+-------------------------------+

]]></artwork>
      </figure>
      <figure anchor="FIGlayers4">
        <artwork><![CDATA[
Trust anchor databases and their corresponding uses:
+--------------+----------------------------------------------------+
| TA database  | Use and section references                         |
+==============+====================================================+
| EST server   | EST servers use this TA database to authenticate   |
| Explicit     | certificates issued by the EST CA, including EST   |
| TA database  | client certificates during enroll/re-enroll        |
|              | operations.                                        |
|              |                                                    |
|              | Section 3.3.2                                      |
+--------------+----------------------------------------------------+
| EST server   | EST servers use this TA database to authenticate   |
| Implicit     | certificates issued by third-party TAs;            |
| TA database  | e.g., EST client certificates issued by a device   |
|              | manufacturer.                                      |
|              | An Implicit TA database can be disabled.           |
|              |                                                    |
|              | Section 3.3.2                                      |
+--------------+----------------------------------------------------+
| EST client   | EST clients use this TA database to authenticate   |
| Explicit     | certificates issued by the EST CA, including EST   |
| TA database  | server certificates.                               |
|              |                                                    |
|              | Sections 3.1, 3.3.1, 3.6.1, and 4.1.1              |
+--------------+----------------------------------------------------+
| EST client   | EST clients use this TA database to                |
| Implicit     | authenticate an EST server that uses an externally |
| TA database  | issued certificate.                                |
|              | An Implicit TA database can be disabled.           |
|              |                                                    |
|              | Sections 3.1, 3.3.1, 3.6.2, and                    |
|              | Security Considerations                            |
+--------------+----------------------------------------------------+

]]></artwork>
      </figure>
      <section anchor="ApplicationLayer">
        <name>Application Layer</name>
        <t>The EST client <bcp14>MUST</bcp14> be capable of generating and parsing Simple PKI
messages (see <xref target="CertReq"/>). Generating and parsing Full
PKI messages is <bcp14>OPTIONAL</bcp14> (see <xref target="FullCMC"/>). The client
<bcp14>MUST</bcp14> also be able to request CA certificates from the EST server and
parse the returned "bag" of certificates (see <xref target="CACerts"/>). Requesting CSR attributes and parsing the
returned list of attributes is <bcp14>OPTIONAL</bcp14> (see <xref target="CSRAttrs"/>).</t>
        <t>Details of the EST client application configuration are out of
scope of the protocol discussion but are necessary for understanding
the prerequisites of initiating protocol operations. The EST client is
<bcp14>RECOMMENDED</bcp14> to be configured with TA databases for <xref target="TLSserverAuthC"/> or with a secret key for <xref target="TLSmutualAuth"/>. Implementations conforming to this standard
<bcp14>MUST</bcp14> provide the ability to designate Explicit TAs. For human
usability reasons, a "fingerprint" of an Explicit TA database entry can
be configured for bootstrapping as discussed in <xref target="BootstrapCACerts"/>. Configuration of an Implicit TA database,
perhaps by its inclusion within the EST client distribution or
available from the operating system, provides flexibility along with
the caveats detailed in <xref target="SecurityConsiderations"/>.
Implementations conforming to this standard <bcp14>MUST</bcp14> provide the ability
to disable use of any Implicit TA database.</t>
        <t>The EST client is configured with sufficient information to form
the EST server URI. This can be the full operation path segment (e.g.,
https://www.example.com/.well-known/est/ or
https://www.example.com/.well-known/est/arbitraryLabel1), or the EST
client can be configured with a tuple composed of the authority
portion of the URI along with the <bcp14>OPTIONAL</bcp14> label (e.g.,
"www.example.com:80" and "arbitraryLabel1") or just the authority portion
of the URI.</t>
      </section>
      <section anchor="HTTP">
        <name>HTTP Layer</name>
        <t>HTTP is used to transfer EST messages. URIs are defined for
handling each media type (i.e., message type) as described in <xref target="HTTPURIs"/>. HTTP is also used for client authentication
services when TLS client authentication is not available, due to the lack
of a client certificate suitable for use by TLS (see <xref target="HTTPuserAuthCandAuthZ"/>). HTTP authentication can also
be used in addition to TLS client authentication if the EST server
wishes additional authentication information, as noted in <xref target="HTTPclientauthreasons"/>. Registered media types are
used to convey EST messages as specified in <xref target="MIMEtypes"/>.</t>
        <t><xref target="RFC2616">HTTP 1.1</xref> and above support persistent
connections. As described in Section 8.1 of RFC 2616, persistent
connections may be used to reduce network and processing loads
associated with multiple HTTP requests. EST does not require or
preclude persistent HTTP connections.</t>
        <section anchor="HTTPheaders">
          <name>HTTP Headers for Control</name>
          <t>The HTTP Status value is used to communicate success or failure
of an EST function. HTTP authentication is used by a client when
requested by the server.</t>
          <t>The media types specified in the HTTP Content-Type header
indicate which EST message is being transferred. Media types used
by EST are specified in <xref target="MessageTypes"/>.</t>
          <t>HTTP redirections (3xx status codes) to the same web origin (see <xref target="RFC6454"/>) <bcp14>SHOULD</bcp14> be handled by the client without
user input so long as all applicable security checks (Sections <xref format="counter" target="TLSLayer"/> and <xref format="counter" target="TLSserverAuthZ"/>) have been
enforced on the initial connection. The client initiates a new TLS
connection and performs all applicable security checks when
redirected to other web origin servers. Redirections to other web
origins require the EST client to obtain user input for non-GET or
HEAD requests as specified in <xref target="RFC2616"/>. Additionally,
if the client has already generated a CSR that includes <xref target="IdentityLinkedPOP">linking identity and POP information</xref>, then the CSR will need to be recreated to
incorporate the tls-unique from the new, redirected session.
Note: the key pair need not be regenerated. These are
processing and interface burdens on the client. EST server
administrators are advised to take this into consideration.</t>
        </section>
        <section anchor="HTTPURIs">
          <name>HTTP URIs for Control</name>
          <t>The EST server <bcp14>MUST</bcp14> support the use of the
path-prefix of "/.well-known/" as defined in <xref target="RFC5785"/> and the registered name of "est".
Thus, a valid EST server URI path begins with
"https://www.example.com/.well-known/est". Each EST operation is
indicated by a path-suffix that indicates the intended
operation:</t>
          <figure anchor="OPERATIONtypes">
            <artwork><![CDATA[
Operations and their corresponding URIs:
+------------------------+-----------------+-------------------+
| Operation              |Operation path   | Details           |
+========================+=================+===================+
| Distribution of CA     | /cacerts        | Section 4.1       |
| Certificates (MUST)    |                 |                   |
+------------------------+-----------------+-------------------+
| Enrollment of          | /simpleenroll   | Section 4.2       |
| Clients (MUST)         |                 |                   |
+------------------------+-----------------+-------------------+
| Re-enrollment of       | /simplereenroll | Section 4.2.2     |
| Clients (MUST)         |                 |                   |
+------------------------+-----------------+-------------------+
| Full CMC (OPTIONAL)    | /fullcmc        | Section 4.3       |
+------------------------+-----------------+-------------------+
| Server-Side Key        | /serverkeygen   | Section 4.4       |
| Generation (OPTIONAL)  |                 |                   |
+------------------------+-----------------+-------------------+
| CSR Attributes         | /csrattrs       | Section 4.5       |
| (OPTIONAL)             |                 |                   |
+------------------------+-----------------+-------------------+
]]></artwork>
          </figure>
          <t>The operation path (<xref target="OPERATIONtypes"/>) is appended
to the path-prefix to form the URI used with HTTP GET or POST to
perform the desired EST operation. An example valid URI absolute
path for the "/cacerts" operation is "/.well-known/est/cacerts". To
retrieve the CA's certificates, the EST client would use the
following HTTP request‑line:</t>
          <artwork><![CDATA[
GET /.well-known/est/cacerts HTTP/1.1
]]></artwork>
          <t>Likewise, to request a new certificate in this example scheme,
the EST client would use the following request-line:</t>
          <artwork><![CDATA[
POST /.well-known/est/simpleenroll HTTP/1.1
]]></artwork>
          <t>The use of distinct operation paths simplifies implementation for
servers that do not perform client authentication when distributing
/⁠cacerts responses.</t>
          <t>An EST server <bcp14>MAY</bcp14> provide service for multiple CAs as indicated
by an <bcp14>OPTIONAL</bcp14> additional path segment between the registered
application name and the operation path. To avoid conflict, the CA
label <bcp14>MUST NOT</bcp14> be the same as any defined operation path segment.
The EST server <bcp14>MUST</bcp14> provide services regardless of whether the
additional path segment is present. The following are three example
valid URIs:</t>
          <ol spacing="normal" type="1"><li>
              <t>https://www.example.com/.well-known/est/cacerts</t>
            </li>
            <li>
              <t>https://www.example.com/.well-known/est/arbitraryLabel1/cacerts</t>
            </li>
            <li>
              <t>https://www.example.com/.well-known/est/arbitraryLabel2/cacerts</t>
            </li>
          </ol>
          <t>In this specification, the distinction between enroll and renew/rekey
is explicitly indicated by the HTTP URI.
When requesting /fullcmc operations, <xref target="RFC5272">CMC</xref>
uses the same messages for certificate renewal and certificate rekey.</t>
          <t>An EST server can provide additional services using other
URIs.</t>
        </section>
        <section anchor="HTTPuserAuthCandAuthZ">
          <name>HTTP-Based Client Authentication</name>
          <t>The EST server <bcp14>MAY</bcp14> request HTTP-based client authentication. This
request can be in addition to successful TLS client authentication
(<xref target="TLSclientAuthC"/>) if EST server policy requires
additional authentication. (For example, the EST server may require
that an EST client "knows" a password in addition to "having" an
existing client certificate.)  Or, HTTP-based client authentication
can be an EST server policy-specified fallback in situations where
the EST client did not successfully complete the TLS client
authentication. (This might arise if the EST client is enrolling for
the first time or if the certificates available to an EST client
cannot be used for TLS client authentication.)</t>
          <t>HTTP Basic and Digest authentication <bcp14>MUST</bcp14> only be performed over <xref target="RFC4346">TLS 1.1</xref> or later versions. NULL and
anon cipher suites <bcp14>MUST NOT</bcp14> be used because they do not provide
confidentiality or support mutual certificate-based or
certificate-less authentication, respectively. As specified in <xref target="RFC5273">"Certificate Management over CMS (CMC): Transport Protocols"</xref>, the server "<bcp14>MUST
NOT</bcp14> assume client support for any type of HTTP authentication such
as cookies, Basic authentication, or Digest authentication". Clients
<bcp14>SHOULD</bcp14> support the Basic and Digest authentication mechanism.</t>
          <t>Servers that wish to use Basic and Digest authentication reject
the HTTP request using the HTTP-defined WWW-Authenticate
response-header (<xref target="RFC2616"/>, Section
14.47). The client is expected to retry the request, including the
appropriate Authorization Request header (<xref target="RFC2617"/>,
Section 3.2.2), if the client is capable of using the Basic or
Digest authentication. If the client is not capable of retrying the
request or it is not capable of Basic or Digest authentication, then
the client <bcp14>MUST</bcp14> terminate the connection.</t>
          <t>A client <bcp14>MAY</bcp14> set the username to the empty string ("") if it is
presenting a password that is not associated with a username.</t>
          <t>Support for HTTP-based client authentication has security
ramifications as discussed in <xref target="SecurityConsiderations"/>. The client <bcp14>MUST NOT</bcp14> respond to
the server's HTTP authentication request unless the client has
authorized the EST server (as per <xref target="TLSserverAuthZ"/>).</t>
        </section>
        <section anchor="MessageTypes">
          <name>Message Types</name>
          <t>This document uses existing media types for the messages as specified
by FTP and HTTP <xref target="RFC2585"/>, application/pkcs10 <xref target="RFC5967"/>, and CMC <xref target="RFC5272"/>.</t>
          <t>For consistency with <xref target="RFC5273"/>, each distinct EST
message type uses an HTTP Content-Type header with a specific media
type.</t>
          <t>The EST messages and their corresponding media types for each
operation are:</t>
          <figure anchor="MIMEtypes">
            <artwork><![CDATA[
+--------------------+--------------------------+-------------------+
| Message type       | Request media type       | Request section(s)|
|                    | Response media type(s)   | Response section  |
| (per operation)    | Source(s) of types       |                   |
+====================+==========================+===================+
| Distribution of CA | N/A                      | Section 4.1       |
| Certificates       | application/pkcs7-mime   | Section 4.1.1     |
|                    | [RFC5751]                |                   |
| /cacerts           |                          |                   |
+--------------------+--------------------------+-------------------+
| Client Certificate | application/pkcs10       | Sections 4.2/4.2.1|
| Request Functions  | application/pkcs7-mime   | Section 4.2.2     |
|                    | [RFC5967] [RFC5751]      |                   |
| /simpleenroll      |                          |                   |
| /simplereenroll    |                          |                   |
+--------------------+--------------------------+-------------------+
| Full CMC           | application/pkcs7-mime   | Section 4.3.1     |
|                    | application/pkcs7-mime   | Section 4.3.2     |
| /fullcmc           | [RFC5751]                |                   |
+--------------------+--------------------------+-------------------+
| Server-Side Key    | application/pkcs10       | Section 4.4.1     |
| Generation         | multipart/mixed          | Section 4.4.2     |
|                    | (application/pkcs7-mime &|                   |
|                    | application/pkcs8)       |                   |
|                    | [RFC5967] [RFC5751]      |                   |
| /serverkeygen      | [RFC5958]                |                   |
+--------------------+--------------------------+-------------------+
| CSR Attributes     | N/A                      | Section 4.5.1     |
|                    | application/csrattrs     | Section 4.5.2     |
|                    | (This document)          |                   |
| /csrattrs          |                          |                   |
+--------------------+--------------------------+-------------------+

]]></artwork>
          </figure>
        </section>
      </section>
      <section anchor="TLSLayer">
        <name>TLS Layer</name>
        <t>TLS provides authentication, which in turn enables authorization
decisions. The EST server and EST client are responsible for ensuring
that an acceptable cipher suite is negotiated and that mutual
authentication has been performed. TLS authentication is most commonly
enabled with the use of certificates <xref target="RFC5280"/>.
Alternately, certificate-less TLS authentication, where neither the
client nor server present a certificate, is also an acceptable method
for EST mutual authentication (<xref target="TLSmutualAuth"/>). The EST
server <bcp14>MUST</bcp14> be authenticated during the TLS handshake unless the
client is requesting <xref target="BootstrapCACerts">Bootstrap Distribution of CA certificates</xref> or <xref target="FullCMC">Full CMC</xref>.</t>
        <t>HTTPS <xref target="RFC2818"/> specifies how HTTP messages are
carried over TLS. HTTPS <bcp14>MUST</bcp14> be used. TLS 1.1 <xref target="RFC4346"/> (or a later version) <bcp14>MUST</bcp14> be used for all EST communications. TLS
session resumption <xref target="RFC5077"/> <bcp14>SHOULD</bcp14> be supported.</t>
        <t>TLS channel-binding information can be inserted into a certificate
request, as detailed in <xref target="IdentityLinkedPOP"/>, in order to
provide the EST server with assurance that the authenticated TLS
client has access to the private key for the certificate being
requested. The EST server <bcp14>MUST</bcp14> implement <xref target="IdentityLinkedPOP"/>.</t>
        <section anchor="TLSserverAuthC">
          <name>TLS-Based Server Authentication</name>
          <t>TLS server authentication with certificates <bcp14>MUST</bcp14> be
supported.</t>
          <t>The EST client authenticates the EST server as defined for the
cipher suite negotiated. The following text provides details
assuming a certificate-based cipher suite, such as the <xref target="RFC4346">TLS 1.1</xref> mandatory cipher suite
(TLS_RSA_WITH_3DES_EDE_CBC_SHA).</t>
          <t>Certificate validation <bcp14>MUST</bcp14> be performed as per <xref target="RFC5280"/>. The EST server certificate <bcp14>MUST</bcp14> conform to the <xref target="RFC5280"/> certificate profile.</t>
          <t>The client validates the TLS server certificate using the EST
client Explicit and, if enabled, Implicit TA database(s). The client
<bcp14>MUST</bcp14> maintain a distinction between the use of Explicit and Implicit
TA databases during authentication in order to support proper
authorization. The EST client <bcp14>MUST</bcp14> perform authorization checks as
specified in <xref target="TLSserverAuthZ"/>.</t>
          <t>If certificate validation fails, the client <bcp14>MAY</bcp14> follow the
procedure outlined in <xref target="BootstrapCACerts"/> for
Bootstrap Distribution of CA certificates.</t>
        </section>
        <section anchor="TLSclientAuthC">
          <name>TLS-Based Client Authentication</name>
          <t>TLS client authentication is the <bcp14>RECOMMENDED</bcp14> method for
identifying EST clients. <xref target="HTTPuserAuthCandAuthZ">HTTP-based client authentication</xref> <bcp14>MAY</bcp14> be used.</t>
          <t>The EST server authenticates the EST client as defined for the
cipher suite negotiated. The following text provides details
assuming a certificate-based cipher suite such as the <xref target="RFC4346">TLS 1.1</xref> mandatory cipher suite
(TLS_RSA_WITH_3DES_EDE_CBC_SHA). The EST server <bcp14>MUST</bcp14> support
certificate-based client authentication.</t>
          <t>Generally, the client will use an existing certificate for renew
or rekey operations. If the certificate to be renewed or rekeyed is
appropriate for the negotiated cipher suite, then the client <bcp14>MUST</bcp14>
use it for the TLS handshake, otherwise the client <bcp14>SHOULD</bcp14> use an
alternate certificate that is suitable for the cipher suite and
contains the same subject identity information. When requesting an
enroll operation, the client <bcp14>MAY</bcp14> use a client
certificate issued by a third party to authenticate itself.</t>
          <t>Certificate validation <bcp14>MUST</bcp14> be performed as per <xref target="RFC5280"/>. The EST client certificate <bcp14>MUST</bcp14> conform to the <xref target="RFC5280"/> certificate profile.</t>
          <t>The server validates the TLS client certificate using the EST
server Explicit and, if enabled, Implicit TA database(s). The server
<bcp14>MUST</bcp14> maintain a distinction between the use of Explicit and Implicit
TA databases during authentication in order to support proper
authorization.</t>
          <t>The EST server <bcp14>MUST</bcp14> perform authorization checks as specified in <xref target="ClientAuthorization"/>.</t>
          <t>If a client does not support TLS client authentication, then it
<bcp14>MUST</bcp14> support <xref target="HTTPuserAuthCandAuthZ">HTTP-based client authentication</xref> or <xref target="TLSmutualAuth">certificate-less TLS authentication</xref>.</t>
        </section>
        <section anchor="TLSmutualAuth">
          <name>Certificate-Less TLS Mutual Authentication</name>
          <t>Certificate-less TLS cipher suites provide a way to perform
mutual authentication in situations where neither the client nor
server have certificates, do not desire to use certificates, or do
not have the trust anchors necessary to verify a certificate. The
client and server <bcp14>MAY</bcp14> negotiate a certificate-less cipher suite for
mutual authentication.</t>
          <t>When using certificate-less mutual authentication in TLS for
enrollment, the cipher suite <bcp14>MUST</bcp14> be based on a protocol that is
resistant to dictionary attack and <bcp14>MUST</bcp14> be based on a zero knowledge
protocol. Transport Layer Security-Secure Remote Password (TLS-SRP) cipher
suites, i.e., those with <em>SRP</em> in the name,
listed in <xref section="2.7" sectionFormat="of" target="RFC5054"/> are suitable for
this purpose. <xref target="SecurityConsiderations"/> lists the
characteristics of a cipher suite that are suitable for use in
certificate-less mutual authentication for enrollment.</t>
          <t>Successful authentication using a certificate-less cipher suite
proves knowledge of a pre-shared secret that implicitly authorizes
a peer in the exchange.</t>
        </section>
      </section>
      <section anchor="PoP">
        <name>Proof-of-Possession</name>
        <t>As defined in <xref target="RFC5272">Section 2.1 of CMC</xref>,
proof-of-possession (POP) "refers to a value that can be used to prove
that the private key corresponding to the public key is in the
possession of and can be used by an end-entity".</t>
        <t>The signed enrollment request provides a signature-based
proof‑of‑possession. The mechanism described in <xref target="IdentityLinkedPOP"/> strengthens this by optionally including
"Direct"-based proof‑of‑possession <xref target="RFC5272"/> by
including TLS session-specific information within the data covered by
the enrollment request signature (thus linking the enrollment request
to the authenticated end point of the TLS connection).</t>
      </section>
      <section anchor="IdentityLinkedPOP">
        <name>Linking Identity and POP Information</name>
        <t>Server policy will determine whether clients are required to use
the mechanism specified in this section. This specification provides a
method of linking identity and proof-of-possession by including
information specific to the current authenticated TLS session within
the signed certification request. The client can determine if the
server requires the linking of identity and POP by examining the CSR
Attributes Response (see <xref target="CSRAttrsResp"/>). Regardless of
the CSR Attributes Response, clients <bcp14>SHOULD</bcp14> link identity and POP by
embedding tls-unique information in the certification request. If
tls-unique information is included by the client, the server <bcp14>MUST</bcp14>
verify it. The EST server <bcp14>MAY</bcp14> reject requests without tls-unique
information as indicated by server policy.</t>
        <t>Linking identity and proof-of-possession proves to the server that
the authenticated TLS client has possession of the private key
associated with the certification request, and that the client was able
to sign the certification request after the TLS session was
established. This is an alternative to the
"Linking Identity and POP Information" method defined by <xref section="6" sectionFormat="of" target="RFC5272"/> that is available if Full PKI messages are used.</t>
        <t>The client generating the CSR obtains the tls-unique value from the TLS
subsystem as described in Channel Bindings for TLS <xref target="RFC5929"/>. The EST
client
operations between obtaining the tls-unique value through generation of the
CSR that contains the current tls-unique value and the subsequent
verification
of this value by the EST server are the "phases of the application protocol
during which application-layer authentication occurs"; these operations are
protected by
the synchronization interoperability mechanism described in the "Channel
Bindings for TLS" interoperability notes in <xref section="3.1" sectionFormat="of" target="RFC5929"/>. When performing renegotiation, TLS
"secure_renegotiation" <xref target="RFC5746"/> <bcp14>MUST</bcp14> be used.</t>
        <t>The tls-unique value is base64 encoded as specified in <xref section="4" sectionFormat="of" target="RFC4648"/>,
and the resulting string is placed in the certification request
challenge-password field (<xref target="RFC2985"/>, Section 5.4.1). The challenge-password
field is limited to 255 bytes (<xref section="7.4.9" sectionFormat="of" target="RFC5246"/> indicates that no
existing cipher suite would result in an issue with this limitation). If
the challenge-password attribute is absent, the client did not include the
optional channel-binding information (the presence of the
challenge-password
attribute indicates the inclusion of tls-unique information).</t>
        <t>If the EST server makes use of a back-end infrastructure for
processing, it is <bcp14>RECOMMENDED</bcp14> that the results of this verification be
communicated.
(For example, this communication might use the <xref target="RFC5272">CMC</xref> "RA POP
Witness Control" in a CMC Full PKI Request message.
Or, an EST server might TLS-authenticate an EST client as being a
trusted infrastructure element that does not forward invalid requests.
A detailed discussion of back-end processing is out of scope.)</t>
        <t>When rejecting requests, the EST server response is as described
for all enroll responses (<xref target="CertReqResponse"/>). If a Full
PKI Response is included, the CMCFailInfo <bcp14>MUST</bcp14> be set to popFailed. If
a human-readable reject message is included, it <bcp14>SHOULD</bcp14> include an
informative text message indicating that the linking of identity and POP
information is required.</t>
      </section>
      <section anchor="TLSserverAuthZ">
        <name>Server Authorization</name>
        <t>The client <bcp14>MUST</bcp14> check EST server authorization before accepting any
server responses or responding to HTTP authentication requests.</t>
        <t>The EST client authorization method depends on which method was
used to authenticate the server. When the Explicit TA database is used
to authenticate the EST server, then <xref target="ClientETA"/> applies. When the Implicit TA database is used to authenticate the EST
server, then <xref target="ClientITA"/> applies. Successful
authentication using a certificate-less cipher suite implies
authorization of the server.</t>
        <t>The client <bcp14>MAY</bcp14> perform bootstrapping as specified in <xref target="BootstrapCACerts"/> even if these checks fail.</t>
        <section anchor="ClientETA">
          <name>Client Use of Explicit TA Database</name>
          <t>When the EST client Explicit TA database is used to validate the
EST server certificate, the client <bcp14>MUST</bcp14> check either the configured
URI or the most recent HTTP redirection URI against the server's
identity according to the rules specified in <xref target="RFC6125"/>, Section 6.4, or the EST server certificate <bcp14>MUST</bcp14>
contain the id-kp-cmcRA <xref target="RFC6402"/> extended key usage
extension.</t>
        </section>
        <section anchor="ClientITA">
          <name>Client Use of Implicit TA Database</name>
          <t>When the EST client Implicit TA database is used to validate the
EST server certificate, the client <bcp14>MUST</bcp14> check the configured URI and
each HTTP redirection URI according to the rules specified in <xref target="RFC6125"/>, Section 6.4. The provisioned URI or the most
recent HTTP redirection URI provides the basis for authorization,
and the server's authenticated identity confirms it is the
authorized server.</t>
        </section>
      </section>
      <section anchor="ClientAuthorization">
        <name>Client Authorization</name>
        <t>The decision to issue a certificate to a client is always
controlled by local CA policy. The EST server configuration reflects
this CA policy. This document does not specify any constraints on such
policy. EST provides the EST server access to each client's
authenticated identity -- e.g., the TLS client's certificate in
addition to any HTTP user authentication credentials -- to help in
implementing such policy.</t>
        <t>If the client's certificate was issued by the EST CA, and it
includes the id-kp-cmcRA <xref target="RFC6402"/> extended key usage
extension, then the client is a Registration Authority (RA) as
described in <xref target="RFC5272"/> and <xref target="RFC6402"/>. In
this case, the EST server <bcp14>SHOULD</bcp14> apply authorization policy consistent
with an RA client. For example, when handling /⁠simpleenroll
requests, the EST server could be configured to accept POP linking
information that does not match the current TLS session because the
authenticated EST client RA has verified this information when acting
as an EST server (as specified in <xref target="IdentityLinkedPOP"/>).
More specific RA mechanisms are available if the EST client uses
/fullcmc methods.</t>
      </section>
    </section>
    <section anchor="protocol-exchange-details">
      <name>Protocol Exchange Details</name>
      <t>Before processing a request, an EST server determines if the client
is authorized to receive the requested services. Likewise, the client
determines if it will make requests to the EST server. These
authorization decisions are described in the next two sections. Assuming
that both sides of the exchange are authorized, then the actual
operations are as described in subsequent sections.</t>
      <section anchor="CACerts">
        <name>Distribution of CA Certificates</name>
        <t>The EST client can request a copy of the current CA certificates.
This function is generally performed before other EST functions.</t>
        <section anchor="BootstrapCACerts">
          <name>Bootstrap Distribution of CA Certificates</name>
          <t>It is possible that the client was not configured with an Implicit TA
database that allows a bootstrap installation of the Explicit TA database
as described in <xref format="counter" target="CACertsResp"/>.
This section describes an alternate method by which minimally configured
EST clients can populate their Explicit TA database.</t>
          <t>If the EST client application does not specify either an Explicit
TA database or an Implicit TA database, then the initial TLS server
authentication and authorization will fail. The client <bcp14>MAY</bcp14>
provisionally continue the TLS handshake to completion for the
purposes of accessing the /cacerts or /⁠fullcmc method. If the EST
client continues with an unauthenticated connection, the client <bcp14>MUST</bcp14>
extract the HTTP content data from the response (Sections <xref format="counter" target="CACertsResp"/> or <xref format="counter" target="FullCMCResp"/>) and engage a
human user to authorize the CA certificate using out-of-band data
such as a CA certificate "fingerprint" (e.g., a SHA-256 or SHA-512 <xref target="SHS"/> hash on the whole CA certificate). In a
/⁠fullcmc response, it is the Publish Trust Anchors control (<xref target="RFC5272">CMC</xref>, Section 6.15) within the Full PKI
Response that must be accepted manually. It is incumbent on the user
to properly verify the TA information, or to provide the
"fingerprint" data during configuration that is necessary to verify
the TA information.</t>
          <t>HTTP authentication requests <bcp14>MUST NOT</bcp14> be responded to if the
server has not been authenticated as specified in Section <xref format="counter" target="TLSserverAuthC"/> or
if the optional certificate-less authentication is used as specified in Section <xref format="counter" target="TLSmutualAuth"/>.</t>
          <t>The EST client uses the /cacerts response to establish an
Explicit Trust Anchor database for subsequent TLS authentication of
the EST server. EST clients <bcp14>MUST NOT</bcp14> engage in any other protocol
exchange until after the /cacerts response has been accepted and a
new TLS session has been established (using TLS certificate-based
authentication).</t>
        </section>
        <section anchor="CACertsReq">
          <name>CA Certificates Request</name>
          <t>EST clients request the EST CA TA database information of the CA
(in the form of certificates) with an HTTPS GET message using an
operation path of "/cacerts". EST clients and servers <bcp14>MUST</bcp14> support
the /cacerts function. Clients <bcp14>SHOULD</bcp14> request an up-to-date response
before stored information has expired in order to ensure the EST CA
TA database is up to date.</t>
          <t>The EST server <bcp14>SHOULD NOT</bcp14> require client authentication or
authorization to reply to this request.</t>
          <t>The client <bcp14>MUST</bcp14> authenticate the EST server, as specified in <xref target="TLSserverAuthC"/> if certificate-based
authentication is used or <xref target="TLSmutualAuth"/> if the
optional certificate-less authentication is used, and check the
server's authorization as given in <xref target="TLSserverAuthZ"/>,
or follow the procedure outlined in <xref target="BootstrapCACerts"/>.</t>
        </section>
        <section anchor="CACertsResp">
          <name>CA Certificates Response</name>
          <t>If successful, the server response <bcp14>MUST</bcp14> have an HTTP 200 response
code. Any other response code indicates an error and the client <bcp14>MUST</bcp14>
abort the protocol.</t>
          <t>A successful response <bcp14>MUST</bcp14> be a certs-only CMC Simple PKI
Response, as defined in <xref target="RFC5272"/>, containing the
certificates described in the following paragraph. The HTTP
content-type of "application/pkcs7-mime" is used. The Simple PKI
Response is sent with a Content‑Transfer‑Encoding of "base64" <xref target="RFC2045"/>.</t>
          <t>The EST server <bcp14>MUST</bcp14> include the current root CA certificate in
the response. The EST server <bcp14>MUST</bcp14> include any additional
certificates the client would need to build a chain from an EST CA-issued
certificate to the current EST CA TA. For example, if the EST
CA is a subordinate CA, then all the appropriate subordinate CA
certificates necessary to build a chain to the root EST CA are
included in the response.</t>
          <t>The EST server <bcp14>SHOULD</bcp14> include the three "Root CA Key Update"
certificates OldWithOld, OldWithNew, and NewWithOld in the response
chain. These are defined in <xref target="RFC4210">Section 4.4 of CMP</xref>. The EST client <bcp14>MUST</bcp14> be able to handle
these certificates in the response. The EST CA's most recent
self-signed certificate (e.g., NewWithNew certificate) is self-signed
and has the latest NotAfter date. If the EST server does not include
these in the response, then after the current EST CA certificate
expires, the EST clients will need to be reinitialized with the PKI
using the <xref target="BootstrapCACerts">Bootstrap Distribution of CA certificates</xref> method, which involves user interaction.</t>
          <t>After out-of-band validation occurs, all the other certificates
<bcp14>MUST</bcp14> be validated using normal <xref target="RFC5280"/> certificate
path validation (using the most recent CA certificate as the TA)
before they can be used to build certificate paths during
certificate validation.</t>
          <t>The EST client <bcp14>MUST</bcp14> store the extracted EST CA certificate as an
Explicit TA database entry for subsequent EST server authentication.
The EST client <bcp14>SHOULD</bcp14> disable use of Implicit TA database entries
for this EST server now that an Explicit TA database entry is
available. If the client disables the Implicit TA database, and if
the EST server certificate was verified using an Implicit TA
database entry, then the client <bcp14>MUST</bcp14> include the "Trusted CA
Indication" extension in future TLS sessions <xref target="RFC6066"/>. This indicates to the server that only an EST
server certificate authenticatable by the Explicit TA database entry
is now acceptable (otherwise, the EST server might continue to use a
server certificate that is only verifiable by a now disabled
Implicit TA).</t>
          <t>The EST client <bcp14>SHOULD</bcp14> also make the CA Certificate response
information available to the end-entity software for use when
validating peer certificates.</t>
        </section>
      </section>
      <section anchor="CertReq">
        <name>Client Certificate Request Functions</name>
        <t>EST clients request a certificate from the EST server with an HTTPS
POST using the operation path value of "/simpleenroll". EST clients
request a renew/rekey of existing certificates with an HTTP POST using
the operation path value of "/simplereenroll". EST servers <bcp14>MUST</bcp14>
support the /simpleenroll and /simplereenroll functions.</t>
        <t>It is <bcp14>RECOMMENDED</bcp14> that a client obtain the current CA certificates,
as described in <xref target="CACerts"/>, before performing
certificate request functions. This ensures that the client will be
able to validate the EST server certificate. The client <bcp14>MUST</bcp14>
authenticate the EST server as specified in <xref target="TLSserverAuthC"/> if certificate-based authentication is used
or <xref target="TLSmutualAuth"/> if the optional certificate-less
authentication is used. The client <bcp14>MUST</bcp14> verify the authorization of
the EST server as specified in <xref target="TLSserverAuthZ"/>.</t>
        <t>The server <bcp14>MUST</bcp14> authenticate the client as specified in <xref target="TLSclientAuthC"/> if certificate-based authentication is used
or <xref target="TLSmutualAuth"/> if the optional certificate-less
authentication is used. The server <bcp14>MUST</bcp14> verify client authorization as
specified in <xref target="ClientAuthorization"/>. The EST server <bcp14>MUST</bcp14>
check the tls-unique value, as described in <xref target="IdentityLinkedPOP"/>, if one is submitted by the client.</t>
        <t>The server <bcp14>MAY</bcp14> accept a certificate request for manual
authorization checking by an administrator. (<xref target="CertReqResponse"/> describes the use of an HTTP 202 response
to the EST client if this occurs.)</t>
        <section anchor="Enroll">
          <name>Simple Enrollment of Clients</name>
          <t>When HTTPS POSTing to /simpleenroll, the client <bcp14>MUST</bcp14> include a Simple
PKI Request as specified in <xref target="RFC5272">CMC</xref>, Section 3.1 (i.e., a
<xref target="RFC2986">PKCS #10 Certification Request</xref>).</t>
          <t>The Certification Signing Request (CSR) signature provides
proof‑of‑possession of the client-possessed private key to the EST
server. If the CSR KeyUsage extension indicates that the private key can
be used to generate digital signatures, then the client <bcp14>MUST</bcp14> generate
the CSR signature using the private key. If the key can be used to
generate digital signatures but the requested CSR KeyUsage extension
prohibits generation of digital signatures, then the CSR signature
<bcp14>MAY</bcp14> still be generated using the private key, but the key <bcp14>MUST NOT</bcp14> be
used for any other signature operations (this is consistent with the
recommendations concerning submission of proof‑of‑possession to an
RA or CA as described in <xref target="SP-800-57-Part-1"/>). The use
of /fullcmc operations provides access to more advanced
proof-of-possession methods that are used when the key pair cannot
be used for digital signature generation (see <xref target="FullCMC"/>).</t>
          <t>The HTTP content-type of "application/pkcs10" is used here. The format of
the message is as specified in <xref target="RFC5967"/> with a Content-Transfer-Encoding
of "base64" <xref target="RFC2045"/>.</t>
          <t>If the EST client authenticated using a previously installed certificate
issued by a third-party CA (see <xref target="CertificateTLSauth"/>), the client <bcp14>MAY</bcp14> include
the ChangeSubjectName attribute, as defined in <xref target="RFC6402"/>, in the CSR to
request that the subjectName and SubjectAltName be changed in the new
certificate.</t>
          <t>The EST client <bcp14>MAY</bcp14> request additional certificates even when
using an existing certificate in the TLS client authentication. For
example, the client can use an existing certificate for TLS client
authentication when requesting a certificate that cannot be used for
TLS client authentication.</t>
        </section>
        <section anchor="Re-enroll">
          <name>Simple Re-enrollment of Clients</name>
          <t>EST clients renew/rekey certificates with an HTTPS POST using the
operation path value of "/simplereenroll".</t>
          <t>A certificate request employs the same format as the
"simpleenroll" request, using the same HTTP content-type. The
request Subject field and SubjectAltName extension <bcp14>MUST</bcp14> be identical
to the corresponding fields in the certificate being
renewed/rekeyed. The ChangeSubjectName attribute, as defined in <xref target="RFC6402"/>, <bcp14>MAY</bcp14> be included in the CSR to request that
these fields be changed in the new certificate.</t>
          <t>If the Subject Public Key Info in the certification request is
the same as the current client certificate, then the EST server
renews the client certificate. If the public key information in the
certification request is different than the current client
certificate, then the EST server rekeys the client certificate.</t>
        </section>
        <section anchor="CertReqResponse">
          <name>Simple Enroll and Re-enroll Response</name>
          <t>If the enrollment is successful, the server response <bcp14>MUST</bcp14> contain
an HTTP 200 response code with a content-type of
"application/pkcs7-mime".</t>
          <t>A successful response <bcp14>MUST</bcp14> be a certs-only CMC Simple PKI
Response, as defined in <xref target="RFC5272"/>, containing only
the certificate that was issued. The HTTP content-type of
"application/pkcs7-mime" with an smime-type parameter "certs-only"
is used, as specified in <xref target="RFC5273"/>.</t>
          <t>The server <bcp14>MUST</bcp14> answer with a suitable 4xx or 5xx <xref target="RFC2616">HTTP</xref> error code when a problem
occurs. A Simple PKI Response with an HTTP content-type of
"application/pkcs7-mime" (see <xref target="FullCMCResp"/>) <bcp14>MAY</bcp14> be
included in the response data to convey an error response. If the
content-type is not set, the response data <bcp14>MUST</bcp14> be a plaintext
human-readable error message containing explanatory information
describing why the request was rejected (for example, indicating that
CSR attributes are incomplete).</t>
          <t>If the server responds with an HTTP <xref target="RFC2616"/> 202, this indicates that the
request has been accepted for processing but that a response is not yet
available. The server <bcp14>MUST</bcp14> include a Retry-After header as defined for HTTP
503 responses. The server also <bcp14>MAY</bcp14> include informative human-readable
content.
The client <bcp14>MUST</bcp14> wait at least the specified "retry-after" time before
repeating the same request. The client repeats the initial enrollment
request
after the appropriate "retry-after" interval has expired. The client <bcp14>SHOULD</bcp14>
log or inform the end-user of this event. The server is responsible for
maintaining all states necessary to recognize and handle retry operations
as
the client is stateless in this regard; it simply sends the same request
repeatedly until it receives a different response code. All other return
codes are handled as specified in HTTP <xref target="RFC2616"/>.</t>
          <t>If the client closes the TLS connections while waiting for the Retry-After
time to expire, then the client initiates a new TLS connection and performs
all applicable security checks. If the client has already generated a CSR
that includes linking identity and POP information (Section 3.5), then the
CSR will need to be recreated to incorporate the tls-unique from the new,
redirected session. Note: the key pair need not be regenerated. These are
processing and interface burdens on the client. EST server administrators
are advised to take this into consideration.</t>
          <t>The EST client <bcp14>MAY</bcp14> also make the certificate response, and
associated private key, available to end-entity software for use as
an end‑entity certificate.</t>
        </section>
      </section>
      <section anchor="FullCMC">
        <name>Full CMC</name>
        <t>An EST client can request a certificate from an EST server with an
HTTPS POST using the operation path value of "/fullcmc". Support for
the /fullcmc function is <bcp14>OPTIONAL</bcp14> for both clients and servers.</t>
        <section anchor="FullCMCReq">
          <name>Full CMC Request</name>
          <t>If the HTTP POST to /fullcmc is not a valid Full PKI Request, the
server <bcp14>MUST</bcp14> reject the message. The HTTP content-type used is
"application/pkcs7-mime" with an smime-type parameter "CMC-request",
as specified in <xref target="RFC5273"/>. The body of the message is
the binary value of the encoding of the PKI Request with a
Content‑Transfer‑Encoding of "base64" <xref target="RFC2045"/>.</t>
        </section>
        <section anchor="FullCMCResp">
          <name>Full CMC Response</name>
          <t>If the enrollment is successful, the server response <bcp14>MUST</bcp14> include
an HTTP 200 response code with a content-type of
"application/pkcs7-mime" as specified in <xref target="RFC5273"/>.
The response data includes either the Simple PKI Response with an
smime-type parameter of "certs-only" or the Full PKI Response with
an smime-type parameter "CMC-response", as specified in Section
3.2.1 of <xref target="RFC5751"/>. The body of the message is the
binary value of the encoding of the PKI Response with a
Content-Transfer-Encoding of "base64" <xref target="RFC2045"/>.</t>
          <t>When rejecting a request, the server <bcp14>MUST</bcp14> specify either an HTTP 4xx error
or an HTTP 5xx error. A CMC response with the content-type of
"application/pkcs7-mime" <bcp14>MUST</bcp14> be included in the response data for any
CMC error response.</t>
          <t>All other return codes are handled as specified in <xref target="CertReqResponse"/> or <xref target="RFC2616">HTTP</xref>.
For example, a client interprets an HTTP 404 or 501 response to
indicate that this service is not implemented.</t>
        </section>
      </section>
      <section anchor="ServerKeyGen">
        <name>Server-Side Key Generation</name>
        <t>An EST client may request a private key and associated certificate
from an EST server using an HTTPS POST with an operation path value of
"/serverkeygen". Support for the /serverkeygen function is
<bcp14>OPTIONAL</bcp14>.</t>
        <t>A client <bcp14>MUST</bcp14> authenticate an EST server, as specified in <xref target="TLSserverAuthC"/> if certificate-based authentication is used
or <xref target="TLSmutualAuth"/> if the optional certificate-less
authentication is used, and check the server's authorization as given
in <xref target="TLSserverAuthZ"/>.</t>
        <t>The EST server <bcp14>MUST</bcp14> authenticate the client, as specified in <xref target="TLSclientAuthC"/> if certificate-based authenticated is used
or <xref target="TLSmutualAuth"/> if the optional certificate-less
authentication is used, and check the client's authorization as given
in <xref target="ClientAuthorization"/>. The EST server applies
whatever authorization or logic it chooses to determine if the private
key and certificate should be provided.</t>
        <t>Cipher suites that have a NULL confidentiality algorithm <bcp14>MUST NOT</bcp14>
be used as they will disclose the contents of an unprotected private
key.</t>
        <t>Proper random number and key generation <xref target="RFC4086"/> is
a server implementation responsibility, and server archiving of
generated keys is determined by CA policy. The key pair and
certificate are transferred over the TLS session. The cipher suite
used to return the private key and certificate <bcp14>MUST</bcp14> offer
confidentiality commensurate with the private key being delivered to
the client.</t>
        <t>The EST client <bcp14>MAY</bcp14> request additional certificates even when using
an existing certificate in the TLS client authentication. For example,
the client can use an existing certificate for TLS client
authentication when requesting a certificate that cannot be used for
TLS client authentication.</t>
        <section anchor="ServerKeyGenReq">
          <name>Server-Side Key Generation Request</name>
          <t>The certificate request is HTTPS POSTed and is the same format as
for the "/simpleenroll" and "/simplereenroll" path extensions with
the same content-type and transfer encoding.</t>
          <t>In all respects, the server <bcp14>SHOULD</bcp14> treat the CSR as it would any
enroll or re-enroll CSR; the only distinction here is that the
server <bcp14>MUST</bcp14> ignore the public key values and signature in the CSR.
These are included in the request only to allow re-use of existing
codebases for generating and parsing such requests.</t>
          <t>If the client desires to receive the private key with encryption
that exists outside of and in addition to that of the TLS transport
used by EST or if server policy requires that the key be delivered
in such a form, the client <bcp14>MUST</bcp14> include an attribute in the CSR
indicating the encryption key to be used. Both symmetric and
asymmetric encryption are supported as described in the following
subsections. The client <bcp14>MUST</bcp14> also include an SMIMECapabilities
attribute (<xref target="RFC2633"/>, Section 2.5) in the CSR to
indicate the key encipherment algorithms the client is willing to
use.</t>
          <t>It is strongly <bcp14>RECOMMENDED</bcp14> that the clients request that the
returned private key be afforded the additional security of the
Cryptographic Message Syntax (CMS) EnvelopedData in addition to the
TLS-provided security to protect against unauthorized disclosure.</t>
          <section anchor="KeyGenSymmetric">
            <name>Requests for Symmetric Key Encryption of the Private Key</name>
            <t>To specify a symmetric encryption key to be used to encrypt the
server-generated private key, the client <bcp14>MUST</bcp14> include a
DecryptKeyIdentifier attribute (as defined in <xref section="2.2.5" sectionFormat="of" target="RFC4108"/>) specifying the identifier of the secret key to
be used by the server to encrypt the private key. While that
attribute was originally designated for specifying a firmware
encryption key, it exactly mirrors the requirements for specifying
a secret key to encrypt a private key. If the server does not have
a secret key matching the identifier specified by the client, the
request <bcp14>MUST</bcp14> be terminated and an error returned to the client.
Distribution of the key specified by the DecryptKeyIdentifier to
the key generator and the client is outside the scope of this
document.</t>
          </section>
          <section anchor="KeyGenAsymmetric">
            <name>Requests for Asymmetric Encryption of the Private Key</name>
            <t>To specify an asymmetric encryption key to be used to encrypt
the server-generated private key, the client <bcp14>MUST</bcp14> include an
AsymmetricDecryptKeyIdentifier attribute. The
AsymmetricDecryptKeyIdentifier attribute is defined as:</t>
            <artwork><![CDATA[
id-aa-asymmDecryptKeyID OBJECT IDENTIFIER ::= {
    id-aa 54 }
]]></artwork>
            <t>The asymmetric-decrypt-key-identifier attribute values have
ASN.1 type AsymmetricDecryptKeyIdentifier (where ASN.1 is defined in <xref target="X.680"/>)::</t>
            <artwork><![CDATA[
   AsymmetricDecryptKeyIdentifier ::= OCTET STRING
]]></artwork>
            <t>If the server does not have a public key matching the
identifier specified by the client, the request <bcp14>MUST</bcp14> be terminated
and an error returned to the client. Distribution of the key
specified by the AsymmetricDecryptKeyIdentifier to the key
generator and the client is outside the scope of this document. If
the key identified is bound to an X.509 certificate, then the key
<bcp14>MUST</bcp14> either explicitly support keyTransport or keyAgreement or its
use <bcp14>MUST</bcp14> be unrestricted.</t>
          </section>
        </section>
        <section anchor="ServerKeyGenResp">
          <name>Server-Side Key Generation Response</name>
          <t>If the request is successful, the server response <bcp14>MUST</bcp14> have an
HTTP 200 response code with a content-type of "multipart/mixed"
consisting of two parts: one part is the private key data and the
other part is the certificate data.</t>
          <t>The format in which the private key data part is returned is
dependent on whether the private key is being returned with
additional encryption on top of that provided by TLS.</t>
          <t>If additional encryption is not being employed, the private key
data <bcp14>MUST</bcp14> be placed in an "application/pkcs8". An
"application/pkcs8" part consists of the base64-encoded DER-encoded <xref target="X.690"/> PrivateKeyInfo with a Content-Transfer-Encoding of "base64" <xref target="RFC2045"/>.</t>
          <t>If additional encryption is being employed, the private key is
placed inside of a CMS SignedData. The SignedData is signed by the
party that generated the private key, which may or may not be the
EST server or the EST CA. The SignedData is further protected by
placing it inside of a CMS EnvelopedData, as described in Section 4
of <xref target="RFC5958"/>. The following list shows how the
EncryptedData is used, depending on the type of protection key
specified by the client.</t>
          <ul spacing="normal">
            <li>
              <t>If the client specified a symmetric encryption key to protect
the server-generated private key, the EnvelopedData content is
encrypted using the secret key identified in the request. The
EnvelopedData RecipientInfo field <bcp14>MUST</bcp14> indicate the key-encryption
kekri key management technique. The
values are as follows: version is set to 4, key-encryption key identifier
(kekid) is set to the value of
the DecryptKeyIdentifier from <xref target="KeyGenSymmetric"/>;
keyEncryptionAlgorithm is set to one of the key wrap algorithms
that the client included in the SMIMECapabilities accompanying
the request; and encryptedKey is the encrypted key.</t>
            </li>
            <li>
              <t>If the client specified an asymmetric encryption key suitable
for key transport operations to protect the server-generated
private key, the EnvelopedData content is encrypted using a
randomly generated symmetric encryption key. The cryptographic
strength of the symmetric encryption key <bcp14>SHOULD</bcp14> be equivalent to
the client-specified asymmetric key. The EnvelopedData
RecipientInfo field <bcp14>MUST</bcp14> indicate the
KeyTransRecipientInfo (ktri) key management technique. In
KeyTransRecipientInfo, the RecipientIdentifier (rid) is either the subjectKeyIdentifier
copied from the attribute defined in <xref target="KeyGenAsymmetric"/> or the server determines an
associated issuerAndSerialNumber from the attribute; version is
derived from the choice of rid <xref target="RFC5652"/>,
keyEncryptionAlgorithm is set to one of the key wrap algorithms
that the client included in the SMIMECapabilities accompanying
the request, and encryptedKey is the encrypted key.</t>
            </li>
            <li>
              <t>If the client specified an asymmetric encryption key suitable
for key agreement operations to protect the server-generated
private key, the EnvelopedData content is encrypted using a
randomly generated symmetric encryption key. The cryptographic
strength of the symmetric encryption key <bcp14>SHOULD</bcp14> be equivalent to
the client-specified asymmetric key. The EnvelopedData
RecipientInfo field <bcp14>MUST</bcp14> indicate the
KeyAgreeRecipientInfo (kari) key management technique. In the
KeyAgreeRecipientInfo type, version, originator, and user keying material
(ukm) are as
in <xref target="RFC5652"/>, and keyEncryptionAlgorithm is set to
one of the key wrap algorithms that the client included in the
SMIMECapabilities accompanying the request. The recipient's key
identifier is either copied from the attribute defined in <xref target="KeyGenAsymmetric"/> to subjectKeyIdentifier or the
server determines an IssuerAndSerialNumber that corresponds to
the value provided in the attribute.</t>
            </li>
          </ul>
          <t>In all three additional encryption cases, the EnvelopedData is
returned in the response as an "application/pkcs7-mime" part with
an smime-type parameter of "server-generated-key" and a
Content-Transfer-Encoding of "base64".</t>
          <t>The certificate data part is an "application/pkcs7-mime" and
exactly matches the certificate response to /simpleenroll.</t>
          <t>When rejecting a request, the server <bcp14>MUST</bcp14> specify either an HTTP
4xx error or an HTTP 5xx error. If the content-type is not set, the
response data <bcp14>MUST</bcp14> be a plaintext human-readable error message.</t>
        </section>
      </section>
      <section anchor="CSRAttrs">
        <name>CSR Attributes</name>
        <t>CA policy may allow inclusion of client-provided attributes in
certificates that it issues, and some of these attributes may describe
information that is not available to the CA. In addition, a CA may
desire to certify a certain type of public key and a client may not
have a priori knowledge of that fact. Therefore, clients <bcp14>SHOULD</bcp14>
request a list of expected attributes that are required, or desired,
by the CA in an enrollment request or if dictated by local
policy.</t>
        <t>The EST server <bcp14>SHOULD NOT</bcp14> require client authentication or
authorization to reply to this request.</t>
        <t>Requesting CSR attributes is optional, but clients are advised that
CAs may refuse enrollment requests that are not encoded according to
the CA's policy.</t>
        <section anchor="CSRAttrsReq">
          <name>CSR Attributes Request</name>
          <t>The EST client requests a list of CA-desired CSR attributes from
the CA by sending an HTTPS GET message to the EST server with an
operations path of "/csrattrs".</t>
        </section>
        <section anchor="CSRAttrsResp">
          <name>CSR Attributes Response</name>
          <t>If locally configured policy for an authenticated EST client
indicates a CSR Attributes Response is to be provided, the server
response <bcp14>MUST</bcp14> include an HTTP 200 response code. An HTTP response
code of 204 or 404 indicates that a CSR Attributes Response is not
available. Regardless of the response code, the EST server and CA
<bcp14>MAY</bcp14> reject any subsequent enrollment requests for any reason, e.g.,
incomplete CSR attributes in the request.</t>
          <t>Responses to attribute request messages <bcp14>MUST</bcp14> be encoded as the
content-type of "application/csrattrs" with a
Content‑Transfer‑Encoding of "base64" <xref target="RFC2045"/>. The
syntax for application/csrattrs body is as follows:</t>
          <artwork><![CDATA[
CsrAttrs ::= SEQUENCE SIZE (0..MAX) OF AttrOrOID

AttrOrOID ::= CHOICE (oid OBJECT IDENTIFIER, attribute Attribute }

Attribute { ATTRIBUTE:IOSet } ::= SEQUENCE {
     type   ATTRIBUTE.&id({IOSet}),
     values SET SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{@type}) }
]]></artwork>
          <t>An EST server includes zero or more OIDs or attributes <xref target="RFC2986"/> that it requests the client to
use in the certification request. The client <bcp14>MUST</bcp14> ignore
any OID or attribute it does not recognize. When the
server encodes CSR Attributes as an empty SEQUENCE, it means
that the server has no specific additional information it
desires in a client certification request (this is functionally
equivalent to an HTTP response code of 204 or 404).</t>
          <t>If the CA requires a particular crypto system or use of a
particular signature scheme (e.g., certification of a public
key based on a certain elliptic curve, or signing using a
certain hash algorithm) it <bcp14>MUST</bcp14> provide that information in
the CSR Attribute Response. If an EST
server requires the linking of identity and POP information (see <xref target="IdentityLinkedPOP"/>), it <bcp14>MUST</bcp14> include the
challengePassword OID in the CSR Attributes Response.</t>
          <t>The structure of the CSR Attributes Response <bcp14>SHOULD</bcp14>, to the
greatest extent possible, reflect the structure of the CSR it
is requesting. Requests to use a particular signature scheme
(e.g. using a particular hash function) are represented
as an OID to be reflected in the SignatureAlgorithm of the CSR.
Requests to use a particular crypto system (e.g., certification
of a public key based on a certain elliptic curve) are
represented as an attribute, to be reflected as the
AlgorithmIdentifier of the SubjectPublicKeyInfo, with a type
indicating the algorithm and the values indicating the particular
parameters specific to the algorithm. Requests for
descriptive information from the client are made by
an attribute, to be represented as Attributes of the CSR, with
a type indicating the <xref target="RFC2985"/> extensionRequest
and the values indicating the particular attributes desired to
be included in the resulting certificate's extensions.</t>
          <t>The sequence is Distinguished Encoding Rules (DER) encoded <xref target="X.690"/> and then
base64 encoded (<xref section="4" sectionFormat="of" target="RFC4648"/>). The
resulting text forms the application/csrattr body, without headers.</t>
          <t>For example, if a CA requests a client to submit a certification
request containing the challengePassword (indicating that linking
of identity and POP information is requested; see <xref target="IdentityLinkedPOP"/>), an extensionRequest with
the Media Access Control (MAC) address (<xref target="RFC2307"/>)
of the client, and to use the secp384r1 elliptic curve and to
sign with the SHA384 hash function. Then, it takes the following:</t>
          <artwork><![CDATA[
      OID:        challengePassword (1.2.840.113549.1.9.7)

      Attribute:  type = extensionRequest (1.2.840.113549.1.9.14)
                  value = macAddress (1.3.6.1.1.1.1.22)

      Attribute:  type = id-ecPublicKey (1.2.840.10045.2.1)
                  value = secp384r1 (1.3.132.0.34)

      OID:        ecdsaWithSHA384 (1.2.840.10045.4.3.3)
]]></artwork>
          <t>and encodes them into an ASN.1 SEQUENCE to produce:</t>
          <artwork><![CDATA[
    30 41 06 09 2a 86 48 86 f7 0d 01 09 07 30 12 06 07 2a 86 48 ce 3d
    02 01 31 07 06 05 2b 81 04 00 22 30 16 06 09 2a 86 48 86 f7 0d 01
    09 0e 31 09 06 07 2b 06 01 01 01 01 16 06 08 2a 86 48 ce 3d 04 03
    03
]]></artwork>
          <t>and then base64 encodes the resulting ASN.1 SEQUENCE to
produce:</t>
          <artwork><![CDATA[
    MEEGCSqGSIb3DQEJBzASBgcqhkjOPQIBMQcGBSuBBAAiMBYGCSqGSIb3DQEJDjEJ
    BgcrBgEBAQEWBggqhkjOPQQDAw==
]]></artwork>
        </section>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t><xref target="KeyGenAsymmetric"/> defines an OID that has been registered
in an arc delegated by the IANA to the PKIX working group.</t>
      <t>IANA has registered the following:</t>
      <t>IANA updated the well-known URI registry with the following
filled-in template from <xref target="RFC5785"/>.</t>
      <ul empty="true">
        <li>
          <t>URI suffix: est<br/>
Change controller: IETF</t>
        </li>
      </ul>
      <t>IANA has updated the "Application Media Types" registry with the
following filled-in templates from <xref target="RFC6838"/>.</t>
      <t>The media subtype for CSR attributes in a CSR Attributes Response is
application/csrattrs.</t>
      <ul empty="true">
        <li>
          <t>Type name: application</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Subtype name: csrattrs</t>
          <ul empty="true">
            <li>
              <t>Required parameters: None<br/>
Optional parameters: None</t>
            </li>
          </ul>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Encoding considerations: binary;</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Security Considerations:</t>
          <ul empty="true">
            <li>
              <t>Clients request a list of attributes that servers wish to be in
   certification requests. The request/response is normally done in a
   TLS-protected tunnel.</t>
            </li>
          </ul>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Interoperability considerations: None</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Published specification: This memo.</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Applications which use this media type: Enrollment over Secure Transport (EST)</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Additional information:</t>
          <ul empty="true">
            <li>
              <t>Magic number(s): None<br/>
File extension: .csrattrs</t>
            </li>
          </ul>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Person &amp; email address to contact for further
information:
Dan Harkins &lt;dharkins@arubanetworks.com&gt;</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Restrictions on usage: None</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Author: Dan Harkins &lt;dharkins@arubanetworks.com&gt;</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Intended usage: COMMON</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Change controller: The IESG &lt;iesg@ietf.org&gt;</t>
        </li>
      </ul>
      <t>The application/pkcs7-mime content-type defines the optional
"smime‑type" parameter <xref target="RFC5751"/> with a set
of specific values. This document adds another value, "server-generated-key",
as the parameter value for Server-side Key Generation Response.</t>
    </section>
    <section anchor="SecurityConsiderations">
      <name>Security Considerations</name>
      <t>Support for Basic authentication, as specified in <xref target="RFC2617">HTTP</xref>, allows the server access
to a client's cleartext password. This provides support for legacy
username/password databases but requires exposing the plaintext password
to the EST server. Use of a PIN or one-time password can help mitigate
such exposure, but it is <bcp14>RECOMMENDED</bcp14> that EST clients use such
credentials only once to obtain a client certificate (that will be used
during future interactions with the EST server).</t>
      <t>When a client uses the Implicit TA database for certificate
validation (see <xref target="ProtocolDesignandLayering"/>), then
authorization proceeds as specified in <xref target="ClientITA"/>. In
this situation, the client has validated the server as being a responder
that is
certified by a third party for the URI configured, but it cannot
verify that the responder is authorized to act as an RA for the PKI in
which the client is trying to enroll. Clients using an Implicit Trust
Anchor database are <bcp14>RECOMMENDED</bcp14> to use only TLS-based client
authentication (to prevent exposing HTTP‑based client authentication
information). It is <bcp14>RECOMMENDED</bcp14> that such clients include "Linking
Identity and POP Information" (<xref target="IdentityLinkedPOP"/>) in
requests (to prevent such requests from being forwarded to a real EST
server by a man in the middle). It is <bcp14>RECOMMENDED</bcp14> that the Implicit Trust
Anchor
database used for EST server authentication be carefully managed to
reduce the chance of a third-party CA with poor certification practices
from being trusted. Disabling the Implicit Trust Anchor database after
successfully receiving the Distribution of CA certificates response
(<xref target="CACertsResp"/>) limits any vulnerability to the first TLS
exchange.</t>
      <t>Certificate-less TLS cipher suites that maintain security and perform
the mutual authentication necessary for enrollment have the following
properties:</t>
      <ul spacing="normal">
        <li>
          <t>the only information leaked by an active attack is whether or not a
single guess of the secret is correct.</t>
        </li>
        <li>
          <t>any advantage an adversary gains is through interaction and not
computation.</t>
        </li>
        <li>
          <t>it is possible to perform countermeasures, such as exponential
backoff after a certain number of failed attempts, to frustrate
repeated active attacks.</t>
        </li>
      </ul>
      <t>Using a certificate-less cipher suite that does not have the
properties listed above would render the results of enrollment void and
potentially result in certificates being issued to unauthenticated
and/or unauthorized entities.</t>
      <t>When using a certificate-less TLS cipher suite, the shared secret
used for authentication and authorization cannot be shared with an
entity that is not a party to the exchange: someone other than the
client and the server. Any additional sharing of secrets voids the
security afforded by a certificate-less cipher suite. Exposure of a
shared secret used by a certificate-less cipher suite to a third party
enables client impersonation that can result in corruption of a
client's trust anchor database.</t>
      <t>TLS cipher suites that include "<em>EXPORT</em>" and "<em>DES</em>" in their names
<bcp14>MUST NOT</bcp14> be used. These ciphers do not offer a sufficient level of
protection; 40-bit crypto in 2013 doesn't offer acceptable protection,
and the use of DES is deprecated.</t>
      <t>As described in CMC, <xref section="6.7" sectionFormat="of" target="RFC5272"/>, "For keys that can be
used as signature keys, signing the certification request with the
private key serves as a POP on that key pair".
The inclusion of tls-unique within the certification request
links the proof-of-possession to the TLS proof-of-identity by enforcing
that the POP operation occurred while the TLS session was active. This
implies to the server that the authenticated client currently has access
to the private key. If the authenticated client is known to have
specific capabilities, such as hardware protection for authentication
credentials and key storage, this implication is strengthened but not
proven.</t>
      <t>The server-side key generation method allows keys to be transported
over the TLS connection to the client without any application-layer
protection. The distribution of private key material is inherently
risky. Private key distribution uses the encryption mode of the
negotiated TLS cipher suite. Keys are not protected by preferred key
wrapping methods such as <xref target="RFC3394">AES Key Wrap</xref> or
as specified in <xref target="RFC5958"/> as encryption of the private
key beyond that provided by TLS is optional. It is <bcp14>RECOMMENDED</bcp14> that EST
servers not support this operation by default. It is <bcp14>RECOMMENDED</bcp14> that
clients not request this service unless there is a compelling
operational benefit. Use of an Implicit Trust Anchor database is <bcp14>NOT
RECOMMENDED</bcp14> when server‑side key generation is employed. The use of an
encrypted CMS Server‑Side Key Generation Response is <bcp14>RECOMMENDED</bcp14>.</t>
      <t>Regarding the CSR attributes that the CA may list for inclusion in an
enrollment request, there are no real inherent security issues with the
content being conveyed, but an adversary who is able to interpose herself
into the conversation could exclude attributes that a server may want,
include attributes that a server may not want, and render meaningless
other attributes that a server may want.</t>
      <t>ASN.1 encoding rules (e.g., DER and BER) have a type-length-value
structure, and it is easy to construct malicious content with invalid
length fields that can cause buffer overrun conditions. ASN.1 encoding
rules allow for arbitrary levels of nesting, which may make it possible
to construct malicious content that will cause a stack overflow.
Interpreters of ASN.1 structures should be aware of these issues and
should take appropriate measures to guard against buffer overflows and
stack overruns in particular, and malicious content in general.</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="RFC2585">
          <front>
            <title>Internet X.509 Public Key Infrastructure Operational Protocols: FTP and HTTP</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="May" year="1999"/>
            <abstract>
              <t>The protocol conventions described in this document satisfy some of the operational requirements of the Internet Public Key Infrastructure (PKI). This document specifies the conventions for using the File Transfer Protocol (FTP) and the Hypertext Transfer Protocol (HTTP) to obtain certificates and certificate revocation lists (CRLs) from PKI repositories. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2585"/>
          <seriesInfo name="DOI" value="10.17487/RFC2585"/>
        </reference>
        <reference anchor="RFC2616">
          <front>
            <title>Hypertext Transfer Protocol -- HTTP/1.1</title>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="J. Gettys" initials="J." surname="Gettys"/>
            <author fullname="J. Mogul" initials="J." surname="Mogul"/>
            <author fullname="H. Frystyk" initials="H." surname="Frystyk"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <author fullname="P. Leach" initials="P." surname="Leach"/>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <date month="June" year="1999"/>
            <abstract>
              <t>HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification defines the protocol referred to as "HTTP/1.1", and is an update to RFC 2068. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2616"/>
          <seriesInfo name="DOI" value="10.17487/RFC2616"/>
        </reference>
        <reference anchor="RFC2617">
          <front>
            <title>HTTP Authentication: Basic and Digest Access Authentication</title>
            <author fullname="J. Franks" initials="J." surname="Franks"/>
            <author fullname="P. Hallam-Baker" initials="P." surname="Hallam-Baker"/>
            <author fullname="J. Hostetler" initials="J." surname="Hostetler"/>
            <author fullname="S. Lawrence" initials="S." surname="Lawrence"/>
            <author fullname="P. Leach" initials="P." surname="Leach"/>
            <author fullname="A. Luotonen" initials="A." surname="Luotonen"/>
            <author fullname="L. Stewart" initials="L." surname="Stewart"/>
            <date month="June" year="1999"/>
            <abstract>
              <t>This document provides the specification for HTTP's authentication framework, the original Basic authentication scheme and a scheme based on cryptographic hashes, referred to as "Digest Access Authentication". [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2617"/>
          <seriesInfo name="DOI" value="10.17487/RFC2617"/>
        </reference>
        <reference anchor="RFC2633">
          <front>
            <title>S/MIME Version 3 Message Specification</title>
            <author fullname="B. Ramsdell" initials="B." role="editor" surname="Ramsdell"/>
            <date month="June" year="1999"/>
            <abstract>
              <t>This document describes a protocol for adding cryptographic signature and encryption services to MIME data. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2633"/>
          <seriesInfo name="DOI" value="10.17487/RFC2633"/>
        </reference>
        <reference anchor="RFC2986">
          <front>
            <title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
            <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <date month="November" year="2000"/>
            <abstract>
              <t>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="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="RFC4086">
          <front>
            <title>Randomness Requirements for Security</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="J. Schiller" initials="J." surname="Schiller"/>
            <author fullname="S. Crocker" initials="S." surname="Crocker"/>
            <date month="June" year="2005"/>
            <abstract>
              <t>Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
              <t>Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. 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="106"/>
          <seriesInfo name="RFC" value="4086"/>
          <seriesInfo name="DOI" value="10.17487/RFC4086"/>
        </reference>
        <reference anchor="RFC4108">
          <front>
            <title>Using Cryptographic Message Syntax (CMS) to Protect Firmware Packages</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="August" year="2005"/>
            <abstract>
              <t>This document describes the use of the Cryptographic Message Syntax (CMS) to protect firmware packages, which provide object code for one or more hardware module components. CMS is specified in RFC 3852. A digital signature is used to protect the firmware package from undetected modification and to provide data origin authentication. Encryption is optionally used to protect the firmware package from disclosure, and compression is optionally used to reduce the size of the protected firmware package. A firmware package loading receipt can optionally be generated to acknowledge the successful loading of a firmware package. Similarly, a firmware package load error report can optionally be generated to convey the failure to load a firmware package. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4108"/>
          <seriesInfo name="DOI" value="10.17487/RFC4108"/>
        </reference>
        <reference anchor="RFC4210">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Management Protocol (CMP)</title>
            <author fullname="C. Adams" initials="C." surname="Adams"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="T. Kause" initials="T." surname="Kause"/>
            <author fullname="T. Mononen" initials="T." surname="Mononen"/>
            <date month="September" year="2005"/>
            <abstract>
              <t>This document describes the Internet X.509 Public Key Infrastructure (PKI) Certificate Management Protocol (CMP). Protocol messages are defined for X.509v3 certificate creation and management. CMP provides on-line interactions between PKI components, including an exchange between a Certification Authority (CA) and a client system. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4210"/>
          <seriesInfo name="DOI" value="10.17487/RFC4210"/>
        </reference>
        <reference anchor="RFC4346">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.1</title>
            <author fullname="T. Dierks" initials="T." surname="Dierks"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="April" year="2006"/>
            <abstract>
              <t>This document specifies Version 1.1 of the Transport Layer Security (TLS) protocol. The TLS protocol provides communications security over the Internet. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4346"/>
          <seriesInfo name="DOI" value="10.17487/RFC4346"/>
        </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="RFC5077">
          <front>
            <title>Transport Layer Security (TLS) Session Resumption without Server-Side State</title>
            <author fullname="J. Salowey" initials="J." surname="Salowey"/>
            <author fullname="H. Zhou" initials="H." surname="Zhou"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="January" year="2008"/>
            <abstract>
              <t>This document describes a mechanism that enables the Transport Layer Security (TLS) server to resume sessions and avoid keeping per-client session state. The TLS server encapsulates the session state into a ticket and forwards it to the client. The client can subsequently resume a session using the obtained ticket. This document obsoletes RFC 4507. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5077"/>
          <seriesInfo name="DOI" value="10.17487/RFC5077"/>
        </reference>
        <reference anchor="RFC5246">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.2</title>
            <author fullname="T. Dierks" initials="T." surname="Dierks"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2008"/>
            <abstract>
              <t>This document specifies Version 1.2 of the Transport Layer Security (TLS) protocol. The TLS protocol provides communications security over the Internet. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5246"/>
          <seriesInfo name="DOI" value="10.17487/RFC5246"/>
        </reference>
        <reference anchor="RFC5272">
          <front>
            <title>Certificate Management over CMS (CMC)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="M. Myers" initials="M." surname="Myers"/>
            <date month="June" year="2008"/>
            <abstract>
              <t>This document defines the base syntax for CMC, a Certificate Management protocol using the Cryptographic Message Syntax (CMS). This protocol addresses two immediate needs within the Internet Public Key Infrastructure (PKI) community:</t>
              <t>1. The need for an interface to public key certification products and services based on CMS and PKCS #10 (Public Key Cryptography Standard), and</t>
              <t>2. The need for a PKI enrollment protocol for encryption only keys due to algorithm or hardware design.</t>
              <t>CMC also requires the use of the transport document and the requirements usage document along with this document for a full definition. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5272"/>
          <seriesInfo name="DOI" value="10.17487/RFC5272"/>
        </reference>
        <reference anchor="RFC5273">
          <front>
            <title>Certificate Management over CMS (CMC): Transport Protocols</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="M. Myers" initials="M." surname="Myers"/>
            <date month="June" year="2008"/>
            <abstract>
              <t>This document defines a number of transport mechanisms that are used to move CMC (Certificate Management over CMS (Cryptographic Message Syntax)) messages. The transport mechanisms described in this document are HTTP, file, mail, and TCP. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5273"/>
          <seriesInfo name="DOI" value="10.17487/RFC5273"/>
        </reference>
        <reference anchor="RFC5274">
          <front>
            <title>Certificate Management Messages over CMS (CMC): Compliance Requirements</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="M. Myers" initials="M." surname="Myers"/>
            <date month="June" year="2008"/>
            <abstract>
              <t>This document provides a set of compliance statements about the CMC (Certificate Management over CMS) enrollment protocol. The ASN.1 structures and the transport mechanisms for the CMC enrollment protocol are covered in other documents. This document provides the information needed to make a compliant version of CMC. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5274"/>
          <seriesInfo name="DOI" value="10.17487/RFC5274"/>
        </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="RFC5652">
          <front>
            <title>Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="September" year="2009"/>
            <abstract>
              <t>This document describes the Cryptographic Message Syntax (CMS). This syntax is used to digitally sign, digest, authenticate, or encrypt arbitrary message content. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="70"/>
          <seriesInfo name="RFC" value="5652"/>
          <seriesInfo name="DOI" value="10.17487/RFC5652"/>
        </reference>
        <reference anchor="RFC5746">
          <front>
            <title>Transport Layer Security (TLS) Renegotiation Indication Extension</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="M. Ray" initials="M." surname="Ray"/>
            <author fullname="S. Dispensa" initials="S." surname="Dispensa"/>
            <author fullname="N. Oskov" initials="N." surname="Oskov"/>
            <date month="February" year="2010"/>
            <abstract>
              <t>Secure Socket Layer (SSL) and Transport Layer Security (TLS) renegotiation are vulnerable to an attack in which the attacker forms a TLS connection with the target server, injects content of his choice, and then splices in a new TLS connection from a client. The server treats the client's initial TLS handshake as a renegotiation and thus believes that the initial data transmitted by the attacker is from the same entity as the subsequent client data. This specification defines a TLS extension to cryptographically tie renegotiations to the TLS connections they are being performed over, thus preventing this attack. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5746"/>
          <seriesInfo name="DOI" value="10.17487/RFC5746"/>
        </reference>
        <reference anchor="RFC5751">
          <front>
            <title>Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.2 Message Specification</title>
            <author fullname="B. Ramsdell" initials="B." surname="Ramsdell"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="January" year="2010"/>
            <abstract>
              <t>This document defines Secure/Multipurpose Internet Mail Extensions (S/MIME) version 3.2. 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 3851. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5751"/>
          <seriesInfo name="DOI" value="10.17487/RFC5751"/>
        </reference>
        <reference anchor="RFC5785">
          <front>
            <title>Defining Well-Known Uniform Resource Identifiers (URIs)</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="E. Hammer-Lahav" initials="E." surname="Hammer-Lahav"/>
            <date month="April" year="2010"/>
            <abstract>
              <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5785"/>
          <seriesInfo name="DOI" value="10.17487/RFC5785"/>
        </reference>
        <reference anchor="RFC5929">
          <front>
            <title>Channel Bindings for TLS</title>
            <author fullname="J. Altman" initials="J." surname="Altman"/>
            <author fullname="N. Williams" initials="N." surname="Williams"/>
            <author fullname="L. Zhu" initials="L." surname="Zhu"/>
            <date month="July" year="2010"/>
            <abstract>
              <t>This document defines three channel binding types for Transport Layer Security (TLS), tls-unique, tls-server-end-point, and tls-unique-for-telnet, in accordance with RFC 5056 (On Channel Binding).</t>
              <t>Note that based on implementation experience, this document changes the original definition of 'tls-unique' channel binding type in the channel binding type IANA registry. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5929"/>
          <seriesInfo name="DOI" value="10.17487/RFC5929"/>
        </reference>
        <reference anchor="RFC5958">
          <front>
            <title>Asymmetric Key Packages</title>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="August" year="2010"/>
            <abstract>
              <t>This document defines the syntax for private-key information and a content type for it. Private-key information includes a private key for a specified public-key algorithm and a set of attributes. The Cryptographic Message Syntax (CMS), as defined in RFC 5652, can be used to digitally sign, digest, authenticate, or encrypt the asymmetric key format content type. This document obsoletes RFC 5208. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5958"/>
          <seriesInfo name="DOI" value="10.17487/RFC5958"/>
        </reference>
        <reference anchor="RFC6066">
          <front>
            <title>Transport Layer Security (TLS) Extensions: Extension Definitions</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <date month="January" year="2011"/>
            <abstract>
              <t>This document provides specifications for existing TLS extensions. It is a companion document for RFC 5246, "The Transport Layer Security (TLS) Protocol Version 1.2". The extensions specified are server_name, max_fragment_length, client_certificate_url, trusted_ca_keys, truncated_hmac, and status_request. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6066"/>
          <seriesInfo name="DOI" value="10.17487/RFC6066"/>
        </reference>
        <reference anchor="RFC6125">
          <front>
            <title>Representation and Verification of Domain-Based Application Service Identity within Internet Public Key Infrastructure Using X.509 (PKIX) Certificates in the Context of Transport Layer Security (TLS)</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="J. Hodges" initials="J." surname="Hodges"/>
            <date month="March" year="2011"/>
            <abstract>
              <t>Many application technologies enable secure communication between two entities by means of Internet Public Key Infrastructure Using X.509 (PKIX) certificates in the context of Transport Layer Security (TLS). This document specifies procedures for representing and verifying the identity of application services in such interactions. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6125"/>
          <seriesInfo name="DOI" value="10.17487/RFC6125"/>
        </reference>
        <reference anchor="RFC6402">
          <front>
            <title>Certificate Management over CMS (CMC) Updates</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="November" year="2011"/>
            <abstract>
              <t>This document contains a set of updates to the base syntax for CMC, a Certificate Management protocol using the Cryptographic Message Syntax (CMS). This document updates RFC 5272, RFC 5273, and RFC 5274.</t>
              <t>The new items in this document are: new controls for future work in doing server side key generation, definition of a Subject Information Access value to identify CMC servers, and the registration of a port number for TCP/IP for the CMC service to run on. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6402"/>
          <seriesInfo name="DOI" value="10.17487/RFC6402"/>
        </reference>
        <reference anchor="RFC6454">
          <front>
            <title>The Web Origin Concept</title>
            <author fullname="A. Barth" initials="A." surname="Barth"/>
            <date month="December" year="2011"/>
            <abstract>
              <t>This document defines the concept of an "origin", which is often used as the scope of authority or privilege by user agents. Typically, user agents isolate content retrieved from different origins to prevent malicious web site operators from interfering with the operation of benign web sites. In addition to outlining the principles that underlie the concept of origin, this document details how to determine the origin of a URI and how to serialize an origin into a string. It also defines an HTTP header field, named "Origin", that indicates which origins are associated with an HTTP request. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6454"/>
          <seriesInfo name="DOI" value="10.17487/RFC6454"/>
        </reference>
        <reference anchor="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
        <reference anchor="X.680" target="http://www.itu.int/rec/T-REC-X.680-200811-I/en">
          <front>
            <title>Abstract Syntax Notation One (ASN.1): Specification of basic notation</title>
            <author>
              <organization abbrev="ITU-T">ITU-T Recommendation X.680 (2008) | ISO/IEC 8824-1:2008</organization>
            </author>
            <date year="2008" month="November"/>
          </front>
        </reference>
        <reference anchor="X.690" target="http://www.itu.int/rec/T-REC-X.690-200811-I/en">
          <front>
            <title>ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization abbrev="ITU-T">ITU-T Recommendation X.690 (2008) | ISO/IEC 8825-1:2008</organization>
            </author>
            <date year="2008" month="November"/>
          </front>
        </reference>
        <referencegroup anchor="BCP14" target="https://www.rfc-editor.org/info/bcp14">
          <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/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" target="https://www.rfc-editor.org/info/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>
        </referencegroup>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC2307">
          <front>
            <title>An Approach for Using LDAP as a Network Information Service</title>
            <author fullname="L. Howard" initials="L." surname="Howard"/>
            <date month="March" year="1998"/>
            <abstract>
              <t>This document describes an experimental mechanism for mapping entities related to TCP/IP and the UNIX system into X.500 entries so that they may be resolved with the Lightweight Directory Access Protocol [RFC2251]. This memo defines an Experimental Protocol for the Internet community. It does not specify an Internet standard of any kind. Discussion and suggestions for improvement are requested.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2307"/>
          <seriesInfo name="DOI" value="10.17487/RFC2307"/>
        </reference>
        <reference anchor="RFC2818">
          <front>
            <title>HTTP Over TLS</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="May" year="2000"/>
            <abstract>
              <t>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">
          <front>
            <title>PKCS #9: Selected Object Classes and Attribute Types Version 2.0</title>
            <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <date month="November" year="2000"/>
            <abstract>
              <t>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="RFC3394">
          <front>
            <title>Advanced Encryption Standard (AES) Key Wrap Algorithm</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="October" year="2002"/>
            <abstract>
              <t>The purpose of this document is to make the AES Key Wrap algorithm 
conveniently available to the Internet community. The United States 
of America has adopted AES as the new encryption standard. The AES 
Key Wrap algorithm will probably be adopted by the USA for 
encryption of AES keys. The authors took most of the text in this 
document from the draft AES Key Wrap posted by NIST.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3394"/>
          <seriesInfo name="DOI" value="10.17487/RFC3394"/>
        </reference>
        <reference anchor="RFC5054">
          <front>
            <title>Using the Secure Remote Password (SRP) Protocol for TLS Authentication</title>
            <author fullname="D. Taylor" initials="D." surname="Taylor"/>
            <author fullname="T. Wu" initials="T." surname="Wu"/>
            <author fullname="N. Mavrogiannopoulos" initials="N." surname="Mavrogiannopoulos"/>
            <author fullname="T. Perrin" initials="T." surname="Perrin"/>
            <date month="November" year="2007"/>
            <abstract>
              <t>This memo presents a technique for using the Secure Remote Password protocol as an authentication method for the Transport Layer Security protocol. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5054"/>
          <seriesInfo name="DOI" value="10.17487/RFC5054"/>
        </reference>
        <reference anchor="RFC5967">
          <front>
            <title>The application/pkcs10 Media Type</title>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="August" year="2010"/>
            <abstract>
              <t>This document specifies a media type used to carry PKCS #10 certification requests as defined in RFC 2986. It carries over the original specification from RFC 2311, which recently has been moved to Historic status, and properly links it to RFC 2986. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5967"/>
          <seriesInfo name="DOI" value="10.17487/RFC5967"/>
        </reference>
        <reference anchor="RFC6403">
          <front>
            <title>Suite B Profile of Certificate Management over CMS</title>
            <author fullname="L. Zieglar" initials="L." surname="Zieglar"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="M. Peck" initials="M." surname="Peck"/>
            <date month="November" year="2011"/>
            <abstract>
              <t>The United States government has published guidelines for "NSA Suite\0B Cryptography", which defines cryptographic algorithm policy for national security applications. This document specifies a profile of the Certificate Management over CMS (CMC) protocol for managing Suite B X.509 public key certificates. This profile is a refinement of RFCs 5272, 5273, and 5274. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6403"/>
          <seriesInfo name="DOI" value="10.17487/RFC6403"/>
        </reference>
        <reference anchor="SHS" target="http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf">
          <front>
            <title>Secure Hash Standard (SHS)</title>
            <author>
              <organization abbrev="NIST">National Institute of Standards and Technology</organization>
            </author>
            <date year="2012" month="March"/>
          </front>
          <seriesInfo name="Federal Information Processing Standard Publication" value="180-4"/>
        </reference>
        <reference anchor="IDevID" target="http://standards.ieee.org/findstds/standard/802.1AR-2009.html">
          <front>
            <title>IEEE 802.1AR Secure Device Identifier</title>
            <author>
              <organization abbrev="IEEE">IEEE Standards Association</organization>
            </author>
            <date year="2009" month="December"/>
          </front>
        </reference>
        <reference anchor="SP-800-57-Part-1" target="http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57_part1_rev3_general.pdf">
          <front>
            <title>Recommendation for Key Management - Part 1: General (Revision 3)</title>
            <author>
              <organization abbrev="NIST">National Institute of Standards and Technology</organization>
            </author>
            <date year="2012" month="July"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 1950?>

<section anchor="operational-scenario-example-messages">
      <name>Operational Scenario Example Messages</name>
      <t>(Informative)</t>
      <t>This section expands on the Operational Scenario Overviews by
providing detailed examples of the messages at each TLS layer.</t>
      <section anchor="obtaining-ca-certificates">
        <name>Obtaining CA Certificates</name>
        <t>The following is an example of a valid /cacerts exchange.</t>
        <t>During the initial TLS handshake, the client can ignore the optional
server-generated "certificate request" and can instead proceed with
the HTTP GET request:</t>
        <artwork><![CDATA[
GET /.well-known/est/cacerts HTTP/1.1
User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/7.22.0 OpenS
SL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
Host: 192.0.2.1:8085
Accept: */*
]]></artwork>
        <t>In response, the server provides the current CA certificates:</t>
        <artwork><![CDATA[
HTTP/1.1 200 OK
Status: 200 OK
Content-Type: application/pkcs7-mime
Content-Transfer-Encoding: base64
Content-Length: 4246

MIIMOQYJKoZIhvcNAQcCoIIMKjCCDCYCAQExADALBgkqhkiG9w0BBwGgggwMMIIC
+zCCAeOgAwIBAgIJAJpY3nUZO3qcMA0GCSqGSIb3DQEBBQUAMBsxGTAXBgNVBAMT
EGVzdEV4YW1wbGVDQSBPd08wHhcNMTMwNTA5MDM1MzMxWhcNMTQwNTA5MDM1MzMx
WjAbMRkwFwYDVQQDExBlc3RFeGFtcGxlQ0EgT3dPMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEAwDqpiHopaICubpRqbpEN7LqTIqWELFIA9qDDheHIKuyO
HW/ZAP7Rl4S5ZU6gaLW/ksseBUxdmox3KNyvtyjehIofTu28eZWhgy6/LCEGWR3P
K+fgPBA0l0JfJR/8oeXZa70oLVQc3hI4kCeqjFMs+biYH0vp/RluhftyZ5kzQyH1
EGsRkw1/qUKkTZ8PCF8VFlYfqmUoqsaRTyZbjII4J+Y6/jEG+p7QreW9zcz4sPe8
3c/uhwMLOWQkZtKsQtgo5CpfYMjuAmk4Q2joQq2vcxlc+WNKHf+wbrDb11ORZril
9ISlI94oumcRz3uBG1Yg7z83hdDfasmdfbp8gOSNFQIDAQABo0IwQDAPBgNVHRMB
Af8EBTADAQH/MB0GA1UdDgQWBBQITTKxMqATXrfc4ffpCIbt6Gsz0jAOBgNVHQ8B
Af8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBACPnQPu5WReUGuCMS0nBOGa2tXh6
uZP4mS3J1qEfDePam/IiU9ssyYdcDwhVvKMoP4gI/yu4XFqhdpIoy/PyD4T15MT7
KADCxXkh5rM1IqMui7FvBKLWYGdy9sjEf90wAkBjHBe/TMO1NNw3uELyONSkHIvo
X0pu6aPmm/moIMyGi46niFse1iWlXXldGLkOQsh0e7U+wpBX07QpOr2KB2+Yf+uA
KY1SWzEG23bUxXlvcbUMgANDGj5r6z+niKL0VlApip/iCuVEEOcZ91UlmJjVLQWA
x6ie+v84oM+pIojiGM0C4XWcVlKKEgcMOsN3S4lvm8Ptpq0GLoIJY8NTD20wggMD
MIIB66ADAgECAgEBMA0GCSqGSIb3DQEBBQUAMBsxGTAXBgNVBAMTEGVzdEV4YW1w
bGVDQSBPd08wHhcNMTMwNTA5MDM1MzMyWhcNMTQwNTA5MDM1MzMyWjAbMRkwFwYD
VQQDExBlc3RFeGFtcGxlQ0EgTndPMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAnn3rZ3rMJHwf7MD9K4mubxHAvtdnrsQf5OfgtMhRIL4aePNhAdgPyj8C
loxOgD3UTV+dQ1ViOzVxPN7acikoOnkIdRpjpOpkyMo+KkvHMQXGnQTbsMAv1qWt
9S12DMpo0GOA1e4Ge3ud5YPOTR/q6PvjN51IEwYKksG7CglwZwB+5JbwhYr2D/0u
btGltriRVixPWrvt+wz/ITp5rcjh/8RS3LE8tQy3kTNhJF3Y/esR2sSgOiPNgIto
CATysbaINEPr4MemqML4tDpR/aG9y+8Qe7s1LyMFvDletp2mmBykAC/7nOat/pwU
lB0sN524D1XAgz8ZKvWrkh+ZaOr3hwIDAQABo1IwUDAOBgNVHQ8BAf8EBAMCBLAw
HQYDVR0OBBYEFLHEaeZbowSn2Jejizu/uWqyMkI8MB8GA1UdIwQYMBaAFAhNMrEy
oBNet9zh9+kIhu3oazPSMA0GCSqGSIb3DQEBBQUAA4IBAQCLDkL7aLNV6hSOkIqH
q+shV9YLO56/tj00vY/jV5skgDHk5d0B+OGortKVuGa57+v0avTrlJns3bNW8Ntv
zkDEhmd00Ak02aPsi4wRHLFgttUf9HdEHAuTkAESPTU43DiptjkfHhtBMfsFrCkd
sxWzCz+prDOMHYfUEkhRVV++1zyGEX6ov1Ap2IU2p3E+ASihL/amxTEQAsbwjUTI
R52zoL6nMPzpbKeZi2M0eEBVF8sDueA9Hjo6woLjgJqV0/yc5vC2HAxUOhx0cWTY
GcRBgL/yOyQLKiY5TKBH951OjQ4vhF2HmcoO7DkcNLYJOge16ssx4ogBHul20VgF
XJJjMIIDAzCCAeugAwIBAgIBAjANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBl
c3RFeGFtcGxlQ0EgTndOMB4XDTEzMDUwOTAzNTMzMloXDTE0MDUwOTAzNTMzMlow
GzEZMBcGA1UEAxMQZXN0RXhhbXBsZUNBIE93TjCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAMA6qYh6KWiArm6Uam6RDey6kyKlhCxSAPagw4XhyCrsjh1v
2QD+0ZeEuWVOoGi1v5LLHgVMXZqMdyjcr7co3oSKH07tvHmVoYMuvywhBlkdzyvn
4DwQNJdCXyUf/KHl2Wu9KC1UHN4SOJAnqoxTLPm4mB9L6f0ZboX7cmeZM0Mh9RBr
EZMNf6lCpE2fDwhfFRZWH6plKKrGkU8mW4yCOCfmOv4xBvqe0K3lvc3M+LD3vN3P
7ocDCzlkJGbSrELYKOQqX2DI7gJpOENo6EKtr3MZXPljSh3/sG6w29dTkWa4pfSE
pSPeKLpnEc97gRtWIO8/N4XQ32rJnX26fIDkjRUCAwEAAaNSMFAwDgYDVR0PAQH/
BAQDAgSwMB0GA1UdDgQWBBQITTKxMqATXrfc4ffpCIbt6Gsz0jAfBgNVHSMEGDAW
gBSxxGnmW6MEp9iXo4s7v7lqsjJCPDANBgkqhkiG9w0BAQUFAAOCAQEALhDaE6Mp
BINBsJozdbXlijrWxL1CSv8f4GwpUFk3CgZjibt/qW9UoaNR4E58yRopuEhjwFZK
2w8YtRqx8IZoFhcoLkpBDfgLLwhoztzbYvOVKQMidjBlkBEVNR5MWdrs7F/AxWuy
iZ2+8AnR8GwqEIbCD0A7xIghmWEMh/BVI9C7GLqd6PxKrTAjuDfEpfdWhU/uYKmK
cL3XDbSwr30j2EQyaTV/3W0Tn2UfuxdwDQ4ZJs9G+Mw50s7AG6CpISyOIFmX6/bU
DpJXGLiLwfJ9C/aum9nylYuGCJ68BuTrCs9567KGfXEXI0mdFFCL7TaVR43kjsg3
c43kZ7369MeEZzCCAvswggHjoAMCAQICCQDprp3DmjOyETANBgkqhkiG9w0BAQUF
ADAbMRkwFwYDVQQDExBlc3RFeGFtcGxlQ0EgTndOMB4XDTEzMDUwOTAzNTMzMloX
DTE0MDUwOTAzNTMzMlowGzEZMBcGA1UEAxMQZXN0RXhhbXBsZUNBIE53TjCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ5962d6zCR8H+zA/SuJrm8RwL7X
Z67EH+Tn4LTIUSC+GnjzYQHYD8o/ApaMToA91E1fnUNVYjs1cTze2nIpKDp5CHUa
Y6TqZMjKPipLxzEFxp0E27DAL9alrfUtdgzKaNBjgNXuBnt7neWDzk0f6uj74zed
SBMGCpLBuwoJcGcAfuSW8IWK9g/9Lm7Rpba4kVYsT1q77fsM/yE6ea3I4f/EUtyx
PLUMt5EzYSRd2P3rEdrEoDojzYCLaAgE8rG2iDRD6+DHpqjC+LQ6Uf2hvcvvEHu7
NS8jBbw5XradppgcpAAv+5zmrf6cFJQdLDeduA9VwIM/GSr1q5IfmWjq94cCAwEA
AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUscRp5lujBKfYl6OLO7+5
arIyQjwwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBCz/CWdYvn
GM/SdCdEiom5A1VxaW8nKgCWg/EyWtAIiaHQuViB+jTUAE9lona2MbJoFHW8U5e8
9dCP0rJpA9UYXXhWvFQzd5ZWpms4wUYt1j3gqqd36KorJIAuPigVng13yKytxM7c
VmxQnh0aux3aEnEyRGAhGalHp0RaKdgPRzUaGtipJTNBkSV5S4kD4yDCPHMNbBu+
OcluerwEpbz6GvE7CpXl2jrTBZSqBsFelq0iz4kk9++9CnwZwrVgdzklhRfJ1Z4j
NkLruwbQ+o4NvBZsXiKxNfn3K2o3SK8AuaEyDWkq18+5rjcfprRO8x4YTW+6mXPq
jM0MAGNDEW+1oQAxAA==
]]></artwork>
      </section>
      <section anchor="csr-attributes">
        <name>CSR Attributes</name>
        <t>The following is an example of a valid /csrattrs exchange. During
this exchange, the EST client authenticates itself using an existing
certificate issued by the CA for which the EST server provides services.</t>
        <t>The initial TLS handshake is identical to the enrollment example
handshake. The HTTP GET request:</t>
        <artwork><![CDATA[
GET /.well-known/est/csrattrs HTTP/1.1
User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/7.22.0 OpenS
SL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
Host: 192.0.2.1:8085
Accept: */*

]]></artwork>
        <t>In response, the server provides suggested attributes that are
appropriate for the authenticated client. In this example, the EST
server also includes two example attributes that the client would
ignore unless the attribute type is known to the client:</t>
        <artwork><![CDATA[
HTTP/1.1 200 OK
Status: 200 OK
Content-Type: application/csrattrs
Content-Transfer-Encoding: base64
Content-Length: 171

MHwGBysGAQEBARYwIgYDiDcBMRsTGVBhcnNlIFNFVCBhcyAyLjk5OS4xIGRhdGEG
CSqGSIb3DQEJBzAsBgOINwIxJQYDiDcDBgOINwQTGVBhcnNlIFNFVCBhcyAyLjk5
OS4yIGRhdGEGCSskAwMCCAEBCwYJYIZIAWUDBAIC
]]></artwork>
      </section>
      <section anchor="enrollre-enroll">
        <name>Enroll/Re-enroll</name>
        <t>The following is an example of a valid /simpleenroll exchange. The
data messages for /simplereenroll are similar.</t>
        <t>During this exchange, the EST client uses an out-of-band distributed
username/password to authenticate itself to the EST server. This is
the normal HTTP WWW-Authenticate behavior and is included here for
informative purposes. When an existing TLS client certificate is used,
the server might skip requesting the HTTP WWW-Authenticate header,
such as during a /simplereenroll operation.</t>
        <t>During the initial TLS handshake, the client can ignore the optional
server-generated "certificate request" and can instead proceed with
the HTTP POST request. In response to the initial HTTP POST attempt,
the server requests WWW-Authenticate from the client (this might occur
even if the client used a client certificate, as detailed in the
normative text above):</t>
        <artwork><![CDATA[
HTTP/1.1 401 Unauthorized
Content-Length: 0
WWW-Authenticate: Digest qop="auth", realm="estrealm",
nonce="1368141352"
]]></artwork>
        <t>In the subsequent HTTP POST, the username/password is included,
along with the complete application/pkcs10 content:</t>
        <artwork><![CDATA[
POST /.well-known/est/simpleenroll HTTP/1.1
Authorization: Digest username="estuser", realm="estrealm", nonc
e="1368141352", uri="/.well-known/est/simpleenroll", cnonce="M
TYwMzg3", nc=00000001, qop="auth", response="144cc27f96046f1d70e
b16db20f75f22"
Host: 192.0.2.1:8085
Accept: */*
Content-Type: application/pkcs10
Content-Transfer-Encoding: base64
Content-Length: 882

MIIChTCCAW0CAQAwHzEdMBsGA1UEAxMUZGVtb3N0ZXA0IDEzNjgxNDEzNTIwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQClNp+kdz+Nj8XpEp9kaumWxDZ3
eFYJpQKz9ddD5e5OzUeCm103ZIXQIxc0eVtMCatnRr3dnZRCAxGjwbqoB3eKt29/
XSQffVv+odbyw0WdkQOIbntCQry8YdcBZ+8LjI/N7M2krmjmoSLmLwU2V4aNKf0Y
MLR5Krmah3Ik31jmYCSvwTnv6mx6pr2pTJ82JavhTEIIt/fAYq1RYhkM1CXoBL+y
hEoDanN7TzC94skfS3VV+f53J9SkUxTYcy1Rw0k3VXfxWwy+cSKEPREl7I6k0YeK
tDEVAgBIEYM/L1S69RXTLujirwnqSRjOquzkAkD31BE961KZCxeYGrhxaR4PAgMB
AAGgITAfBgkqhkiG9w0BCQcxEhMQK3JyQ2lyLzcrRVl1NTBUNDANBgkqhkiG9w0B
AQUFAAOCAQEARBv0AJeXaHpl1MFIdzWqoi1dOCf6U+qaYWcBzpLADvJrPK1qx5pq
wXM830A1O+7RvrFv+nyd6VF2rl/MrNp+IsKuA9LYWIBjVe/LXoBO8dB/KxrYl16c
VUS+Yydi1m/a+DaftYSRGolMLtWeiqbc2SDBr2kHXW1TR130hIcpwmr29kC2Kzur
5thsuj276FGL1vPu0dRfGQfx4WWa9uAHBgz6tW37CepZsrUKe/0pfVhr2oHxApYh
cHGBQDQHVTFVjHccdUjAXicrtbsVhU5o1lPv7f4lEApv3SBQmJcaq5O832BzHw7n
PyMFcM15E9gtUVee5C62bVwuk/tbnGsbwQ==
]]></artwork>
        <t>The EST server uses the username/password to perform
authentication/authorization and responds with the issued
certificate:</t>
        <artwork><![CDATA[
HTTP/1.1 200 OK
Status: 200 OK
Content-Type: application/pkcs7-mime; smime-type=certs-only
Content-Transfer-Encoding: base64
Content-Length: 1122

MIIDOAYJKoZIhvcNAQcCoIIDKTCCAyUCAQExADALBgkqhkiG9w0BBwGgggMLMIID
BzCCAe+gAwIBAgIBFTANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBlc3RFeGFt
cGxlQ0EgTndOMB4XDTEzMDUwOTIzMTU1M1oXDTE0MDUwOTIzMTU1M1owHzEdMBsG
A1UEAxMUZGVtb3N0ZXA0IDEzNjgxNDEzNTIwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQClNp+kdz+Nj8XpEp9kaumWxDZ3eFYJpQKz9ddD5e5OzUeCm103
ZIXQIxc0eVtMCatnRr3dnZRCAxGjwbqoB3eKt29/XSQffVv+odbyw0WdkQOIbntC
Qry8YdcBZ+8LjI/N7M2krmjmoSLmLwU2V4aNKf0YMLR5Krmah3Ik31jmYCSvwTnv
6mx6pr2pTJ82JavhTEIIt/fAYq1RYhkM1CXoBL+yhEoDanN7TzC94skfS3VV+f53
J9SkUxTYcy1Rw0k3VXfxWwy+cSKEPREl7I6k0YeKtDEVAgBIEYM/L1S69RXTLuji
rwnqSRjOquzkAkD31BE961KZCxeYGrhxaR4PAgMBAAGjUjBQMA4GA1UdDwEB/wQE
AwIEsDAdBgNVHQ4EFgQU/qDdB6ii6icQ8wGMXvy1jfE4xtUwHwYDVR0jBBgwFoAU
scRp5lujBKfYl6OLO7+5arIyQjwwDQYJKoZIhvcNAQEFBQADggEBACmxg1hvL6+7
a+lFTARoxainBx5gxdZ9omSb0L+qL+4PDvg/+KHzKsDnMCrcU6M4YP5n0EDKmGa6
4lY8fbET4tt7juJg6ixb95/760Th0vuctwkGr6+D6ETTfqyHnrbhX3lAhnB+0Ja7
o1gv4CWxh1I8aRaTXdpOHORvN0SMXdcrlCys2vrtOl+LjR2a3kajJO6eQ5leOdzF
QlZfOPhaLWen0e2BLNJI0vsC2Fa+2LMCnfC38XfGALa5A8e7fNHXWZBjXZLBCza3
rEs9Mlh2CjA/ocSC/WxmMvd+Eqnt/FpggRy+F8IZSRvBaRUCtGE1lgDmu6AFUxce
R4POrT2xz8ChADEA
]]></artwork>
      </section>
      <section anchor="server-key-generation-1">
        <name>Server Key Generation</name>
        <t>The following is an example of a valid /serverkeygen exchange.
During this exchange, the EST client authenticates itself using an
existing certificate issued by the CA the EST server provides services
for.</t>
        <t>The initial TLS handshake is identical to the enrollment example
handshake. An example HTTP POSTed message is:</t>
        <artwork><![CDATA[
POST /.well-known/est/serverkeygen HTTP/1.1
Host: 192.0.2.1:8085
Accept: */*
Expect: 100-continue
Content-Type: application/pkcs10
Content-Transfer-Encoding: base64
Content-Length: 963

MIICwTCCAakCAQAwWzE+MDwGA1UEAxM1c2VydmVyS2V5R2VuIHJlcSBieSBjbGll
bnQgaW4gZGVtbyBzdGVwIDEyIDEzNjgxNDE5NTUxGTAXBgNVBAUTEFBJRDpXaWRn
ZXQgU046MTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvE1/6m4A/
3/L32Suyzbf28LM9y8CQfp0aepa7o20BSfluvm8HXR44mlV+wpieM8H5n3Ub3RIo
RUun/FllIzK9uV7UrkqJ3Yzmq2NOoTd4C+OPsV/RPTu873dhFrssDk3P4NIphlSS
sSIkt5rhz7wYbCqCFR5Aphe/30Jx7D+xBI5Rs8e6vRS8IpuImh71BHiLfhq9AFhz
4ZJsOUSVpUmqUogFsM7SOQ6XI4dl+djhpjT+YTJ6hQ2PXrqdch3KsTQ8c6aKs+e2
5QJxh7O8JHVlPHo4YIxXtAYSutcbbTN5TXWFCWSrWDJ+zuMmk2yU+dio1oW7YR7V
ftAvazJ3laQbAgMBAAGgITAfBgkqhkiG9w0BCQcxEhMQZEZzQVhtSm5qb2tCdER2
cjANBgkqhkiG9w0BAQUFAAOCAQEAR+I0EQB+hSjrLCAjnVH6bZdHUNGszIdwx1iu
L4n+0XK3SfEzeOMkC4T74yFGKj3redS1Ht9atYUPb0D1Qi9Jf9Co8eLblo1l19A6
GaS798ofxIF0Pl0Dr6/GqjheqJEIbcDTAJq+kvDihyQ4GQnhosygIZHvKppQlebA
gvp2RJSnMroPCe6RgTU9E2fmI9rin/9PyXeWFF1namp+lYbTGwjv1aE1ikhjCLlH
veHhCdgOExPw+fqhKhHjp+0ZKBlo2bC3pqRWvDTiZuwt9UpFFfGtuxvpTp44oS/j
M/965hWIw/5dshY/wQjIfYs07bbq2ERbpJiw9bAQY34gyoVmEQ==
]]></artwork>
        <t>Because the DecryptKeyIdentifier attribute is not included in this
request, the response does not include additional encryption beyond the
TLS session. The EST server response is:</t>
        <artwork><![CDATA[
HTTP/1.1 200 OK
Status: 200 OK
Content-Type: multipart/mixed ; boundary=estServerExampleBoundary
Content-Length: 3219

This is the preamble.  It is to be ignored, though it
is a handy place for estServer to include an explanatory note,
including contact or support information.
--estServerExampleBoundary
Content-Type: application/pkcs8
Content-Transfer-Encoding: base64

MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDPwKtwJ7TjMgA+
Poj64V909ryql0foP1hU4Yq5y8/bOP5ZTe6ArgVhUye099Ac+dfdwpyP/DESiujU
F/dS62Vck3UWNbnw+4O38FUp0enLbbjSTud48KpEW6+FzkeuAanPGZMA1wKyrYy9
rD5tQOOJU/CBVhUrITyYLZNYUe4agbpcR0wMtrRr2E58Mu8wQ80ryk6nkL7COk5Z
IQdNRxldk7DFvpA85Yn1stumoGRtVLW51iXeTS1LtXwhuUb/j6Lds3vvAiJ2SiZ0
Y3rxPlnJVyFmR8Mf2TBOjzuFqva/VLD2ayQjgaGEjq2ZWHXelQAOZ6N3lrChojEK
FGq93yOhAgMBAAECggEBALQ5az/nYjd5x9Y3f7NMUffwl+jRRfMHCMTRx/u4AEAo
KBYm0hFVZZtxfM+z7xlD8G0Th6gs2hFA6gwcIlUPmiX+UaOLxht0xWaLGgYmcNAm
BiCDjLBQ7xRQCWtlcK9WCA5+HBWtcEy6244rXxh+IyWd6NT6bXC165AEcX87y/e3
JFJ7XFNeDP656s2DmxSCci+iDte6SaEm7sJvYGu16qevJeMThcQcC9/rJjXkvpGL
IKK2px5idad4Pb6+QHpqj3d4oM8djO6wYUvrH8XQLqAaF8Hd5lFWVU57nSYY+H79
GaNDTfRTUL6AXr7kmMsKVFOJ0JjZExUCVMZtGiqhB6UCgYEA639OtdWLZCzyZFMe
p7VlRddoz0VAtrU2dxnEb4cWD8Gerg8uNvp8OG84gH+6MbPwz4ZYWKCgDFqyrAlw
SF02n9Sovh93eoJ5latSbfeYUkLtB8L/HVk5/CBGEsV9MUkdMF0+B43YlhyEDyKW
fX2+0UeHLFgRrfpSzP2cXduEieMCgYEA4db/SIrwN2+g1Gjo3oE09kd89VGjVRer
srbcqc7DcPXP6Lw42sx96h4jVWWqHVo3DfwFBdUb1LH2cnVXQjgDUHdNdpl01cf/
BFYCFINi2qKMqiJYswkhYxZ1BLz/zuQTDbPFL2PgLniKFG2aFLrTS3S/tgeB5QwI
RPigH3kfI6sCgYAPqsCJyFMlrvfRRNZdQewi4VnPsEPF4/hjpAs1gD8vfSoZWlkw
vylUd9HCerzgYaA7rixieQ0sxTvtxhL6PXlM2NEBFQbV16hPFL6/IiG4F0u9oHNo
eG8rHtqKlSjnBn4yoYFm70Dhe7QtbZelcaAoPCH6CUHj2St5B8ZHWDtREQKBgHNp
wER+XIy4C2UByCANv9csaXulIOdXlXNbaCGPfOm5dWrm5ddLMf33MO9vaSRe+ku3
Q4nbgsGLwPp1ZQZ+QZNZpMi7W6306yp4GdAJ5Pb+oww/ST0VqW5OB7dILyK4A9S4
zkiNrf+Rsl8GM/vsDhc9rsuDwqofIAq/VHVBHNzJAoGBAOHQof5L6iGHOHcxLazx
4MGvRTpmzU/PX6Q3QxqpetEGFEDZAaL58L67SSS3fFBnKrVAidF6llC1bAH1aoRa
fYHUDi45xBoroy0hBwrnTKRxppua4UK75FUH5PPJfR6cCvw5stRkzIevTZHhozkX
pM7PYH/x4BiBmgQ3bhOqTp4H
--estServerExampleBoundary
Content-Type: application/pkcs7-mime; smime-type=certs-only
Content-Transfer-Encoding: base64

MIIDRQYJKoZIhvcNAQcCoIIDNjCCAzICAQExADALBgkqhkiG9w0BBwGgggMYMIID
FDCCAfygAwIBAgIBFjANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExBlc3RFeGFt
cGxlQ0EgTndOMB4XDTEzMDUwOTIzMjU1NloXDTE0MDUwOTIzMjU1NlowLDEqMCgG
A1UEAxMhc2VydmVyc2lkZSBrZXkgZ2VuZXJhdGVkIHJlc3BvbnNlMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz8CrcCe04zIAPj6I+uFfdPa8qpdH6D9Y
VOGKucvP2zj+WU3ugK4FYVMntPfQHPnX3cKcj/wxEoro1Bf3UutlXJN1FjW58PuD
t/BVKdHpy2240k7nePCqRFuvhc5HrgGpzxmTANcCsq2Mvaw+bUDjiVPwgVYVKyE8
mC2TWFHuGoG6XEdMDLa0a9hOfDLvMEPNK8pOp5C+wjpOWSEHTUcZXZOwxb6QPOWJ
9bLbpqBkbVS1udYl3k0tS7V8IblG/4+i3bN77wIidkomdGN68T5ZyVchZkfDH9kw
To87har2v1Sw9mskI4GhhI6tmVh13pUADmejd5awoaIxChRqvd8joQIDAQABo1Iw
UDAOBgNVHQ8BAf8EBAMCBLAwHQYDVR0OBBYEFKeZixu9F+appDX2SS5HaxmV6Jr4
MB8GA1UdIwQYMBaAFLHEaeZbowSn2Jejizu/uWqyMkI8MA0GCSqGSIb3DQEBBQUA
A4IBAQBHhLmRAKrnTapqqBObDM9IQDQPuwW+fW1gYwZKlSm/IWIwHEZL1igXhpjj
rf4xqpIkiJMmkaOeoXA8PFniX0/lZM9FQSM/j89CUf5dMoAqWj8s17xuXu9L/hVe
XjjXHsL40WuDG6tMPN9vcT8tE3ruor608MKSHFX/NEM6+AaNVSUPTmB33BgYB1Wa
E7pn3JMN6pjIxsHnF4pKi8qvoTSVVjaCEwUe8Q/fw1yvjoHoYJtyMn4v5Kb3Rt+m
s8Yie1tcfVQrjQutqr34/IJsKdPziZwi92KZa+1958A6M9O/p5OI0up9ZXKg2DEC
1O9qT0GyYJ6sxAyKiGTOxk6jMddDoQAxAA==
--estServerExampleBoundary--
This is the epilogue.  It is also to be ignored.
]]></artwork>
      </section>
    </section>
    <section anchor="contributorsacknowledgements">
      <name>Contributors/Acknowledgements</name>
      <t>The editors would like to thank Stephen Kent, Vinod Arjun, Jan
Vilhuber, Sean Turner, Russ Housley, and others for their feedback and
prototypes of early versions of this document. Our thanks also go the authors
of <xref target="RFC6403"/>, around whose document we structured part of this
specification.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="M." surname="Pritikin" fullname="Max Pritikin">
        <organization>Cisco Systems, Inc.</organization>
        <address>
          <postal>
            <street>510 McCarthy Drive</street>
            <city>Milpitas</city>
            <region>CA</region>
            <code>95035</code>
            <country>USA</country>
          </postal>
          <email>pritikin@cisco.com</email>
        </address>
      </contact>
      <contact initials="P." surname="Yee" fullname="Peter E. Yee">
        <organization>AKAYLA, Inc.</organization>
        <address>
          <postal>
            <street>7150 Moorland Drive</street>
            <city>Clarksville</city>
            <region>MD</region>
            <code>21029</code>
            <country>USA</country>
          </postal>
          <email>peter@akayla.com</email>
        </address>
      </contact>
      <contact initials="D." surname="Harkins" fullname="Dan Harkins">
        <organization>Aruba Networks</organization>
        <address>
          <postal>
            <street>1322 Crossman Avenue</street>
            <city>Sunnyvale</city>
            <region>CA</region>
            <code>94089-1113</code>
            <country>USA</country>
          </postal>
          <email>dharkins@arubanetworks.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
agSKWc4ttW6tnyYR7w9hCnJ737zazc116+j2pnnYuuiAmPqHOxT2avG14ZmH
y/8T9le/0Rt/rK3zM9LK1EGfEUxgtWqN37x3Ay2pN7/9Hdv9Y007y1RYsArw
U6H1X4M4IrMohgPB3KmkgkVFqqjrri697LBNzeM50uLZnPJ8yAhHIQmkalz2
yHEcWhV9dOKcqQioopmYSJPsYWXRMpjM0oVecfKYTwKgQ2EQLGygfFOKxxJy
naT0VKjYIyowmksbt5PUNUCMimtGdikcTU+zLNdD4/AlK2kVbgAdY8Tyadib
j/1YaqCerE4tM5nQDC2sh0xEVwJy6kQDvrqjJ+M1izAU+8oRwdHUEnSC8TiE
m7eHCfcPAckViQRUUlq0epQqR2gtbA03gDbeVFAgr4+d9p+vTK85L1cedcAg
rZirZ+t6ujl4nEhdVJNpXQ/RruGrK/FeqkrASK5WpFLBNaEyzHVZWIWRv+RW
YfFpXcX7DCnzD0E0nshYocrmrHuyoBuTb1HrIVVoMoGaZROhoBAsvWfoQhBd
GLwa8yTtpqLmNSldctViciTTmcOVUemLNFDL3KR6Mhq8GXZZPDtKl8SLSFdY
pOu9inRpCsKagmQbFnJHdibyLtQTaOXChSTaBoNtSCfbuvKyIVPOBvGZSHDl
B5fsPvOcWQyhNeDEsCwp++nWyk5cikyvn1Gut30WjClSyuqwqRO/j8Clongp
nNWyKNls5brU2vluy0zDqhJu4mmvVWb3K1fAvqGU3MzBWQVZQ7LMuaVF/pxY
obwaCgJFL87CabDbe87lNrSkck0FLVcbzes1L+9XlWOfikxp9tVltdjXFJCN
GiHp2pSjzFuZF3hI3uHlxSrQDAOAM8jCtPvqspB6hr6lJZ6hE7yNh0fdWi5+
v5fnfKvZisqqIN9LXNfwpKD/i/ccC6bwdJcyTLx1O+iHvldj1LK6qhvUrtXX
8NaO8VsZXbpV2YPmhIPPx/YCyWCkX3G2tb8dVzO8QT4nkDuaDIDOSQ0edhkh
7eKULo6Uqqmntvf20MQFwT9gjoee/FewtNXyZnl/u1KuVrd2tg/K1fJBeW9N
yHf1UTuUQuNf86tU1EJ1e014uX9s9vsrnPVeTS1btbxV3oV3+H82N5/rOuyX
gp5mclbHFZDeMQnyuU7NolOf1a3NcqW8ta37s5cp6PUTHxHp5dpnetqG97fW
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
RHR0HqQHX0cHb+5bo/lW5H+97BRRY20bbq6r+lnj/mzPPzt/vzvqXNy3vpyI
L2+S0fuDj2cXO7sb6edK5eHjxuf3O8n9sHFyv9OvHL25OAYl/PT9/Njf2Xvz
UPEfbuLxu2my1T2/2z9PH8TX+0ZzNOlXKrX7yqZ/mYTbj9cnZ2+HaXo7ODjp
N09q85v7WrNzeXO7vdUIZ+nn+8HJKD1qD5K3cf0epOOnu6/1r29mceOiffJx
cNu8H12/f//mTfXr4rj5YTd6qNZmm63bzdlW802tE47ONvzJ003zqpZ0Hz/f
3rTE9c7m1+hsd9q+/Drrngafws12JWgevX+7nzTmQe3g5HO0+xidfR6++/K+
srHo7TzUN09qT7cXo6dK7+7mozjuXR8NzzYWF4urs9Pw487N6dHJwU714vPV
9sPo7ebJpBdd7DXue+dnH99dDIPqbpI8bUfDo5P5eLPyfvhWfHj37jOcqkaN
5IS5khOOarlTePsWuEbuJhcFx/iifbT9oXHT/Npu3D5e3NS+nt8AFxhH+F0l
892jOP7a/NQ+6iGRNGtP7atPH84r1x9Go+6Ho+TT7flRq3mwdQPiTq3Tyt4b
R3hvCLg4LoGzA0+I6nSJtGu7Xz6Odk/vwlo82b31J7vXjWCxe784HY/qT53a
pT983P4wWtTj5POo+iA2rxpvKp+C5vzu/UV0HFYfds7OTobv2x8+fWn3F597
8V4v2oo6pyeVvfThZPI++tiePyweR0fj+/7XxcNUbDcer87f9esfFreDjdOT
8ebd/OC0Xr09Od/uXLyrTb9ETzdnl5PtydHB2e6gAgflw15vEnxqV9qjg+uj
WMAKnA92x/VZc3MAV9ng7fWnu5PdGTD1+Pj+dn9yt72oX9QHk4uH7aejhy9B
5XQLLo+t9puzxtbDOUgoe1GvUf86vn933O3EzbOPpxdXXz5sNlp7w3ezi+Z5
tNs8TeOt9qcPl+PPndHWRnK8+7h50L+5v/O3Z4NOU8w6l8Hp2Wza7B3sDa/T
u9bF/sb59oerrc343fTD5u6g1bj/fH1brz02azX/vNN+CzLYkFjAJYoEAigE
LpXO43fIBgNiLJ1287hRuxPDo87T0/F0crfbbs4Owg/RdrL3sDf+knx+V79s
FFAj3QnN2tmo4Td32zNx1Do/St5FX/vdD+Pwc3z3dFatdx72B9vHj7Pbt/db
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
fwD/D7L0OCTNjQEA

-->

</rfc>
