<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-kemp-oauth-x509-bearer-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="OAuth X.509 Bearer">X.509 Certificate Bearer Profile for OAuth 2.0 Client Authentication and Authorization Grants</title>
    <seriesInfo name="Internet-Draft" value="draft-kemp-oauth-x509-bearer-00"/>
    <author fullname="John Kemp">
      <organization>Your Organization Here</organization>
      <address>
        <email>unstable.pseudonym@stabledomain.net</email>
      </address>
    </author>
    <date year="2026" month="September" day="02"/>
    <area>Security</area>
    <workgroup>Web Authorization Protocol</workgroup>
    <keyword>oauth</keyword>
    <keyword>x.509</keyword>
    <keyword>pki</keyword>
    <keyword>client authentication</keyword>
    <keyword>assertion</keyword>
    <keyword>bearer token</keyword>
    <abstract>
      <?line 65?>

<t>This specification defines the use of an X.509 certificate, issued
under a Public Key Infrastructure (PKI), as a means for requesting an
OAuth 2.0 access token as well as for client authentication, profiling
the Assertion Framework for OAuth 2.0 Client Authentication and
Authorization Grants in a manner analogous to the JSON Web Token (JWT)
Bearer Token profile and the SAML 2.0 Bearer Assertion profile. It is
motivated primarily by workload identity systems, such as SPIFFE/SPIRE
and Athenz, that already issue software workloads short-lived X.509
certificates for mutual TLS, and that benefit from using those same
certificates directly with OAuth 2.0. Unlike a bare bearer credential,
this profile requires that possession of the private key corresponding
to the certificate's public key be corroborated as part of every use,
so that a copy of the certificate alone -- which is not a secret -- is
never sufficient to obtain a grant or authenticate a client.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://frumioj.github.io/draft-kemp-oauth-x509-bearer/draft-kemp-oauth-x509-bearer.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-kemp-oauth-x509-bearer/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Web Authorization Protocol Working Group mailing list (<eref target="mailto:oauth@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/oauth/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/oauth/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/frumioj/draft-kemp-oauth-x509-bearer"/>.</t>
    </note>
  </front>
  <middle>
    <?line 83?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>JSON Web Token (JWT) <xref target="RFC7523"/> and Security Assertion Markup Language
(SAML) 2.0 <xref target="RFC7522"/> bearer assertion profiles allow a client that
already holds a security token, issued by a trusted party, to present that
token directly to an OAuth 2.0 <xref target="RFC6749"/> authorization server (AS) --
either as an authorization grant or as a client authentication mechanism
-- without minting a purpose-built, single-use assertion for every
request. This specification is motivated primarily by workload identity
systems: infrastructure that automatically issues and rotates short-lived
X.509 certificates <xref target="RFC5280"/> to software workloads -- services,
processes, or automated agents, as distinct from human end users -- as
their means of cryptographic identity, typically as part of a service
mesh or zero-trust network architecture. SPIFFE and its SPIRE runtime
<xref target="SPIFFE-X509-SVID"/> and Athenz <xref target="ATHENZ-X509"/> are two examples of such
systems in current production use; both issue workloads an X.509
certificate carrying a URI Subject Alternative Name (SAN), commonly using
the "spiffe://" URI scheme, as the workload's primary identifier (see
<xref target="terminology"/>). A workload that already holds such a certificate, and
that already uses it to authenticate over mutual TLS to its peers,
benefits from being able to use that same certificate and trust
relationship directly with an OAuth 2.0 authorization server, instead of
provisioning and operating a separate JWT issuer solely to obtain OAuth
tokens. This specification is not limited to workload identity
deployments, but they are its primary motivating use case, and are
referenced throughout as running examples.</t>
      <t>This specification profiles the OAuth Assertion Framework <xref target="RFC7521"/> to
define an extension grant type that uses an X.509 certificate to request
an OAuth 2.0 access token, as well as for use as a client authentication
credential. The format and processing rules defined here are
intentionally similar, though not identical, to those in <xref target="RFC7523"/> and
<xref target="RFC7522"/>; the differences arise from the structure and semantics of
X.509 certificates, which were designed to bind a public key to a subject
identity for use across many contexts and over comparatively long
lifetimes, and not to express single-transaction claims such as an
intended audience or an issuance time for one specific request.</t>
      <t>This specification is related to, but distinct from, "OAuth 2.0 Mutual-TLS
