<?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.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-rosomakho-httpbis-secondary-client-certs-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <front>
    <title abbrev="Secondary Clients Certificates">Secondary Certificate Authentication of HTTP Clients</title>
    <seriesInfo name="Internet-Draft" value="draft-rosomakho-httpbis-secondary-client-certs-00"/>
    <author fullname="Yaroslav Rosomakho">
      <organization>Zscaler</organization>
      <address>
        <email>yrosomakho@zscaler.com</email>
      </address>
    </author>
    <author fullname="Jonathan Hoyland">
      <organization>Cloudflare</organization>
      <address>
        <email>jonathan.hoyland@gmail.com</email>
      </address>
    </author>
    <date year="2025" month="July" day="07"/>
    <area/>
    <workgroup>HTTP</workgroup>
    <keyword>exported authenticators</keyword>
    <keyword>masque</keyword>
    <abstract>
      <?line 47?>

<t>This document defines a mechanism for HTTP/2 and HTTP/3 clients to provide additional certificate-based credentials after the TLS handshake has completed, using TLS Exported Authenticators. Unlike traditional client authentication during the TLS handshake, this mechanism allows clients to present multiple certificates over the lifetime of a session.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://yaroslavros.github.io/httpbis-secondary-client-certs/draft-rosomakho-httpbis-secondary-client-certs.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-rosomakho-httpbis-secondary-client-certs/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        HTTP  mailing list (<eref target="mailto:ietf-http-wg@w3.org"/>),
        which is archived at <eref target="https://lists.w3.org/Archives/Public/ietf-http-wg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/yaroslavros/httpbis-secondary-client-certs"/>.</t>
    </note>
  </front>
  <middle>
    <?line 51?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="TLS"/> provides an option for client authentication during the initial handshake, but this approach has several limitations. It requires early commitment to a single identity and can expose identifying information prematurely.</t>
      <t>This document defines a protocol extension that allows <xref target="H2"/> and <xref target="H3"/> clients to provide certificate-based credentials after the TLS handshake, using TLS Exported Authenticators <xref target="EXPORTED-AUTH"/>. This enables clients to authenticate in a flexible and dynamic manner, for example when accessing specific resources, elevating privileges, or switching identities.</t>
      <t>An important use case for this mechanism is the ability for a client to provide multiple identities or contextual information distributed across several certificates, such as separate device and user credentials.</t>
      <t>This mechanism builds on and complements the secondary certificate support for HTTP servers defined in <xref target="SECONDARY-SERVER"/>.</t>
      <section anchor="authentication-initiation">
        <name>Authentication Initiation</name>
        <t>Client authentication is initiated by the server once both peers have negotiated support for this mechanism.</t>
        <t>The client signals support and the maximum number of certificate-based credentials it is expecting to provide during the lifetime of the connection using HTTP/2 or HTTP/3 <tt>SETTINGS</tt> parameters. The server may request client credentials by sending an <tt>AUTHENTICATOR_REQUESTS</tt> frame, and the client responds with a sequence of <tt>CERTIFICATE</tt> frames, each containing an Exported Authenticator.</t>
        <t>The server may initiate additional authentication exchanges later in the connection, provided the total number of requested credentials does not exceed the client's declared limit.</t>
      </section>
      <section anchor="certificate-validation-and-authorization">
        <name>Certificate Validation and Authorization</name>
        <t>Client authentication using this mechanism is initiated by the server in response to the client's advertised support.</t>
        <t>Servers are expected to evaluate the received credentials according to their policy and decide whether to:</t>
        <ul spacing="normal">
          <li>
            <t>Accept the certificate and associate it with the client session or with a specific set of future HTTP requests;</t>
          </li>
          <li>
            <t>Ignore the certificate and proceed without adjusting the client's authorization state;</t>
          </li>
          <li>
            <t>Terminate the connection if the certificate is unacceptable or appears malicious.</t>
          </li>
        </ul>
        <t>This mechanism does not define any explicit protocol-level signaling for certificate rejection. Applications may implement their own logic to determine how authentication success or failure affects access to resources, but such decisions are made outside the scope of this protocol extension.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="negotiating-support-for-http-layer-client-certificate-authentication">
      <name>Negotiating Support for HTTP-layer Client Certificate Authentication</name>
      <t>Support for HTTP-layer client certificate authentication is negotiated via a <tt>SETTINGS</tt> parameter. An endpoint <bcp14>MUST NOT</bcp14> send frames related to client authentication (<tt>AUTHENTICATOR_REQUESTS</tt>, or client-initiated <tt>CERTIFICATE</tt>) unless the peer has explicitly advertised support via the <tt>SETTINGS</tt> parameter defined in <xref target="settings-http-client-cert-auth"/>.</t>
      <t>This restriction does not apply to server-initiated <tt>CERTIFICATE</tt> frames, which are governed by <xref target="SECONDARY-SERVER"/>.</t>
      <section anchor="settings-http-client-cert-auth">
        <name>SETTINGS_HTTP_CLIENT_CERT_AUTH</name>
        <t>A new <tt>SETTINGS</tt> parameter is defined for both HTTP/2 and HTTP/3 to indicate support for HTTP-layer client certificate authentication.</t>
        <t>Clients use this parameter to advertise the maximum number of certificate-based credentials they are expecting to provide during the lifetime of the connection. This value <bcp14>MUST</bcp14> be a non-zero integer. A value of zero indicates that the client does not support client certificate authentication.</t>
        <t>Servers that support this mechanism <bcp14>MUST</bcp14> respond with a value of 1 to confirm support. The server's value does not affect the number of authenticator requests it can send; it merely confirms participation in the protocol.</t>
        <t>Each endpoint must advertise its own support. A client <bcp14>MUST NOT</bcp14> send <tt>CERTIFICATE</tt> frames unless both parties have advertised support for this mechanism. Similarly, a server <bcp14>MUST NOT</bcp14> send an <tt>AUTHENTICATOR_REQUESTS</tt> frame unless both parties have advertised support.</t>
        <t>Endpoints <bcp14>MUST NOT</bcp14> send a <tt>SETTINGS_HTTP_CLIENT_CERT_AUTH</tt> parameter with a value of 0 after previously sending a value greater than 0. Once support for this extension has been advertised, it is considered enabled for the lifetime of the connection.</t>
        <section anchor="http2-definition">
          <name>HTTP/2 Definition</name>
          <t>In HTTP/2, this parameter is defined as an entry in the <tt>SETTINGS</tt> frame as specified in <xref section="6.5.2" sectionFormat="of" target="H2"/>.</t>
          <ul spacing="normal">
            <li>
              <t>Identifier: <tt>SETTINGS_HTTP_CLIENT_CERT_AUTH</tt> (0xTBD)</t>
            </li>
            <li>
              <t>Value set by clients: A positive integer indicating the number of credentials they are willing to provide.</t>
            </li>
            <li>
              <t>Value set by servers: 1 to indicate support.</t>
            </li>
          </ul>
        </section>
        <section anchor="http3-definition">
          <name>HTTP/3 Definition</name>
          <t>In HTTP/3, this parameter is defined as a <tt>SETTINGS</tt> parameter in accordance with <xref section="7.2.4.1" sectionFormat="of" target="H3"/>.</t>
          <ul spacing="normal">
            <li>
              <t>Identifier: <tt>SETTINGS_HTTP_CLIENT_CERT_AUTH</tt> (0xTBD)</t>
            </li>
            <li>
              <t>Value set by clients: A positive integer indicating the number of credentials they are willing to provide.</t>
            </li>
            <li>
              <t>Value set by servers: 1 to indicate support.</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="authentication-procedure">
      <name>Authentication Procedure</name>
      <t>Once both endpoints have negotiated support for HTTP-layer client certificate authentication via <tt>SETTINGS_HTTP_CLIENT_CERT_AUTH</tt> as described in <xref target="settings-http-client-cert-auth"/>), the server may initiate client authentication at any time by sending an <tt>AUTHENTICATOR_REQUESTS</tt> frame.</t>
      <t>The <tt>AUTHENTICATOR_REQUESTS</tt> frame contains a list of authenticator requests, as defined in <xref section="4" sectionFormat="of" target="EXPORTED-AUTH"/>. Each request presents a cryptographic challenge for the client to use in the construction of a corresponding Exported Authenticator.</t>
      <t>The client <bcp14>MAY</bcp14> use provided authenticator requests to send <tt>CERTIFICATE</tt> frames. Each <tt>CERTIFICATE</tt> frame carries an Exported Authenticator that includes a certificate chain and proof of possession, as specified in <xref section="5" sectionFormat="of" target="EXPORTED-AUTH"/>. A client <bcp14>MAY</bcp14> send an empty authenticator as defined in <xref section="6" sectionFormat="of" target="EXPORTED-AUTH"/> in cases where it declines to authenticate for a given request.</t>
      <t>This section defines the structure of the <tt>AUTHENTICATOR_REQUESTS</tt> frame and outlines how it and the <tt>CERTIFICATE</tt> frames, as defined in <xref target="SECONDARY-SERVER"/>, are exchanged, ordered, and validated during the authentication process.</t>
      <section anchor="authenticator-requests">
        <name>AUTHENTICATOR_REQUESTS Frame</name>
        <t>The <tt>AUTHENTICATOR_REQUESTS</tt> frame is sent by the server to deliver authenticator requests to the client. It may be sent at any point after the client has advertised support via the <tt>SETTINGS_HTTP_CLIENT_CERT_AUTH</tt> parameter.</t>
        <t>The server <bcp14>MAY</bcp14> send multiple <tt>AUTHENTICATOR_REQUESTS</tt> frames over the lifetime of the connection. However, the total number of outstanding authenticator requests (those for which the client has not yet responded with a <tt>CERTIFICATE</tt> frame) <bcp14>MUST NOT</bcp14> exceed the maximum specified by the client in its <tt>SETTINGS_HTTP_CLIENT_CERT_AUTH</tt> parameter. If this limit is exceeded, the client <bcp14>MUST</bcp14> treat it as a connection error.</t>
        <t>The server <bcp14>MAY</bcp14> send additional <tt>AUTHENTICATOR_REQUESTS</tt> frames after receiving one or more <tt>CERTIFICATE</tt> frames from the client, in order to replenish the client's pool of active challenges. This allows the server to control the pace of client authentication while adhering to the negotiated limits.</t>
        <t>The list of authenticator requests in <tt>AUTHENTICATOR_REQUESTS</tt> frame <bcp14>MUST NOT</bcp14> be empty.</t>
        <t>Each authenticator request is used by the client to construct an Exported Authenticator as defined in <xref section="5" sectionFormat="of" target="EXPORTED-AUTH"/>. This frame is a control frame and <bcp14>MUST</bcp14> be sent on stream 0 in HTTP/2 or the control stream in HTTP/3.</t>
        <section anchor="http2-definition-1">
          <name>HTTP/2 Definition</name>
          <figure>
            <name>HTTP/2 AUTHENTICATOR_REQUESTS Frame</name>
            <artwork type="ascii-art"><![CDATA[
AUTHENTICATOR_REQUESTS Frame {
  Length (24),
  Type (8) = 0xTBD,
  Unused Flags (8),

  Reserved (1),
  Stream Identifier (31) = 0,

  Authenticator Request (..) ...,
}
]]></artwork>
          </figure>
          <t>If this frame is received by a server on any stream, or by a client on a stream other than stream 0, the recipient <bcp14>MUST</bcp14> treat it as a connection error of type <tt>PROTOCOL_ERROR</tt> according to <xref section="5.4.1" sectionFormat="of" target="H2"/>.</t>
          <t>If the frame payload is malformed or contains malformed authenticator requests (e.g., incomplete length-prefixes or invalid encoding), the recipient <bcp14>MUST</bcp14> treat it as a connection error of type <tt>PROTOCOL_ERROR</tt>.</t>
        </section>
        <section anchor="http3-definition-1">
          <name>HTTP/3 Definition</name>
          <figure>
            <name>HTTP/3 AUTHENTICATOR_REQUESTS Frame</name>
            <artwork type="ascii-art"><![CDATA[
AUTHENTICATOR_REQUESTS Frame {
  Type (i) = 0xTBD,
  Length (i),

  Authenticator Request (..) ...,
}
]]></artwork>
          </figure>
          <t>If this frame is received by a server on any stream, or by a client on a stream other than the control stream, the recipient <bcp14>MUST</bcp14> treat it as a connection error of type <tt>H3_FRAME_UNEXPECTED</tt> according to <xref section="8" sectionFormat="of" target="H3"/>.</t>
          <t>If the frame payload is malformed or contains malformed authenticator requests, the recipient <bcp14>MUST</bcp14> treat it as a connection error of type <tt>H3_MESSAGE_ERROR</tt>.</t>
        </section>
        <section anchor="authenticator-request-format">
          <name>Authenticator Request Format</name>
          <t>Each Authenticator Request is an encoded structure consisting of a variable-length integer length and the corresponding binary value of the request:</t>
          <figure>
            <name>Authenticator Request structure</name>
            <artwork type="ascii-art"><![CDATA[
Authenticator Request {
  Length (i),
  ClientCertificateRequest (..),
}
]]></artwork>
          </figure>
          <ul spacing="normal">
            <li>
              <t>Length (i): A variable-length integer specifying the length, in bytes, of the ClientCertificateRequest.</t>
            </li>
            <li>
              <t>ClientCertificateRequest: A structure as defined in <xref section="4" sectionFormat="of" target="EXPORTED-AUTH"/>.</t>
            </li>
          </ul>
          <t>The payload of the <tt>AUTHENTICATOR_REQUESTS</tt> frame consists of a sequence of these Authenticator Request elements. The list <bcp14>MUST NOT</bcp14> be empty. Clients parse the payload by reading the length, then interpreting the following bytes as a ClientCertificateRequest structure.</t>
        </section>
        <section anchor="request-ordering-and-pacing">
          <name>Request Ordering and Pacing</name>
          <t>Clients <bcp14>MUST</bcp14> respond to each authenticator request context with a corresponding <tt>CERTIFICATE</tt> frame, in the same order as the authenticator requests appeared in the <tt>AUTHENTICATOR_REQUESTS</tt> frame.</t>
          <t>The total number of outstanding authenticator requests <bcp14>MUST NOT</bcp14> exceed the value the client advertised in the <tt>SETTINGS_HTTP_CLIENT_CERT_AUTH</tt> parameter. If the server exceeds this limit, the client <bcp14>MUST</bcp14> treat it as a connection error.</t>
          <t>In HTTP/2, the connection <bcp14>MUST</bcp14> be closed with a PROTOCOL_ERROR according to <xref section="5.4.1" sectionFormat="of" target="H2"/>. In HTTP/3, the connection <bcp14>MUST</bcp14> be closed with <tt>H3_FRAME_UNEXPECTED</tt> according to <xref section="8" sectionFormat="of" target="H3"/>.</t>
        </section>
      </section>
      <section anchor="certificate-frame">
        <name>CERTIFICATE Frame</name>
        <t>The <tt>CERTIFICATE</tt> frame is used by the client to respond to each authenticator request previously delivered by the server in an <tt>AUTHENTICATOR_REQUESTS</tt> frame. Each <tt>CERTIFICATE</tt> frame carries a single Exported Authenticator structure constructed using the TLS Exported Authenticator mechanism defined in <xref section="5.2" sectionFormat="of" target="EXPORTED-AUTH"/>.</t>
        <t>The format and semantics of the <tt>CERTIFICATE</tt> frame are defined in <xref target="SECONDARY-SERVER"/>, and are reused without modification for client authentication.</t>
        <t>Clients <bcp14>MUST</bcp14> send exactly one <tt>CERTIFICATE</tt> frame for each authenticator request context received. These frames <bcp14>MUST</bcp14> be sent in the same order as the corresponding authenticator requests appeared in the <tt>AUTHENTICATOR_REQUESTS</tt> frame.</t>
        <t>A <tt>CERTIFICATE</tt> frame <bcp14>MAY</bcp14> carry an empty authenticator, as described in <xref section="6" sectionFormat="of" target="EXPORTED-AUTH"/>. This allows the client to decline authentication for a particular request context without terminating the connection.</t>
        <t>Clients <bcp14>MUST NOT</bcp14> send <tt>CERTIFICATE</tt> frames unless they are in response to an outstanding <tt>AUTHENTICATOR_REQUESTS</tt> frame. If a server receives a <tt>CERTIFICATE</tt> frame when no authenticator request is outstanding, it <bcp14>MUST</bcp14> treat this as a connection error.</t>
        <t>Servers <bcp14>MUST NOT</bcp14> send <tt>CERTIFICATE</tt> frames unless the secondary certificate authentication mechanism for HTTP servers has been negotiated according to <xref target="SECONDARY-SERVER"/>. If a client receives a server-generated <tt>CERTIFICATE</tt> frame without such negotiation, it <bcp14>MUST</bcp14> treat this as a connection error of type <tt>PROTOCOL_ERROR</tt> (HTTP/2) or <tt>H3_FRAME_UNEXPECTED</tt> (HTTP/3).</t>
        <section anchor="certificate-validation-and-authorization-1">
          <name>Certificate Validation and Authorization</name>
          <t>The validation of client-provided certificates and any associated authorization logic are outside the scope of this specification. The server is responsible for interpreting the <tt>CERTIFICATE</tt> frames it receives and deciding how they impact the session state or access control.</t>
          <t>A server <bcp14>MAY</bcp14> associate an accepted certificate with the connection, use it for access control decisions on subsequent requests, or ignore it entirely. The application determines whether authentication is required, optional, or sufficient for specific operations.</t>
          <t>If a server receives a certificate that it considers invalid, untrusted, or inappropriate, it <bcp14>MAY</bcp14> respond by limiting the client’s access, rejecting individual requests, or closing the connection. This specification does not define protocol-level error signaling for certificate rejection.</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This mechanism builds on TLS Exported Authenticators <xref target="EXPORTED-AUTH"/>, which provide cryptographic binding to the underlying TLS connection and strong guarantees of authenticity, integrity, and freshness. However, several considerations remain relevant for implementers and deployers.</t>
      <section anchor="impersonation-and-trust">
        <name>Impersonation and Trust</name>
        <t>Servers <bcp14>MUST</bcp14> carefully validate client-provided certificates and ensure that they are trusted, appropriate for the context, and bound to the intended identity. Failure to enforce proper certificate validation could allow an attacker to impersonate another client or gain unauthorized access.</t>
        <t>Authorization decisions based on certificates are application-specific and must be handled with care. A certificate's presence does not imply entitlement.</t>
      </section>
      <section anchor="replay-prevention">
        <name>Replay Prevention</name>
        <t>Exported Authenticators are constructed using unique per-session cryptographic context and include binding to the TLS connection via the handshake transcript. This provides replay protection across different sessions, provided the ClientCertificateRequest includes a fresh context value. Reuse of identical request contexts across connections <bcp14>SHOULD</bcp14> be avoided.</t>
      </section>
      <section anchor="exposure-of-client-identity">
        <name>Exposure of Client Identity</name>
        <t>Certificates often contain long-lived identifiers (such as names, device serial numbers, or email addresses). When a client presents such certificates, it exposes identity information to the server. Clients should avoid presenting identifying certificates unless necessary for the resource or context being accessed.</t>
        <t>If client authentication is not required, clients may prefer to respond with an empty Exported Authenticator.</t>
      </section>
      <section anchor="binding-to-the-connection">
        <name>Binding to the Connection</name>
        <t>Exported Authenticators are cryptographically bound to the TLS session in which they are sent. A certificate authenticated using this mechanism applies to the entire HTTP connection and all streams within it. Servers <bcp14>MUST NOT</bcp14> assume that certificate-based identity can vary between streams on the same connection.</t>
        <t>Applications <bcp14>MUST</bcp14> ensure that any authenticated identity is scoped to the connection lifetime, and not reused across connections unless explicitly permitted by policy.</t>
      </section>
      <section anchor="denial-of-service-risk">
        <name>Denial-of-Service Risk</name>
        <t>The process of generating authenticator requests, tracking their state, and verifying the resulting authenticators can be computationally expensive for the server. A malicious or misbehaving client could send excessive <tt>CERTIFICATE</tt> frames to force the server to consume memory, perform cryptographic operations, or maintain authentication state unnecessarily.</t>
        <t>Servers <bcp14>SHOULD</bcp14> enforce limits on the number of authenticator requests they are willing to issue. Servers <bcp14>MAY</bcp14> respond with fewer Authenticator Requests than requested by the client or choose not to repelish consumed requests with new ones. Implementations <bcp14>SHOULD</bcp14> bound memory and compute usage per connection to mitigate such attacks.</t>
      </section>
      <section anchor="timing-side-channels">
        <name>Timing Side Channels</name>
        <t>Applications should consider the potential for timing side channels in certificate validation and authenticator generation. Variations in processing time may reveal information about internal policies, trust anchors, or user behavior. Constant-time validation and randomized delays are potential mitigations in sensitive deployments.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document registers the <tt>AUTHENTICATOR_REQUESTS</tt> frame type and <tt>SETTINGS_HTTP_CLIENT_CERT_AUTH</tt> for both <xref target="H2"/> and <xref target="H3"/>.</t>
      <section anchor="http2-frame-types">
        <name>HTTP/2 Frame Types</name>
        <t>This specification registers the following entry in the "HTTP/2 Frame Types" registry defined in <xref target="H2"/>:</t>
        <t><tt>AUTHENTICATOR_REQUESTS</tt> frame:</t>
        <ul spacing="normal">
          <li>
            <t>Code: 0xTBD</t>
          </li>
          <li>
            <t>Frame Type: AUTHENTICATOR_REQUESTS</t>
          </li>
          <li>
            <t>Reference: This document</t>
          </li>
        </ul>
      </section>
      <section anchor="http3-frame-types">
        <name>HTTP/3 Frame Types</name>
        <t>This specification registers the following entry in the "HTTP/3 Frame Types" registry defined in <xref target="H3"/>:</t>
        <t><tt>AUTHENTICATOR_REQUESTS</tt> frame:</t>
        <ul spacing="normal">
          <li>
            <t>Value: 0xTBD</t>
          </li>
          <li>
            <t>Frame Type: AUTHENTICATOR_REQUESTS</t>
          </li>
          <li>
            <t>Status: provisional (permanent if this document is approved)</t>
          </li>
          <li>
            <t>Reference: This document</t>
          </li>
          <li>
            <t>Change Controller: Yaroslav Rosomakho (IETF if this document is approved)</t>
          </li>
          <li>
            <t>Contact: yrosomakho@zscaler.com (HTTP_WG; HTTP working group; ietf-http-wg@w3.org if this document is approved)</t>
          </li>
          <li>
            <t>Notes: None</t>
          </li>
        </ul>
      </section>
      <section anchor="http2-setting">
        <name>HTTP/2 Setting</name>
        <t>This specification registers the following entry in the "HTTP/2 Settings" registry defined in <xref target="H2"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Code: 0xTBD</t>
          </li>
          <li>
            <t>Name: SETTINGS_HTTP_CLIENT_CERT_AUTH</t>
          </li>
          <li>
            <t>Initial Value: 0</t>
          </li>
          <li>
            <t>Reference: This document</t>
          </li>
        </ul>
      </section>
      <section anchor="http3-setting">
        <name>HTTP/3 Setting</name>
        <t>This specification registers the following entry in the "HTTP/3 Settings" registry defined in <xref target="H3"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Code: 0xTBD</t>
          </li>
          <li>
            <t>Setting Name: SETTINGS_HTTP_CLIENT_CERT_AUTH</t>
          </li>
          <li>
            <t>Default: 0</t>
          </li>
          <li>
            <t>Status: provisional (permanent if this document is approved)</t>
          </li>
          <li>
            <t>Reference: This document</t>
          </li>
          <li>
            <t>Change Controller: Yaroslav Rosomakho (IETF if this document is approved)</t>
          </li>
          <li>
            <t>Contact: yrosomakho@zscaler.com (HTTP_WG; HTTP working group; ietf-http-wg@w3.org if this document is approved)</t>
          </li>
          <li>
            <t>Notes: None</t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <displayreference target="H2" to="HTTP/2"/>
    <displayreference target="H3" to="HTTP/3"/>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="H2">
        <front>
          <title>HTTP/2</title>
          <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
          <author fullname="C. Benfield" initials="C." role="editor" surname="Benfield"/>
          <date month="June" year="2022"/>
          <abstract>
            <t>This specification describes an optimized expression of the semantics of the Hypertext Transfer Protocol (HTTP), referred to as HTTP version 2 (HTTP/2). HTTP/2 enables a more efficient use of network resources and a reduced latency by introducing field compression and allowing multiple concurrent exchanges on the same connection.</t>
            <t>This document obsoletes RFCs 7540 and 8740.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9113"/>
        <seriesInfo name="DOI" value="10.17487/RFC9113"/>
      </reference>
      <reference anchor="H3">
        <front>
          <title>HTTP/3</title>
          <author fullname="M. Bishop" initials="M." role="editor" surname="Bishop"/>
          <date month="June" year="2022"/>
          <abstract>
            <t>The QUIC transport protocol has several features that are desirable in a transport for HTTP, such as stream multiplexing, per-stream flow control, and low-latency connection establishment. This document describes a mapping of HTTP semantics over QUIC. This document also identifies HTTP/2 features that are subsumed by QUIC and describes how HTTP/2 extensions can be ported to HTTP/3.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9114"/>
        <seriesInfo name="DOI" value="10.17487/RFC9114"/>
      </reference>
      <reference anchor="TLS">
        <front>
          <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
          <date month="August" year="2018"/>
          <abstract>
            <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
            <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8446"/>
        <seriesInfo name="DOI" value="10.17487/RFC8446"/>
      </reference>
      <reference anchor="EXPORTED-AUTH">
        <front>
          <title>Exported Authenticators in TLS</title>
          <author fullname="N. Sullivan" initials="N." surname="Sullivan"/>
          <date month="July" year="2022"/>
          <abstract>
            <t>This document describes a mechanism that builds on Transport Layer Security (TLS) or Datagram Transport Layer Security (DTLS) and enables peers to provide proof of ownership of an identity, such as an X.509 certificate. This proof can be exported by one peer, transmitted out of band to the other peer, and verified by the receiving peer.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9261"/>
        <seriesInfo name="DOI" value="10.17487/RFC9261"/>
      </reference>
      <reference anchor="SECONDARY-SERVER">
        <front>
          <title>Secondary Certificate Authentication of HTTP Servers</title>
          <author fullname="Eric Gorbaty" initials="E." surname="Gorbaty">
            <organization>Apple</organization>
          </author>
          <author fullname="Mike Bishop" initials="M." surname="Bishop">
            <organization>Akamai</organization>
          </author>
          <date day="12" month="October" year="2024"/>
          <abstract>
            <t>   This document defines a way for HTTP/2 and HTTP/3 servers to send
   additional certificate-based credentials after a TLS connection is
   established, based on TLS Exported Authenticators.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-secondary-server-certs-01"/>
      </reference>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
    </references>
    <?line 330?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+1c63IbR3b+P0/RS/1YcguATFHrlenVrmGSspiSSIWEvHFS