Client Authentication and Certificate-Bound Access Tokens" <xref target="RFC8705"/>.
RFC 8705 authenticates a client using the certificate presented during
the TLS handshake with the authorization server itself, and does not
define a way to use a certificate as an authorization grant. This
specification instead carries a reference to (or, when necessary, a copy
of) an X.509 certificate as an assertion value within the token request,
which allows the same underlying PKI-issued identity to also be used as
an authorization grant, and accommodates deployments in which TLS is
terminated in front of the authorization server's application logic (for
example, by a load balancer or reverse proxy) and the verified client
certificate is forwarded to the token endpoint by a trusted intermediary.
Because a certificate, unlike a private key, is not itself a secret,
Section 3 of this document requires that proof of possession of the
associated private key be corroborated by one of these mechanisms as part
of processing every request; see also Section 6 (Security
Considerations). Once a grant has been obtained or a client
authenticated under this profile, <xref target="cnf"/> recommends carrying that same
proof-of-possession property forward into the issued access token by
reusing RFC 8705's certificate-bound access token mechanism, so that PKI
possession is required consistently across the whole exchange rather than
only at the token endpoint.</t>
      <t>The process by which the client obtains its X.509 certificate, prior to
using it with the authorization server, is out of scope of this document.</t>
      <section anchor="notational-conventions">
        <name>Notational Conventions</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?>

<t>Unless otherwise noted, all the protocol parameter names and values are
case sensitive.</t>
      </section>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>All terms are as defined in the following specifications: "The OAuth 2.0
Authorization Framework" <xref target="RFC6749"/>, the OAuth Assertion Framework
<xref target="RFC7521"/>, and "Internet X.509 Public Key Infrastructure Certificate
and Certificate Revocation List (CRL) Profile" <xref target="RFC5280"/>.</t>
        <dl>
          <dt>X.509 Bearer Certificate:</dt>
          <dd>
            <t>An X.509 certificate, valid under <xref target="RFC5280"/>, used as an assertion
per this specification, together with a corroborated proof that the
presenting party possesses the private key corresponding to the
certificate's public key.</t>
          </dd>
          <dt>Issuing CA:</dt>
          <dd>
            <t>The Certification Authority identified in the Issuer field of an X.509
Bearer Certificate.</t>
          </dd>
          <dt>Workload:</dt>
          <dd>
            <t>A software workload -- a service, process, or automated agent -- as
distinct from a human end user, that acts as an OAuth client, a
resource owner, or both, in its own right.</t>
          </dd>
          <dt>Workload Identity Certificate:</dt>
          <dd>
            <t>An X.509 Bearer Certificate issued to a Workload by a workload identity
control plane (for example, a SPIRE server implementing SPIFFE
<xref target="SPIFFE-X509-SVID"/>, or Athenz <xref target="ATHENZ-X509"/>), as distinct from a
certificate issued to a human end user by a general-purpose enterprise
or public PKI. Workload Identity Certificates are typically valid for
a short, fixed lifetime, are rotated automatically and frequently by
the issuing control plane well before expiry, and identify the
Workload using a URI SubjectAltName, commonly one using the
"spiffe://" URI scheme, rather than (or in addition to) a Subject
distinguished name.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="http-parameter-bindings-for-transporting-x509-certificate-assertions">
      <name>HTTP Parameter Bindings for Transporting X.509 Certificate Assertions</name>
      <t>The OAuth Assertion Framework <xref target="RFC7521"/> defines generic HTTP parameters
for transporting assertions (a.k.a. security tokens) during interactions
with a token endpoint. This section defines specific parameters and
treatments of those parameters for use with X.509 Bearer Certificates.</t>
      <section anchor="grants">
        <name>Using X.509 Certificates as Authorization Grants</name>
        <t>To use an X.509 Bearer Certificate as an authorization grant, the client
uses an access token request as defined in Section 4 of the OAuth
Assertion Framework <xref target="RFC7521"/> with the following specific parameter
values and encodings.</t>
        <t>The value of the "grant_type" is
"urn:ietf:params:oauth:grant-type:x509-bearer".</t>
        <t>The value of the "assertion" parameter <bcp14>MUST</bcp14> contain a single X.509
certificate, encoded as the base64url <xref target="RFC7521"/>-style encoding
(unpadded, per the base64url alphabet) of the certificate's DER
<xref target="RFC5280"/> encoding, or, when the client reaches the token endpoint over
a mutually authenticated TLS connection, a thumbprint reference to that
same certificate as defined in <xref target="thumbprint"/>.</t>
        <t>The "scope" parameter may be used, as defined in the OAuth Assertion
Framework <xref target="RFC7521"/>, to indicate the requested scope.</t>
        <t>Authentication of the client is optional, as described in Section 3.2.1
of OAuth 2.0 <xref target="RFC6749"/>, and consequently the "client_id" is only needed
when a form of client authentication that relies on the parameter is
used.</t>
        <t>The following example demonstrates an access token request with an X.509
certificate as an authorization grant (with extra line breaks for display
purposes only):</t>
        <artwork><![CDATA[
POST /token.oauth2 HTTP/1.1
Host: as.example.com
Content-Type: application/x-www-form-urlencoded

grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ax509-bearer
&assertion=MIIDXTCCAkWgAwIBAgIJAKrX1234abcd
[...omitted for brevity...]
]]></artwork>
      </section>
      <section anchor="client-auth">
        <name>Using X.509 Certificates for Client Authentication</name>
        <t>To use an X.509 Bearer Certificate for client authentication, the client
uses the following parameter values and encodings.</t>
        <t>The value of the "client_assertion_type" is
"urn:ietf:params:oauth:client-assertion-type:x509-bearer".</t>
        <t>The value of the "client_assertion" parameter contains a single X.509
certificate, encoded as described in <xref target="grants"/>, or a thumbprint
reference as described in <xref target="thumbprint"/>. It <bcp14>MUST NOT</bcp14> contain more than
one certificate or reference.</t>
        <t>The following example demonstrates client authentication using an X.509
certificate during the presentation of an authorization code grant in an
access token request (with extra line breaks for display purposes only):</t>
        <artwork><![CDATA[
POST /token.oauth2 HTTP/1.1
Host: as.example.com
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&
code=n0esc3NRze7LTCu7iYzS6a5acc3f0ogp4&
client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3A
client-assertion-type%3Ax509-bearer&
client_assertion=MIIDXTCCAkWgAwIBAgIJAKrX1234abcd
[...omitted for brevity...]
]]></artwork>
      </section>
      <section anchor="thumbprint">
        <name>Referencing the Certificate Presented for Mutual TLS</name>
        <t>When the client reaches the token endpoint over a mutually authenticated
TLS <xref target="RFC9846"/> connection, the certificate it presented during that TLS
handshake is already available to the authorization server, and
embedding a full copy of it a second time in the "assertion" or
"client_assertion" value is unnecessary. In this case, the client <bcp14>MAY</bcp14>
instead send a reference to that certificate, consisting of the literal
string "x5t#S256:" followed immediately by the base64url-encoded
(unpadded) SHA-256 digest of the certificate's DER <xref target="RFC5280"/> encoding
-- computed identically to the "x5t#S256" confirmation method value
defined in Section 3.1 of <xref target="RFC8705"/>. Because neither "#" nor ":" occur
in the base64url alphabet, this reference form can never be mistaken for
the base64url-encoded certificate encoding described in <xref target="grants"/> and
<xref target="client-auth"/>.</t>
        <t>An authorization server that receives an "assertion" or
"client_assertion" value in this form <bcp14>MUST</bcp14> independently obtain the
actual certificate from a source it trusts for the corroboration
required by item 7 of <xref target="format"/> -- either the certificate presented on
its own TLS connection with the client, or a certificate or thumbprint
forwarded by a trusted intermediary -- and <bcp14>MUST</bcp14> verify that the SHA-256
digest of that certificate's DER encoding matches the referenced
thumbprint before proceeding. An authorization server <bcp14>MUST NOT</bcp14> accept a
thumbprint reference together with a certificate supplied elsewhere in
the client's request as if the two were mutually corroborating; the
certificate the thumbprint is checked against <bcp14>MUST</bcp14> come from the TLS
layer or a trusted intermediary, never from the request itself.</t>
        <t>This reference form is only meaningful when proof of possession is
otherwise corroborated per item 7 of <xref target="format"/>; it is a shorthand for
avoiding retransmission of a certificate the authorization server already
has, not a substitute for that corroboration.</t>
        <t>The following example shows the client authentication example above
expressed as a thumbprint reference instead of a full certificate, using
the certificate from the example in <xref target="grants"/>, with extra line breaks
for display purposes only:</t>
        <artwork><![CDATA[
POST /token.oauth2 HTTP/1.1
Host: as.example.com
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&
code=n0esc3NRze7LTCu7iYzS6a5acc3f0ogp4&
client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3A
client-assertion-type%3Ax509-bearer&
client_assertion=x5t%23S256%3AkOpPSFiF3aL3tqsXOu72sHNitAB75QQLs6R81Q
_yX6g
]]></artwork>
      </section>
    </section>
    <section anchor="format">
      <name>X.509 Certificate Format and Processing Requirements</name>
      <t>In order to issue an access token response as described in OAuth 2.0
<xref target="RFC6749"/> or to rely on an X.509 certificate for client authentication,
the authorization server <bcp14>MUST</bcp14> validate the certificate and the request
according to the criteria below. Throughout this section, "the
certificate" refers to the X.509 certificate conveyed by the "assertion"
or "client_assertion" value, whether encoded directly as described in
<xref target="grants"/> and <xref target="client-auth"/> or identified by a thumbprint reference as
described in <xref target="thumbprint"/>. Application of additional restrictions and
policy are at the discretion of the authorization server.</t>
      <ol spacing="normal" type="1"><li>
          <t>The certificate <bcp14>MUST</bcp14> be well-formed and valid under <xref target="RFC5280"/>,
<bcp14>MUST</bcp14> chain to a trust anchor configured at the authorization server
(either directly or via a configured set of intermediate CA
certificates), and <bcp14>MUST NOT</bcp14> be revoked, as determined per the
authorization server's configured revocation-checking mechanism (for
example, CRLs or OCSP <xref target="RFC6960"/>).</t>
        </li>
        <li>
          <t>The Issuer field of the certificate identifies the Issuing CA, which