Kakx0wDamgt2eoYUzFIqr5F/eZY8Sp4k59Ld0zOYISjZValKxeUSgbl09zl9
Lt+5NMbjcVTpKlXHYu9axUWeyHIjTlRZ6YWOZaXEtK5WKq/wiy5yUSzEy9ns
jThJNVw1e5Gcz0t1036d74XDwIP4Z1mUm2NhqiSKkiLOZQbzJqVcVOOyMEUm
P6yK8aqq1nNtxsaNN45pvHEMw5nxV19Fpp5n2hhYTrVZwwjnZ7MXQjwSMjUF
LETniVor+Cev9kZiTyW6KkotU/xyPv0e/hQlfLqavdiL8jqbq/I4SmBxxxFM
aFRuanMsqrJWEZB1FMlSSRh1L7otyg/LsqjX8A15sBd9UBu4mBxHYizUx3VR
VioRsmFYURq8lUnzdxxN5TVMIkR7ECGYij38mEmdIgmqWhAjxrfL726PJkW5
xLuyjFdwF2+Y48ePU20qM+Hbj6dwT98o8/hNPU91/Dgc4jG+vNTVqp7D6xsJ
zE7lDfz7+H5m42sp7l4VzBq8PuExJ7rYMdDjz9vkyarK0r0oQlYWJbIXFiLE
ok5Tlpmf7BrElRuRHgA+yFz/QpJ6LP7ZxDJVJd1RzNiNX8F3v/DdSVxk0fYE
/1DkslrJXLwsNqnMk57hT9KiThYpiEc4w8/2xcmKX/xuidd5lrwoM3j5hoTg
5ZNjeu/5sbh6cfLN4eERfU20WacSlASF4/ETfPCo8+DTngePokjni2b8KBqP
x0LOTVXKuIqi2UobASpXZ8BkkaiFzpURUmQqhsVqkwl42c4pYNl2VBFbVa4K
sS6LG50oIRNQKOCATEXcKPh4Lg0If1wq1DvQNhh9UalSgDKI2atrAdMkZiU/
KPhkBPBjnSpQl5Gojc6X9MiZU6FpS4Um4m2eangRaGmmpoWFyobWKalLHGxr
zhFcAgY01Mo0LW5NmzxlcMSsTisNawuJM6K4saSkeqEqnSk0hFIYRWZowuzO
dJKkKooeifO8KoukjnFRUXR39ztYzXPYvWdPn3796ZNjJbAIDOqaVo7s30mT
zjWyNqRrXldMm1zDqDJeEXuNgvXCg6nOdEXDABfPK1Gqv9caCBVKlukGdwHu
k0gAB4AcmAgo17SF1YYEIYY1om0z7vpig8vx0gYrBNbBp7pU6WYyLGqwvKqI
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
dE3yTAAA

-->

</rfc>