fills a role equivalent to the "iss" claim in <xref target="RFC7523"/>. The
authorization server <bcp14>MUST</bcp14> have a pre-established trust relationship
with the Issuing CA, and <bcp14>MUST NOT</bcp14> accept certificates from CAs outside
its configured set of trust anchors.</t>
        </li>
        <li>
          <t>The Subject field and/or the subjectAltName extension of the
certificate identifies the principal that is the subject of the
certificate, filling a role equivalent to the "sub" claim in
<xref target="RFC7523"/>. Two cases need to be differentiated:  </t>
          <t>
A. For the authorization grant, the subject typically identifies an
   authorized accessor for which the access token is being requested
   (i.e., the resource owner or an authorized delegate).  </t>
          <t>
B. For client authentication, the subject, or a specific
   subjectAltName value designated for this purpose by prior
   agreement between the client and the authorization server, <bcp14>MUST</bcp14>
   correspond to the "client_id" of the OAuth client.  </t>
          <t>
The authorization server <bcp14>MUST</bcp14> be configured, per Issuing CA, with the
rule used to extract the relevant identifier from the Subject field or
subjectAltName extension. For a Workload Identity Certificate
(<xref target="terminology"/>), this identifier is typically a URI SAN, commonly
one using the "spiffe://" URI scheme as issued by SPIFFE/SPIRE
<xref target="SPIFFE-X509-SVID"/> or Athenz <xref target="ATHENZ-X509"/>; authorization servers
supporting Workload Identity Certificates <bcp14>SHOULD</bcp14> extract the subject
identifier from the URI SAN in preference to the Subject field, which
such certificates often leave empty or unpopulated.</t>
        </li>
        <li>
          <t>X.509 certificates as defined in <xref target="RFC5280"/> have no field with
semantics equivalent to the JWT "aud" claim. Audience restriction for
this profile is therefore established out of band between the
Issuing CA (or its operator) and the authorization server, as part of
the same agreement that establishes the trust anchor relationship
described in item 2 above; see also <xref target="interop"/>. Where the subject
identifier is a "spiffe://" URI SAN as described in item 3, the trust
domain component of that URI (the authority component immediately
following the scheme) <bcp14>MAY</bcp14> additionally be used by the authorization
server as an informal, coarse-grained signal for which relying
parties a given Issuing CA's certificates are intended for, but doing
so is a matter of local policy and does not by itself substitute for
the out-of-band trust agreement described above. A future revision of
this specification, or a companion specification, <bcp14>MAY</bcp14> define an X.509
certificate extension carrying an explicit, in-band audience
restriction for deployments that require it; in the absence of such an
extension, the authorization server <bcp14>MUST</bcp14> rely on its out-of-band
configuration to determine whether it is an intended relying party for
certificates issued by a given Issuing CA.</t>
        </li>
        <li>
          <t>The certificate's notBefore and notAfter validity fields fill roles
equivalent to the "nbf" and "exp" claims in <xref target="RFC7523"/>. The
authorization server <bcp14>MUST</bcp14> reject any certificate that is not currently
within its validity period, subject to allowable clock skew between
systems. The authorization server <bcp14>MAY</bcp14> reject certificates whose
remaining validity period is unreasonably long for use as a bearer
assertion under this profile; see <xref target="interop"/>.</t>
        </li>
        <li>
          <t>The combination of the Issuer field and the certificate's serialNumber
fills a role equivalent to the "jti" claim in <xref target="RFC7523"/> as a unique
identifier for the token. The authorization server <bcp14>MAY</bcp14> track
(Issuer, serialNumber) pairs it has already processed, within a
configured window, to detect and reject replayed requests; see
<xref target="security"/>.</t>
        </li>
        <li>
          <t>The authorization server <bcp14>MUST</bcp14> corroborate that the party presenting
the certificate possesses the private key corresponding to the
certificate's public key. This corroboration <bcp14>MUST</bcp14> be established by
one of the following means:  </t>
          <t>
A. The certificate presented as the "assertion" or "client_assertion"
   value is the same certificate the client presented during mutual
   TLS authentication of the connection to the token endpoint, per
   <xref target="RFC9846"/>, thereby directly proving possession as part of the TLS
   handshake; or  </t>
          <t>
B. The certificate was forwarded to the authorization server by a
   trusted intermediary (for example, a TLS-terminating reverse proxy
   or load balancer situated directly in front of the authorization
   server) over a channel the authorization server trusts, together
   with an attestation from that intermediary that the certificate was
   successfully used to authenticate a TLS client during the
   connection now being forwarded.  </t>
          <t>
A certificate presented as an "assertion" or "client_assertion" value
without either form of corroboration <bcp14>MUST</bcp14> be rejected. See
<xref target="security"/>. When the "assertion" or "client_assertion" value is a
thumbprint reference per <xref target="thumbprint"/>, mechanism (A) is satisfied
directly: the authorization server computes the comparison thumbprint
from the certificate it obtained via its own TLS handshake with the
client, rather than from a certificate encoded in the request itself.</t>
        </li>
        <li>
          <t>The authorization server <bcp14>MUST</bcp14> reject a certificate that is not valid
in all other respects per <xref target="RFC5280"/>, including but not limited to
key usage and extended key usage constraints applicable to this use,
where such constraints are configured by the authorization server.</t>
        </li>
      </ol>
      <section anchor="authorization-grant-processing">
        <name>Authorization Grant Processing</name>
        <t>X.509 Bearer Certificate authorization grants may be used with or without
client authentication or identification. Whether or not client
authentication is needed in conjunction with an X.509 Bearer Certificate
authorization grant, as well as the supported types of client
authentication, are policy decisions at the discretion of the
authorization server. However, if client credentials are present in the
request, the authorization server <bcp14>MUST</bcp14> validate them.</t>
        <t>If the certificate is not valid, or the current time is not within the
certificate's valid time window for use, or proof of possession cannot be
corroborated as required by item 7 of <xref target="format"/>, the authorization
server constructs an error response as defined in OAuth 2.0 <xref target="RFC6749"/>.
The value of the "error" parameter <bcp14>MUST</bcp14> be the "invalid_grant" error
code. The authorization server <bcp14>MAY</bcp14> include additional information
regarding the reasons the certificate was considered invalid using the
"error_description" or "error_uri" parameters.</t>
        <t>For example:</t>
        <artwork><![CDATA[
HTTP/1.1 400 Bad Request
Content-Type: application/json
Cache-Control: no-store

{
 "error":"invalid_grant",
 "error_description":"Certificate chain did not validate to a
  trusted root"
}
]]></artwork>
      </section>
      <section anchor="client-authentication-processing">
        <name>Client Authentication Processing</name>
        <t>If the client's certificate is not valid, the authorization server
constructs an error response as defined in OAuth 2.0 <xref target="RFC6749"/>. The
value of the "error" parameter <bcp14>MUST</bcp14> be the "invalid_client" error code.
The authorization server <bcp14>MAY</bcp14> include additional information regarding
the reasons the certificate was considered invalid using the
"error_description" or "error_uri" parameters.</t>
      </section>
      <section anchor="cnf">
        <name>Certificate-Bound Access Tokens</name>
        <t>When an authorization server issues an access token as a result of
successfully processing an X.509 Bearer Certificate authorization grant
(<xref target="grants"/>), or after authenticating a client using an X.509 Bearer
Certificate under this profile (<xref target="client-auth"/>), the authorization
server <bcp14>SHOULD</bcp14> bind the resulting access token to that certificate using
the certificate-bound access token mechanism defined in Section 3 of
<xref target="RFC8705"/>, rather than issuing a plain bearer access token. Doing so
carries the proof-of-possession property established when the
certificate was corroborated per item 7 of <xref target="format"/> forward to the
resource server, using the same "x5t#S256" confirmation method value
already reused for the reference form defined in <xref target="thumbprint"/>, so that
use of the access token also requires possession of the same private key
that was required to obtain it.</t>
        <t>An authorization server <bcp14>MAY</bcp14> instead issue a plain bearer access token
<xref target="RFC6750"/> when local policy determines that certificate binding is
unnecessary for the resource being protected, but doing so discards the
proof-of-possession property this profile otherwise provides throughout
the request, and <bcp14>SHOULD</bcp14> be a deliberate policy choice rather than a
default.</t>
      </section>
    </section>
    <section anchor="authorization-grant-example">
      <name>Authorization Grant Example</name>
      <t>The following example illustrates what a conforming certificate and an
access token request would look like.</t>
      <t>The example shows a Workload Identity Certificate (<xref target="terminology"/>)
issued to a "billing" workload by the Issuing CA identified as
"CN=Example Workload CA, O=Example Corp, C=US". The subject of the
certificate is identified by a "spiffe://" URI SAN,
"spiffe://example.org/ns/prod/sa/billing", per <xref target="SPIFFE-X509-SVID"/>, and
is valid for one hour, consistent with automatic rotation by the issuing
workload identity control plane. The authorization server
"https://authz.example.net" has been configured, out of band, to trust
certificates issued by this CA, and to treat the trust domain
"example.org" as identifying an intended relying party, as described in
<xref target="interop"/>. The client presents the certificate over a mutually
authenticated TLS connection to the authorization server's token endpoint
at "https://authz.example.net/token.oauth2".</t>
      <t>Below is a summary of the relevant fields of the certificate:</t>
      <artwork><![CDATA[
Issuer: CN=Example Workload CA, O=Example Corp, C=US
Subject: (empty)
Subject Alternative Name: URI = spiffe://example.org/ns/prod/sa/billing
Validity:
    Not Before: 2026-08-19T12:00:00Z
    Not After:  2026-08-19T13:00:00Z
Serial Number: 4096
]]></artwork>
      <t>To present this certificate as part of an access token request, the
client -- having already established the connection above via mutual TLS
using this same certificate -- might make the following HTTPS request
(with extra line breaks for display purposes only):</t>
      <artwork><![CDATA[
POST /token.oauth2 HTTP/1.1
Host: authz.example.net
Content-Type: application/x-www-form-urlencoded

grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ax509-bearer
&assertion=MIIDXTCCAkWgAwIBAgIQEBAAAAAAAAAAAAAAAAAAADANBgkqhkiG9w0B
AQsFADBAMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRXhhbXBsZSBDb3Jw
[...omitted for brevity...]
]]></artwork>
    </section>
    <section anchor="interop">
      <name>Interoperability Considerations</name>
      <t>Agreement between system entities regarding trust anchors, identifiers,
and endpoints is required in order to achieve interoperable deployments
of this profile. Specific items that require agreement are as follows:
the set of trust anchors and Issuing CAs recognized by the authorization
server, the rule used to map a certificate's Subject field or
subjectAltName extension to a resource owner identity or "client_id",
which Issuing CAs' certificates the authorization server considers itself
an intended relying party for (in lieu of an in-band "aud" equivalent, per
item 4 of <xref target="format"/>), the revocation-checking mechanism to be used, the
mechanism by which proof of possession is corroborated (direct mutual TLS
to the authorization server versus a trusted forwarding intermediary, per
item 7 of <xref target="format"/>), whether the authorization server accepts the
thumbprint reference form of <xref target="thumbprint"/> in addition to, or instead
of, a fully encoded certificate, and any maximum certificate lifetime the
authorization server will accept for use under this profile. The exchange
of such information is explicitly out of scope for this specification.
Where the Issuing CA is a workload identity control plane, some or all of
this agreement may be established and kept current automatically, for
example by having the authorization server obtain and refresh its set of
trust anchors from a SPIFFE trust bundle endpoint <xref target="SPIFFE-X509-SVID"/> or
an equivalent mechanism, rather than through static, manually configured
trust anchors; this specification does not define such a mechanism and
treats it as an implementation detail of how the out-of-band agreement
above is kept up to date.</t>
      <t>Because certificates issued for general-purpose PKI use are typically
valid for periods far longer than is typical for a JWT or SAML bearer
assertion, deployments <bcp14>SHOULD</bcp14> either issue certificates intended for use
under this profile with comparatively short validity periods, or have the
authorization server apply a locally configured maximum acceptable
remaining lifetime, or both. Workload Identity Certificates
(<xref target="terminology"/>) issued by systems such as SPIFFE/SPIRE
<xref target="SPIFFE-X509-SVID"/> or Athenz <xref target="ATHENZ-X509"/> already follow this
practice by design, typically being valid for periods on the order of
minutes to hours and rotated automatically well before expiry; deployments
using such certificates under this profile satisfy this recommendation
without additional configuration, and this is the expected deployment
pattern this specification is primarily designed around; see also
<xref target="security"/>.</t>
      <t>RSA with SHA-256, and ECDSA with curve P-256 and SHA-256, are <bcp14>RECOMMENDED</bcp14>
baseline certificate signature algorithms for this profile, to maximize
interoperability.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>The security considerations described within the following
specifications are all applicable to this document: "Assertion Framework
for OAuth 2.0 Client Authentication and Authorization Grants"
<xref target="RFC7521"/>, "The OAuth 2.0 Authorization Framework" <xref target="RFC6749"/>, and
"Internet X.509 Public Key Infrastructure Certificate and Certificate
Revocation List (CRL) Profile" <xref target="RFC5280"/>.</t>
      <t>Unlike a JWT or SAML assertion, whose bearer semantics rely on the
issuer's signature over a short-lived, narrowly scoped set of claims, an
X.509 certificate is designed to be shared openly: it is routinely sent
in the clear during TLS handshakes, may be logged by intermediaries,
and, for publicly trusted CAs, may be published in Certificate
Transparency logs. A certificate is therefore not a secret, and a copy
of one proves nothing about who is presenting it. For this reason, this
specification requires, in item 7 of <xref target="format"/>, that possession of the
certificate's private key be corroborated for every request, either
through the TLS handshake to the authorization server itself or through
an attestation from a trusted intermediary. Implementations <bcp14>MUST NOT</bcp14>
grant access, and <bcp14>MUST NOT</bcp14> authenticate a client, solely on the basis
that a syntactically and cryptographically valid certificate was
presented as an "assertion" or "client_assertion" value; doing so would
allow trivial impersonation by any party that obtained a copy of the
certificate, without needing the associated private key.</t>
      <t>Authorization servers <bcp14>SHOULD</bcp14> track recently processed
(Issuer, serialNumber) pairs, within a window derived from the
certificate's validity period or a locally configured limit, to reduce
the impact of a request being replayed even when proof of possession
corroboration per item 7 of <xref target="format"/> is somehow satisfied more than
once (for example, by a compromised or overly permissive forwarding
intermediary).</t>
      <t>For general-purpose, longer-lived certificates, revocation checking is
particularly important under this profile, since certificate validity
periods can be much longer than the lifetime of a JWT or SAML bearer
assertion; a compromised private key can otherwise remain usable under
this profile for a much longer window than would be typical of the
analogous JWT or SAML bearer profiles. For Workload Identity Certificates
(<xref target="terminology"/>), whose short validity periods and frequent, automatic
rotation are themselves the primary mitigation against a compromised
private key remaining usable for long, revocation checking is a useful
defense-in-depth measure but is less load-bearing than certificate
lifetime, and authorization servers deployed against such certificates
<bcp14>MAY</bcp14> choose not to perform revocation checking at all, provided the
configured maximum acceptable certificate lifetime (see <xref target="interop"/>) is
short enough that the risk is otherwise acceptable.</t>
      <t>Authorization servers configured to trust more than one Issuing CA <bcp14>MUST</bcp14>
ensure that identifiers extracted from a certificate issued by one CA are
not confused with, or allowed to impersonate, identifiers meant to be
asserted only by a different CA.</t>
      <t>The thumbprint reference form defined in <xref target="thumbprint"/> is only as
trustworthy as the source the authorization server checks it against. An
authorization server <bcp14>MUST</bcp14> compute the comparison thumbprint from a
certificate it obtained itself, either from its own TLS stack or from a
trusted intermediary via a channel the client cannot influence; it
<bcp14>MUST NOT</bcp14> accept a thumbprint together with a client-supplied certificate
purporting to match it, since a client able to influence both values
could reference an arbitrary certificate it does not hold the private
key for.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>An X.509 certificate typically contains more identifying information
than the minimal set of claims a deployment would choose for a JWT or
SAML bearer assertion, and, being a long-lived, widely presented
credential, can act as a stable identifier that enables correlation of a
subject's activity across the multiple relying parties the certificate is
presented to. To prevent disclosure of such information to unintended
parties, an X.509 Bearer Certificate should only be transmitted over
encrypted channels, such as those provided by TLS <xref target="RFC9846"/>.</t>
      <t>Deployments should determine the minimum amount of information necessary
in the Subject field and subjectAltName extension to complete the
exchange, should consider issuing purpose-specific certificates rather
than reusing a single general-purpose certificate across unrelated
relying parties, and should consult the guidance in <xref target="RFC6973"/> when
designing the identifiers a certificate exposes.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="sub-namespace-registration-of-urnietfparamsoauthgrant-typex509-bearer">
        <name>Sub-Namespace Registration of urn:ietf:params:oauth:grant-type:x509-bearer</name>
        <t>This section registers the value "grant-type:x509-bearer" in the IANA
"OAuth URI" registry established by "An IETF URN Sub-Namespace for OAuth"
<xref target="RFC6755"/>.</t>
        <ul spacing="normal">
          <li>
            <t>URN: urn:ietf:params:oauth:grant-type:x509-bearer</t>
          </li>
          <li>
            <t>Common Name: X.509 Bearer Certificate Grant Type Profile for OAuth 2.0</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document: This document</t>
          </li>
        </ul>
      </section>
      <section anchor="sub-namespace-registration-of-urnietfparamsoauthclient-assertion-typex509-bearer">
        <name>Sub-Namespace Registration of urn:ietf:params:oauth:client-assertion-type:x509-bearer</name>
        <t>This section registers the value "client-assertion-type:x509-bearer" in
the IANA "OAuth URI" registry established by "An IETF URN Sub-Namespace
for OAuth" <xref target="RFC6755"/>.</t>
        <ul spacing="normal">
          <li>
            <t>URN: urn:ietf:params:oauth:client-assertion-type:x509-bearer</t>
          </li>
          <li>
            <t>Common Name: X.509 Bearer Certificate Profile for OAuth 2.0 Client
Authentication</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document: This document</t>
          </li>
        </ul>
        <t>This document does not request assignment of an X.509 certificate
extension object identifier. Should a future revision define the
optional in-band audience-restriction extension mentioned in item 4 of
<xref target="format"/>, that revision will need to make an appropriate IANA request
at that time.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC6749">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </reference>
        <reference anchor="RFC7521">
          <front>
            <title>Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="Y. Goland" initials="Y." surname="Goland"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification provides a framework for the use of assertions with OAuth 2.0 in the form of a new client authentication mechanism and a new authorization grant type. Mechanisms are specified for transporting assertions during interactions with a token endpoint; general processing rules are also specified.</t>
              <t>The intent of this specification is to provide a common framework for OAuth 2.0 to interwork with other identity systems using assertions and to provide alternative client authentication mechanisms.</t>
              <t>Note that this specification only defines abstract message flows and processing rules. In order to be implementable, companion specifications are necessary to provide the corresponding concrete instantiations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7521"/>
          <seriesInfo name="DOI" value="10.17487/RFC7521"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6755">
          <front>
            <title>An IETF URN Sub-Namespace for OAuth</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>This document establishes an IETF URN Sub-namespace for use with OAuth-related specifications. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6755"/>
          <seriesInfo name="DOI" value="10.17487/RFC6755"/>
        </reference>
        <reference anchor="RFC7522">
          <front>
            <title>Security Assertion Markup Language (SAML) 2.0 Profile for OAuth 2.0 Client Authentication and Authorization Grants</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification defines the use of a Security Assertion Markup Language (SAML) 2.0 Bearer Assertion as a means for requesting an OAuth 2.0 access token as well as for client authentication.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7522"/>
          <seriesInfo name="DOI" value="10.17487/RFC7522"/>
        </reference>
        <reference anchor="RFC7523">
          <front>
            <title>JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification defines the use of a JSON Web Token (JWT) Bearer Token as a means for requesting an OAuth 2.0 access token as well as for client authentication.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7523"/>
          <seriesInfo name="DOI" value="10.17487/RFC7523"/>
        </reference>
        <reference anchor="RFC8705">
          <front>
            <title>OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes OAuth client authentication and certificate-bound access and refresh tokens using mutual Transport Layer Security (TLS) authentication with X.509 certificates. OAuth clients are provided a mechanism for authentication to the authorization server using mutual TLS, based on either self-signed certificates or public key infrastructure (PKI). OAuth authorization servers are provided a mechanism for binding access tokens to a client's mutual-TLS certificate, and OAuth protected resources are provided a method for ensuring that such an access token presented to it was issued to the client presenting the token.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8705"/>
          <seriesInfo name="DOI" value="10.17487/RFC8705"/>
        </reference>
        <reference anchor="RFC6960">
          <front>
            <title>X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP</title>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="M. Myers" initials="M." surname="Myers"/>
            <author fullname="R. Ankney" initials="R." surname="Ankney"/>
            <author fullname="A. Malpani" initials="A." surname="Malpani"/>
            <author fullname="S. Galperin" initials="S." surname="Galperin"/>
            <author fullname="C. Adams" initials="C." surname="Adams"/>
            <date month="June" year="2013"/>
            <abstract>
              <t>This document specifies a protocol useful in determining the current status of a digital certificate without requiring Certificate Revocation Lists (CRLs). Additional mechanisms addressing PKIX operational requirements are specified in separate documents. This document obsoletes RFCs 2560 and 6277. It also updates RFC 5912.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6960"/>
          <seriesInfo name="DOI" value="10.17487/RFC6960"/>
        </reference>
        <reference anchor="RFC9846">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="July" year="2026"/>
            <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 obsoletes RFC 8446, which specified TLS 1.3. This document obsoletes RFC 5246 (specifying TLS 1.2) and RFCs 5077, 6961, 7627, and 8422, all of which pertain to TLS 1.2 or earlier, and updates RFCs 5705 and 6066. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9846"/>
          <seriesInfo name="DOI" value="10.17487/RFC9846"/>
        </reference>
        <reference anchor="RFC6973">
          <front>
            <title>Privacy Considerations for Internet Protocols</title>
            <author fullname="A. Cooper" initials="A." surname="Cooper"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <author fullname="J. Morris" initials="J." surname="Morris"/>
            <author fullname="M. Hansen" initials="M." surname="Hansen"/>
            <author fullname="R. Smith" initials="R." surname="Smith"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document offers guidance for developing privacy considerations for inclusion in protocol specifications. It aims to make designers, implementers, and users of Internet protocols aware of privacy-related design choices. It suggests that whether any individual RFC warrants a specific privacy considerations section will depend on the document's content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6973"/>
          <seriesInfo name="DOI" value="10.17487/RFC6973"/>
        </reference>
        <reference anchor="SPIFFE-X509-SVID" target="https://github.com/spiffe/spiffe/blob/main/standards/X509-SVID.md">
          <front>
            <title>SPIFFE X.509 SVID</title>
            <author>
              <organization>SPIFFE Project</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="ATHENZ-X509" target="https://athenz.github.io/athenz/service_x509_credentials/">
          <front>
            <title>Athenz: Using X.509 Certificates</title>
            <author>
              <organization>Athenz Project</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC6750">
          <front>
            <title>The OAuth 2.0 Authorization Framework: Bearer Token Usage</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>This specification describes how to use bearer tokens in HTTP requests to access OAuth 2.0 protected resources. Any party in possession of a bearer token (a "bearer") can use it to get access to the associated resources (without demonstrating possession of a cryptographic key). To prevent misuse, bearer tokens need to be protected from disclosure in storage and in transport. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6750"/>
          <seriesInfo name="DOI" value="10.17487/RFC6750"/>
        </reference>
      </references>
    </references>
    <?line 723?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This profile follows the pattern established by <xref target="RFC7523"/> and
<xref target="RFC7522"/>, which share a common lineage back to the OAuth Assertion
Framework <xref target="RFC7521"/>. TODO acknowledge reviewers and contributors.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
AAA=

-->

</rfc>
