<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.34 (Ruby 4.0.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-ietf-acme-authority-token-jwtclaimcon-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="ACME JWTClaimConstraints Auth Token">JWTClaimConstraints profile of ACME Authority Token</title>

    <author initials="C." surname="Wendt" fullname="Chris Wendt">
      <organization>Somos Inc.</organization>
      <address>
        <postal>
          <country>US</country>
        </postal>
        <email>chris@appliedbits.com</email>
      </address>
    </author>
    <author initials="D." surname="Hancock" fullname="David Hancock">
      <organization>Somos Inc.</organization>
      <address>
        <postal>
          <country>US</country>
        </postal>
        <email>davidhancock.ietf@gmail.com</email>
      </address>
    </author>

    <date year="2026" month="July" day="25"/>

    <area>sec</area>
    
    <keyword>acme, STIR</keyword>

    <abstract>


<?line 45?>

<t>This document defines an authority token profile for the validation of JWTClaimConstraints and EnhancedJWTClaimConstraints certificate extensions within the Automated Certificate Management Environment (ACME) protocol. This profile is based on the Authority Token framework and establishes the specific ACME identifier type, challenge mechanism, and token format necessary to authorize a client to request a certificate containing these constraints.</t>



    </abstract>



  </front>

  <middle>


<?line 49?>

<section anchor="introduction"><name>Introduction</name>

<t>The validation of certificate extensions that constrain the use of a certificate's credentials, such as the JWTClaimConstraints extension defined in <xref target="RFC8226"/> and the EnhancedJWTClaimConstraints extension defined in <xref target="RFC9118"/>, is critical for defining the scope of an issued certificate. This document specifies an authority token profile for validating these constraints, modeled after the authority token framework established in <xref target="RFC9447"/> and the TNAuthList validation defined in <xref target="RFC9448"/>.</t>

<t>This profile facilitates proper delegation and authorization for entities requesting certificates under ACME and similar frameworks. It defines the use of the JWTClaimConstraints Authority Token in the ACME challenge to prove an authoritative or trusted use of the contents of the JWTClaimConstraints and EnhancedJWTClaimConstraints extensions based on the issuer of the token.</t>

<t>This document is intended for use by Secure Telephone Identity (STI) Certification Authorities. In this ecosystem, certificates contain telephone-number-related (TNAuthList) extensions and JWTClaimConstraints extensions defined in <xref target="RFC8226"/> and <xref target="RFC9118"/>, and certificate issuance is governed by a set of STI-specific Token Authorities. The TNAuthList Authority Token profile (<xref target="RFC9448"/>) is the parallel specification for telephone number authorization in this ecosystem and is already widely deployed. This document follows the same pattern to address authorization of the JWTClaimConstraints and EnhancedJWTClaimConstraints extensions. ACME implementers unfamiliar with the STIR ecosystem can treat the validation of the JWTClaimConstraints token value as a domain-specific authorization step analogous to TNAuthList validation: the ACME wire protocol mechanics are identical, and the Token Authority is responsible for the domain-specific semantic validation described in <xref target="RFC8226"/> and <xref target="RFC9118"/>.</t>

<t>This document also discusses the ability for an authority to authorize the creation of CA types of certificates for delegation as defined in <xref target="RFC9060"/>.</t>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>

</section>
<section anchor="identifier-encoding"><name>ACME new-order Identifiers for JWTClaimConstraints</name>

<t>In <xref target="RFC8555"/>, Section 7 defines the procedure that an ACME client uses to order a new certificate from a Certification Authority (CA). This draft defines a new type of identifier object called JWTClaimConstraints. A JWTClaimConstraints identifier contains the Token Claim Constraints information to be populated in the JWTClaimConstraints or EnhancedJWTClaimConstraints of the new certificate.</t>

<t>For the JWTClaimConstraints identifier, the new-order request includes a type set to the string "JWTClaimConstraints". The value of the JWTClaimConstraints identifier MUST be set to the details of the JWTClaimConstraints or EnhancedJWTClaimConstraints extension requested.</t>

<t>The format of the string that represents the JWTClaimConstraints MUST be constructed using base64url encoding, as per <xref target="RFC8555"/> base64url encoding described in Section 5 of <xref target="RFC4648"/> according to the profile specified in JSON Web Signature in Section 2 of <xref target="RFC7515"/>. The base64url encoding MUST NOT include any padding characters and the JWTClaimConstraints ASN.1 object MUST be encoded using DER encoding rules. DER (the canonical subset of BER) and unpadded base64url together uniquely determine the octet sequence for a given JWTClaimConstraints or EnhancedJWTClaimConstraints ASN.1 value. The same canonical encoding is used as the "tkvalue" string in the "atc" claim of the corresponding Authority Token, so that the value carried in the new-order identifier and the value carried in the token are octet-by-octet identical and can be compared as described in <xref target="validating-token"/>, step 5.</t>

<t>An example of an ACME order object "identifiers" field containing a JWTClaimConstraints certificate:</t>

<figure><artwork><![CDATA[
 "identifiers": [{"type":"JWTClaimConstraints",
   "value":"F83n2a...avn27DN3"}]
]]></artwork></figure>

<t>where the "value" object string represents the arbitrary length base64url encoded string.</t>

<t>A full new-order request would look as follows,</t>

<figure><artwork><![CDATA[
POST /acme/new-order HTTP/1.1
Host: example.com
Content-Type: application/jose+json

{
  "protected": base64url({
    "alg": "ES256",
    "kid": "https://example.com/acme/acct/evOfKhNU60wg",
    "nonce": "5XJ1L3lEkMG7tR6pA00clA",
    "url": "https://example.com/acme/new-order"
  }),
  "payload": base64url({
    "identifiers": [{"type":"JWTClaimConstraints",
      "value":"F83n...n27DN3"}],
    "notBefore": "2025-01-01T00:00:00Z",
    "notAfter": "2025-01-08T00:00:00Z"
  }),
  "signature": "H6ZXtGjTZyUnPeKn...wEA4TklBdh3e454g"
}
]]></artwork></figure>

<t>On receiving a valid new-order request, the ACME server creates an authorization object, <xref target="RFC8555"/> Section 7.1.4, containing the challenge that the ACME client must satisfy to demonstrate authority for the identifiers specified by the new order (in this case, the JWTClaimConstraints identifier). The CA adds the authorization object URL to the "authorizations" field of the order object, and returns the order object to the ACME client in the body of a 201 (Created) response.</t>

<figure><artwork><![CDATA[
HTTP/1.1 201 Created
Content-Type: application/json
Replay-Nonce: MYAuvOpaoIiywTezizk5vw
Location: https://example.com/acme/order/1234

{
  "status": "pending",
  "expires": "2025-01-08T00:00:00Z",

  "notBefore": "2025-01-01T00:00:00Z",
  "notAfter": "2025-01-08T00:00:00Z",
  "identifiers": [
    {"type": "JWTClaimConstraints",
     "value": "F83n2a...avn27DN3"}
  ],

  "authorizations": [
   "https://example.com/acme/authz/1234"
  ],
  "finalize": "https://example.com/acme/order/1234/finalize"
}
]]></artwork></figure>

</section>
<section anchor="jwtclaimconstraints-authorization"><name>JWTClaimConstraints Authorization</name>

<t>On receiving the new-order response, the ACME client queries the referenced authorization object to obtain the challenges for the identifier contained in the new-order request.</t>

<figure><artwork><![CDATA[
POST /acme/authz/1234 HTTP/1.1
Host: example.com
Content-Type: application/jose+json

{
  "protected": base64url({
    "alg": "ES256",
    "kid": "https://example.com/acme/acct/evOfKhNU60wg",
    "nonce": "uQpSjlRb4vQVCjVYAyyUWg",
    "url": "https://example.com/acme/authz/1234"
  }),
  "payload": "",
  "signature": "nuSDISbWG8mMgE7H...QyVUL68yzf3Zawps"
}
]]></artwork></figure>

<figure><artwork><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json
Link: <https://example.com/acme/some-directory>;rel="index"

{
  "status": "pending",
  "expires": "2025-01-08T00:00:00Z",

  "identifier": {
    "type": "JWTClaimConstraints",
    "value": "F83n2a...avn27DN3"
  },

  "challenges": [
    {
      "type": "tkauth-01",
      "tkauth-type": "atc",
      "token-authority": "https://authority.example.org",
      "url": "https://boulder.example.com/acme/chall/prV_B7yEyA4",
      "token": "IlirfxKKXAsHtmzK29Pj8A"
    }
  ]
}
]]></artwork></figure>

<t>When processing a certificate order containing an identifier of type "JWTClaimConstraints", a CA uses the Authority Token challenge type of "tkauth-01" with a "tkauth-type" of "atc", defined in <xref target="RFC9447"/>, to verify that the requesting ACME client has authenticated and authorized control over the requested resources represented by the "JWTClaimConstraints" value.</t>

<t>The challenge "token-authority" parameter is OPTIONAL. If a "token-authority" parameter is present, the ACME client MAY use this value to identify the URL representing the Token Authority that will provide the JWTClaimConstraints Authority Token response to the challenge. If the "token-authority" parameter is not present, the ACME client MUST identify the Token Authority based on locally configured information or local policies.</t>

<t>The ACME client responds to the challenge by posting the JWTClaimConstraints Authority Token to the challenge URL identified in the returned ACME authorization object.</t>

<figure><artwork><![CDATA[
POST /acme/chall/prV_B7yEyA4 HTTP/1.1
Host: example.com
Content-Type: application/jose+json

{
  "protected": base64url({
    "alg": "ES256",
    "kid": "https://example.com/acme/acct/evOfKhNU60wg",
    "nonce": "Q_s3MWoqT05TrdkM2MTDcw",
    "url": "https://example.com/acme/chall/prV_B7yEyA4"
  }),
  "payload": base64url({
    "tkauth": "DGyRejmCefe7v4N...vb29HhjjLPSggwiE"
  }),
  "signature": "9cbg5JO1Gf5YLjjz...SpkUfcdPai9uVYYQ"
}
]]></artwork></figure>

<t>The "tkauth" field in the challenge response object is specific to the tkauth-01 challenge type. When responding to a challenge for a JWTClaimConstraints identifier, this field SHALL contain the JWTClaimConstraints Authority Token defined in the next section.</t>

</section>
<section anchor="jwtclaimconstraints-authority-token"><name>JWTClaimConstraints Authority Token</name>

<t>The JWTClaimConstraints Authority Token is a profile instance of the ACME Authority Token defined in <xref target="RFC9447"/>.</t>

<t>The JWTClaimConstraints Authority Token Protected header MUST comply with the Authority Token Protected header as defined in <xref target="RFC9447"/>.</t>

<section anchor="jwtclaimconstraints-authority-token-payload"><name>JWTClaimConstraints Authority Token Payload</name>

<t>The JWTClaimConstraints Authority Token Payload MUST include the mandatory claims "exp", "jti", and "atc", and MAY include the optional claims defined for the Authority Token.</t>

<section anchor="iss-claim"><name>"iss" claim</name>

<t>The "iss" claim is an optional claim defined in <xref target="RFC7519"/> Section 4.1.1.  It can be used as a URL identifying the Token Authority that issued the JWTClaimConstraints Authority Token beyond the "x5u" or other Header claims that identify the location of the certificate or certificate chain of the Token Authority used to validate the JWTClaimConstraints Authority Token.</t>

</section>
<section anchor="exp-claim"><name>"exp" claim</name>

<t>The "exp" claim, defined in <xref target="RFC7519"/> Section 4.1.4, MUST be included and contains the DateTime value of the ending date and time that the JWTClaimConstraints Authority Token expires.</t>

</section>
<section anchor="jti-claim"><name>"jti" claim</name>

<t>The "jti" claim, defined in <xref target="RFC7519"/> Section 4.1.7, MUST be included and contains a unique identifier for this JWTClaimConstraints Authority Token transaction.</t>

</section>
<section anchor="atc-claim"><name>"atc" claim</name>

<t>The "atc" claim MUST be included and is defined in <xref target="RFC9447"/>. It contains a JSON object with the following elements:</t>

<t><list style="symbols">
  <t>a "tktype" key with a string value equal to "JWTClaimConstraints" to represent a JWTClaimConstraints profile of the authority token <xref target="RFC9447"/> defined by this document. "tktype" is a required key and MUST be included.</t>
  <t>a "tkvalue" key with a string value equal to the base64url encoding of the JWTClaimConstraints or EnhancedJWTClaimConstraints certificate extension ASN.1 object using DER encoding rules. "tkvalue" is a required key and MUST be included.</t>
  <t>a "ca" key with a boolean value set to false (since the JWTClaimConstraints extension is applicable only to end-entity certificates). "ca" is an optional key; if not included, the "ca" value is considered false by default.</t>
  <t>a "fingerprint" key is constructed as defined in <xref target="RFC8555"/> Section 8.1 corresponding to the computation of the fingerprint step using the ACME account key credentials. "fingerprint" is a required key and MUST be included.</t>
</list></t>

<t>An example of the JWTClaimConstraints Authority Token is as follows:</t>

<figure><artwork><![CDATA[
{
  "protected": base64url({
    "typ": "JWT",
    "alg": "ES256",
    "x5u": "https://authority.example.org/cert"
  }),
  "payload": base64url({
    "iss": "https://authority.example.org",
    "exp": 1640995200,
    "jti": "id6098364921",
    "atc": {
      "tktype": "JWTClaimConstraints",
      "tkvalue": "F83n2a...avn27DN3",
      "ca": false,
      "fingerprint": "SHA256 56:3E:CF:AE:83:CA:4D:15:B0:29:FF:1B:71:
       D3:BA:B9:19:81:F8:50:9B:DF:4A:D4:39:72:E2:B1:F0:B9:38:E3"
    }
  }),
  "signature": "9cbg5JO1Gf5YLjjz...SpkUfcdPai9uVYYQ"
}
]]></artwork></figure>

</section>
</section>
<section anchor="acquiring-the-token-from-the-token-authority"><name>Acquiring the token from the Token Authority</name>

<t>Following <xref target="RFC9447"/> Section 5, the authority token should be acquired using a RESTful HTTP POST transaction as follows:</t>

<figure><artwork><![CDATA[
POST /at/account/:id/token HTTP/1.1
Host: authority.example.org
Content-Type: application/json
]]></artwork></figure>

<t>The request will pass the account id as a string in the request parameter "id". Note that this account identifier refers to the ACME client's account with the Token Authority, and is distinct from the ACME account used with the CA. There is assumed to be a corresponding authentication procedure that can be verified for the success of this transaction, for example, an HTTP Authorization header field containing valid authorization credentials as defined in <xref target="RFC7231"/> Section 14.8.</t>

<t>The body of the POST request MUST contain a JSON object with key value pairs corresponding to values that are requested as the content of the claims in the issued token.</t>

<t>As an example, the body SHOULD contain a JSON object as follows:</t>

<figure><artwork><![CDATA[
{
  "atc": {
    "tktype": "JWTClaimConstraints",
    "tkvalue": "F83n2a...avn27DN3",
    "ca": false,
    "fingerprint": "SHA256 56:3E:CF:AE:83:CA:4D:15:B0:29:FF:1B:71:D3
      :BA:B9:19:81:F8:50:9B:DF:4A:D4:39:72:E2:B1:F0:B9:38:E3"
  }
}
]]></artwork></figure>

<t>The response to the POST request if successful returns a 200 OK with a JSON body that contains, at a minimum, the JWTClaimConstraints Authority Token as a JSON object with a key of "token" and the base64url encoded string representing the atc token. JSON is easily extensible, so users of this specification may want to pass other pieces of information relevant to a specific application.</t>

<t>An example successful response would be as follows:</t>

<figure><artwork><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json

{"token": "DGyRejmCefe7v4N...vb29HhjjLPSggwiE"}
]]></artwork></figure>

<t>The ACME client then uses the value of the "token" field as the "tkauth" field in the challenge response POST to the ACME challenge URL, as described in Section 4.</t>

<t>If the request is not successful, the response should indicate the error condition. Specifically, for the case that the authorization credentials are invalid or if the Account ID provided does not exist, the response code MUST be 403 - Forbidden. Other 4xx and 5xx responses MUST follow standard <xref target="RFC7231"/> HTTP error condition conventions.</t>

</section>
<section anchor="token-authority-responsibilities"><name>Token Authority Responsibilities</name>

<t>When creating the JWTClaimConstraints Authority Token, the Token Authority MUST validate that the information contained in the ASN.1 JWTClaimConstraints accurately represents the corresponding JWTClaimConstraint resources the requesting party is authorized to represent based on their pre-established and verified secure relationship between the Token Authority and the requesting party.</t>

<t>The fingerprint in the token request is not meant to be verified by the Token Authority. Rather, it is meant to be signed as part of the token so that the party that requests the token can, as part of the challenge response, allow the ACME server to validate that the token requested and used came from the same party that controls the ACME client.</t>

</section>
<section anchor="scope-of-the-jwtclaimconstraints"><name>Scope of the JWTClaimConstraints</name>

<t>Because this specification involves the JWTClaimConstraints and EnhancedJWTClaimConstraints extensions, the client MAY request an Authority Token with some subset of its own authority as the JWTClaimConstraints provided in the "tkvalue" element of the "atc" JSON object. These extensions define a limited scope of the claims and claim values the client is authorized to assert in PASSporTs signed with the resulting certificate, using the following components:</t>

<t><list style="symbols">
  <t>mustInclude (context tag [0], <xref target="RFC8226"/>) is a list of claim names that MUST be present.</t>
  <t>permittedValues (context tag [1], <xref target="RFC8226"/>) is a list of claim names, each paired with the set of values that claim is permitted to take.</t>
  <t>mustExclude (context tag [2], <xref target="RFC9118"/>) is a list of claim names that MUST NOT be present. This component is only available in the EnhancedJWTClaimConstraints extension, so the enhanced form is needed only when the optional ("extended") claims must be constrained; otherwise the JWTClaimConstraints extension of <xref target="RFC8226"/> is sufficient.</t>
</list></t>

<t>The Token Authority validates the requested JWTClaimConstraints or EnhancedJWTClaimConstraints value against the resources the requesting party is authorized to represent (see Section 5.3) and places that value in the token. The ACME server then compares the token value to the new-order identifier value octet-by-octet (<xref target="validating-token"/>, step 5) and does not parse or interpret the ASN.1 content.</t>

<t>Informative examples are provided in <xref target="appendix-examples"/>.</t>

</section>
<section anchor="acme-challenges-requiring-multiple-authority-tokens"><name>ACME Challenges requiring multiple Authority Tokens</name>

<t>The ACME new-order request may include multiple identifiers, each of which is authorized separately. With the introduction of this specification, for STIR certificates <xref target="RFC8226"/>, a certificate order may require two Authority Token identifier types:</t>

<t><list style="symbols">
  <t>The JWTClaimConstraints identifier defined in this document, and</t>
  <t>The TNAuthList identifier defined in <xref target="RFC9448"/>.</t>
</list></t>

<t>Other Authority Token types may be introduced in future Authority Token profile specifications with similar requirements.</t>

<t>This section describes scenarios where a new-order request contains both of these identifier types. In such cases, the CA requires the ACME client to provide both a JWTClaimConstraints Authority Token and a TNAuthList Authority Token as part of the challenge response.</t>

<t>The TNAuthList Authority Token authorizes the token holder to obtain certificates containing a TNAuthList extension whose scope is less than or equal to the scope of the TNAuthList identifier in the token.</t>

<t>The JWTClaimConstraints Authority Token authorizes the token holder to obtain a certificate containing a JWTClaimConstraints or EnhancedJWTClaimConstraints extension, provided that the extension is within the scope of the JWTClaimConstraints identifier in the token. Since these two certificate extensions constrain the resources and claims available to the certificate, there is an inherent interaction between these two types of Authority Tokens.</t>

<t>The "value" field of the JWTClaimConstraints identifier, and the corresponding "tkvalue" in the "atc" claim, is a base64url-encoded DER representation of a JWTClaimConstraints or EnhancedJWTClaimConstraints ASN.1 object as defined in <xref target="RFC8226"/> and <xref target="RFC9118"/>. From the ACME server's perspective this value is opaque: validation step 5 in <xref target="validating-token"/> requires only that the value in the token is octet-by-octet identical to the value in the order. The semantic content of the extension — which claims are permitted or excluded, and for which telephone numbers — is a STIR ecosystem concern governed by <xref target="RFC8226"/> and <xref target="RFC9118"/>, and is validated by the Token Authority prior to token issuance (see Section 5.3). In particular, the ACME server does not parse or cross-check the JWTClaimConstraints and TNAuthList extensions for mutual consistency: if a requested JWTClaimConstraints value constrains a claim such as "orig" to telephone numbers that are inconsistent with the certificate's TNAuthList, no PASSporT can satisfy both constraints during verification (governed by <xref target="RFC8226"/> and <xref target="RFC9118"/>), so such a certificate fails verification for all calls. The ACME account holder that submits the CSR is responsible for recognizing this potential conflict and for requesting TNAuthList and JWTClaimConstraints extensions that are mutually compatible and correctly authorized; this places authority and accountability for the certificate's contents with the requesting party, which is a desirable security property. Informative examples of JWTClaimConstraints ASN.1 structures, their DER encodings, and corresponding base64url values are provided in <xref target="appendix-examples"/>.</t>

<section anchor="acme-procedures-when-challenge-requires-two-authority-tokens"><name>ACME Procedures when Challenge requires two Authority Tokens</name>

<t>Sections 3 and 4 describe the ACME procedures for issuing a certificate based on a single JWTClaimConstraints identifier. This section describes how these procedures are modified to support the case where the new-order request contains both a TNAuthList and JWTClaimConstraints identifier.</t>

<t>First, the "identifiers" field in the new-order request includes both identifier types:</t>

<figure><artwork><![CDATA[
     "identifiers": [
     {"type": "TNAuthList",
      "value": "KHn6xf...jw4A1vgh"},
     {"type": "JWTClaimConstraints",
      "value": "F83n2a...avn27DN3"}]
]]></artwork></figure>

<t>The CA includes two "authorizations" URLs in the 201 (Created) response to the new-order request, one for each identifier:</t>

<figure><artwork><![CDATA[
     "authorizations": [
        "https://example.com/acme/authz/1234",
        "https://example.com/acme/authz/5678"]
]]></artwork></figure>

<t>The ACME client then queries each "authorizations" URL as shown in Section 4. The CA returns the Authority Token challenge for each identifier. The ACME client responds to each challenge by providing an Authority Token of the appropriate type.</t>

</section>
</section>
</section>
<section anchor="validating-token"><name>Validating the JWTClaimConstraints Authority Token</name>

<t>Upon receiving a response to the challenge, the ACME server MUST perform the following steps to determine the validity of the response. Steps 1 through 3 and steps 6 through 8 are general ACME authority token validation steps applicable to any Authority Token profile. Steps 4 and 5 are specific to the JWTClaimConstraints profile. The semantic validation of whether the JWTClaimConstraints or EnhancedJWTClaimConstraints content accurately reflects the requesting party's authorized resources is the responsibility of the Token Authority prior to issuing the token (see Section 5.3), and is governed by <xref target="RFC8226"/> and <xref target="RFC9118"/>.</t>

<t><list style="numbers" type="1">
  <t>Verify that the value of the "atc" claim is a well-formed JSON object containing the mandatory key values ("tktype", "tkvalue", "fingerprint").</t>
  <t>Verify Token Issuer: If there is an "x5u" parameter, verify the "x5u" parameter is an HTTPS URL with a reference to a certificate representing the trusted issuer of authority tokens. If there is an "x5c" parameter, verify the certificate array contains a certificate representing the trusted issuer of authority tokens.</t>
  <t>Verify Signature: Verify the JWTClaimConstraints Authority Token signature using the public key of the certificate referenced by the token's "x5u" or "x5c" parameter.</t>
  <t>Verify Token Type: Verify that the "atc" claim contains a "tktype" identifier with the value "JWTClaimConstraints".</t>
  <t>Verify Constraints Match: Verify that the value of the "atc" claim "tkvalue" is octet-by-octet identical to the "value" of the JWTClaimConstraints identifier in the original new-order request. Both values are the canonical encoding defined in <xref target="identifier-encoding"/>: the base64url encoding (without padding) of the DER encoding of a JWTClaimConstraints or EnhancedJWTClaimConstraints ASN.1 object. The ACME server MUST perform this verification as a direct octet-by-octet comparison of the two base64url strings, and MUST NOT decode, re-encode, canonicalize, normalize, or otherwise transform either value before comparison. If either value contains characters outside the base64url alphabet defined in Section 5 of <xref target="RFC4648"/>, contains padding characters ("="), or differs from the other in any octet, this step MUST fail. See <xref target="security_considerations"/> for discussion of identifier comparison considerations.</t>
  <t>Verify Claims: Verify that the remaining claims are valid (e.g., verify that the token has not expired using the "exp" claim).</t>
  <t>Verify Account Control: Verify that the "atc" claim "fingerprint" is valid and matches the account key of the client making the request.</t>
  <t>Verify CA Flag: Verify that the "atc" claim "ca" identifier boolean corresponds to the CA boolean in the Basic Constraints extension in the Certificate Signing Request (CSR) for either a CA certificate or an end-entity certificate.</t>
</list></t>

<t>If all steps in the token validation process pass, then the ACME server MUST set the challenge object "status" to "valid". If any step of the validation process fails, the "status" in the challenge object MUST be set to "invalid".</t>

</section>
<section anchor="using-acme-issued-certificates-with-json-web-signature"><name>Using ACME-issued Certificates with JSON Web Signature</name>

<t>JSON Web Signature (JWS) objects can include an "x5u" header parameter to refer to a certificate for signature validation. In order to support this usage, the Certificate Authority (CA) MAY host the newly issued certificate and provide a URL that the ACME client owner can directly reference in the "x5u" header parameter of their signed JWS objects.</t>

<t>To facilitate this, the CA MAY add a newly defined field called "x5u" to the 200 (OK) order object response when the certificate is ready for the finalize request:</t>

<t>x5u (optional, string): A URL that can be used to reference the certificate in the "x5u" parameter of a JWS object.</t>

<t>An example of a 200 (OK) response containing the new "x5u" field:</t>

<figure><artwork><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json
Replay-Nonce: CGf81JWBsq8QyIgPCi9Q9X
Link: <https://example.com/acme/directory>;rel="index"
Location: https://example.com/acme/order/TOlocE8rfgo

{
  "status": "valid",
  "expires": "2016-01-20T14:09:07.99Z",

  "notBefore": "2016-01-01T00:00:00Z",
  "notAfter": "2016-01-08T00:00:00Z",

  "identifiers": [
    "type": "JWTClaimConstraints",
    "value": "F83n2a...avn27DN3"
  ],

  "authorizations": ["https://example.com/acme/authz/1234"],

  "finalize": "https://example.com/acme/order/TOlocE8rfgo/finalize",

  "certificate": "https://example.com/acme/cert/mAt3xBGaobw",

  "x5u": "https://example.com/cert-repo/giJI53km23.pem"
}
]]></artwork></figure>

</section>
<section anchor="security_considerations"><name>Security Considerations</name>

<t>The token represented by this document has the credentials to represent JWTClaimConstraints and EnhancedJWTClaimConstraints, which constrain the resources and claims a certificate holder can assert. The creation, transport, and any storage of this token MUST follow the strictest of security best practices, beyond the recommendations of the use of encrypted transport protocols in this document, to protect it from getting in the hands of bad actors with illegitimate intent to impersonate or misuse the constrained resources.</t>

<t>This document inherits the security properties of <xref target="RFC9447"/>. Implementations SHOULD follow the best practices identified in <xref target="RFC8725"/> for cryptographic security.</t>

<t>This document only specifies SHA256 for the fingerprint hash. However, the syntax of the fingerprint object would permit other algorithms if, due to concerns about algorithmic agility, a more robust algorithm were required at a future time. Future specifications CAN define new algorithms for the fingerprint object as needed.</t>

<section anchor="identifier-comparison-considerations"><name>Identifier Comparison Considerations</name>

<t>The "value" field of the JWTClaimConstraints identifier and the "tkvalue" string in the "atc" claim are opaque identifiers from the ACME server's perspective. <xref target="RFC6943"/> describes a class of vulnerabilities that arises when implementations apply ad hoc normalization, decoding, or "equivalence" judgments to identifier values during comparison: differences between what an implementation considers equivalent and what an attacker can produce can be turned into authorization bypasses. To eliminate this class of vulnerability for this profile, this document requires that both values be produced in a single canonical form (DER under unpadded base64url, as specified in <xref target="identifier-encoding"/>) and that the ACME server's comparison in <xref target="validating-token"/>, step 5, be a direct octet-by-octet comparison with no intervening transformation. Implementations MUST NOT be permissive about variations such as padded base64url, alternate base64url alphabets, BER encodings that are not also valid DER, embedded whitespace, or differences in canonical ordering inside ASN.1 SET constructs (DER fixes the ordering). Any deviation from the canonical form yields a different identifier value, and the validation step MUST fail.</t>

<t>Implementations SHOULD perform the octet-by-octet comparison in constant time. While the values compared in this profile are not themselves secret, constant-time comparison removes a class of timing side channels that have caused issues in other identifier-comparison contexts.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document requests the addition of a new identifier object type to the "ACME Identifier Types" registry defined in Section 9.7.7 of <xref target="RFC8555"/>.</t>

<figure><artwork><![CDATA[
+---------------------+-----------+
|        Label        | Reference |
+---------------------+-----------+
| JWTClaimConstraints |  RFCThis  |
+---------------------+-----------+
]]></artwork></figure>

</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>We would like to thank ACME and STIR working groups for valuable contributions to the authority token framework used in this document.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<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="RFC7231">
  <front>
    <title>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</title>
    <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
    <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
    <date month="June" year="2014"/>
    <abstract>
      <t>The Hypertext Transfer Protocol (HTTP) is a stateless \%application- level protocol for distributed, collaborative, hypertext information systems. This document defines the semantics of HTTP/1.1 messages, as expressed by request methods, request header fields, response status codes, and response header fields, along with the payload of messages (metadata and body content) and mechanisms for content negotiation.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7231"/>
  <seriesInfo name="DOI" value="10.17487/RFC7231"/>
</reference>
<reference anchor="RFC7515">
  <front>
    <title>JSON Web Signature (JWS)</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="J. Bradley" initials="J." surname="Bradley"/>
    <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
    <date month="May" year="2015"/>
    <abstract>
      <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7515"/>
  <seriesInfo name="DOI" value="10.17487/RFC7515"/>
</reference>
<reference anchor="RFC7519">
  <front>
    <title>JSON Web Token (JWT)</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="J. Bradley" initials="J." surname="Bradley"/>
    <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
    <date month="May" year="2015"/>
    <abstract>
      <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7519"/>
  <seriesInfo name="DOI" value="10.17487/RFC7519"/>
</reference>
<reference anchor="RFC8226">
  <front>
    <title>Secure Telephone Identity Credentials: Certificates</title>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <author fullname="S. Turner" initials="S." surname="Turner"/>
    <date month="February" year="2018"/>
    <abstract>
      <t>In order to prevent the impersonation of telephone numbers on the Internet, some kind of credential system needs to exist that cryptographically asserts authority over telephone numbers. This document describes the use of certificates in establishing authority over telephone numbers, as a component of a broader architecture for managing telephone numbers as identities in protocols like SIP.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8226"/>
  <seriesInfo name="DOI" value="10.17487/RFC8226"/>
</reference>
<reference anchor="RFC8555">
  <front>
    <title>Automatic Certificate Management Environment (ACME)</title>
    <author fullname="R. Barnes" initials="R." surname="Barnes"/>
    <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
    <author fullname="D. McCarney" initials="D." surname="McCarney"/>
    <author fullname="J. Kasten" initials="J." surname="Kasten"/>
    <date month="March" year="2019"/>
    <abstract>
      <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names. Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate. As of this writing, this verification is done through a collection of ad hoc mechanisms. This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance. The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8555"/>
  <seriesInfo name="DOI" value="10.17487/RFC8555"/>
</reference>
<reference anchor="RFC8725">
  <front>
    <title>JSON Web Token Best Current Practices</title>
    <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
    <author fullname="D. Hardt" initials="D." surname="Hardt"/>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <date month="February" year="2020"/>
    <abstract>
      <t>JSON Web Tokens, also known as JWTs, are URL-safe JSON-based security tokens that contain a set of claims that can be signed and/or encrypted. JWTs are being widely used and deployed as a simple security token format in numerous protocols and applications, both in the area of digital identity and in other application areas. This Best Current Practices document updates RFC 7519 to provide actionable guidance leading to secure implementation and deployment of JWTs.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="225"/>
  <seriesInfo name="RFC" value="8725"/>
  <seriesInfo name="DOI" value="10.17487/RFC8725"/>
</reference>
<reference anchor="RFC9060">
  <front>
    <title>Secure Telephone Identity Revisited (STIR) Certificate Delegation</title>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <date month="September" year="2021"/>
    <abstract>
      <t>The Secure Telephone Identity Revisited (STIR) certificate profile provides a way to attest authority over telephone numbers and related identifiers for the purpose of preventing telephone number spoofing. This specification details how that authority can be delegated from a parent certificate to a subordinate certificate. This supports a number of use cases, including those where service providers grant credentials to enterprises or other customers capable of signing calls with STIR.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9060"/>
  <seriesInfo name="DOI" value="10.17487/RFC9060"/>
</reference>
<reference anchor="RFC9118">
  <front>
    <title>Enhanced JSON Web Token (JWT) Claim Constraints for Secure Telephone Identity Revisited (STIR) Certificates</title>
    <author fullname="R. Housley" initials="R." surname="Housley"/>
    <date month="August" year="2021"/>
    <abstract>
      <t>RFC 8226 specifies the use of certificates for Secure Telephone Identity Credentials; these certificates are often called "Secure Telephone Identity Revisited (STIR) Certificates". RFC 8226 provides a certificate extension to constrain the JSON Web Token (JWT) claims that can be included in the Personal Assertion Token (PASSporT), as defined in RFC 8225. If the PASSporT signer includes a JWT claim outside the constraint boundaries, then the PASSporT recipient will reject the entire PASSporT. This document updates RFC 8226; it provides all of the capabilities available in the original certificate extension as well as an additional way to constrain the allowable JWT claims. The enhanced extension can also provide a list of claims that are not allowed to be included in the PASSporT.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9118"/>
  <seriesInfo name="DOI" value="10.17487/RFC9118"/>
</reference>
<reference anchor="RFC9447">
  <front>
    <title>Automated Certificate Management Environment (ACME) Challenges Using an Authority Token</title>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <author fullname="M. Barnes" initials="M." surname="Barnes"/>
    <author fullname="D. Hancock" initials="D." surname="Hancock"/>
    <author fullname="C. Wendt" initials="C." surname="Wendt"/>
    <date month="September" year="2023"/>
    <abstract>
      <t>Some proposed extensions to the Automated Certificate Management Environment (ACME) rely on proving eligibility for certificates through consulting an external authority that issues a token according to a particular policy. This document specifies a generic Authority Token Challenge for ACME that supports subtype claims for different identifiers or namespaces that can be defined separately for specific applications.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9447"/>
  <seriesInfo name="DOI" value="10.17487/RFC9447"/>
</reference>
<reference anchor="RFC9448">
  <front>
    <title>TNAuthList Profile of Automated Certificate Management Environment (ACME) Authority Token</title>
    <author fullname="C. Wendt" initials="C." surname="Wendt"/>
    <author fullname="D. Hancock" initials="D." surname="Hancock"/>
    <author fullname="M. Barnes" initials="M." surname="Barnes"/>
    <author fullname="J. Peterson" initials="J." surname="Peterson"/>
    <date month="September" year="2023"/>
    <abstract>
      <t>This document defines a profile of the Automated Certificate Management Environment (ACME) Authority Token for the automated and authorized creation of certificates for Voice over IP (VoIP) telephone providers to support Secure Telephone Identity (STI) using the TNAuthList defined by STI certificates.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9448"/>
  <seriesInfo name="DOI" value="10.17487/RFC9448"/>
</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 title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC6943">
  <front>
    <title>Issues in Identifier Comparison for Security Purposes</title>
    <author fullname="D. Thaler" initials="D." role="editor" surname="Thaler"/>
    <date month="May" year="2013"/>
    <abstract>
      <t>Identifiers such as hostnames, URIs, IP addresses, and email addresses are often used in security contexts to identify security principals and resources. In such contexts, an identifier presented via some protocol is often compared using some policy to make security decisions such as whether the security principal may access the resource, what level of authentication or encryption is required, etc. If the parties involved in a security decision use different algorithms to compare identifiers, then failure scenarios ranging from denial of service to elevation of privilege can result. This document provides a discussion of these issues that designers should consider when defining identifiers and protocols, and when constructing architectures that use multiple protocols.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6943"/>
  <seriesInfo name="DOI" value="10.17487/RFC6943"/>
</reference>



    </references>

</references>


<?line 448?>

<section anchor="appendix-examples"><name>JWTClaimConstraints Identifier Value Examples</name>

<t>This appendix provides informative examples of JWTClaimConstraints and EnhancedJWTClaimConstraints ASN.1 structures as defined in <xref target="RFC8226"/> and <xref target="RFC9118"/>, along with their DER encodings and base64url values as used in the ACME identifier "value" field and the "tkvalue" of the "atc" claim. These examples are intended for implementers of STI Token Authorities and certificate requestors in the STIR/SHAKEN ecosystem. ACME server implementations treat the identifier value as opaque and are not required to parse or validate its internal structure.</t>

<t>Note: single-quote delimiters in the ASN.1 notation below denote string values; inner double quotes are part of the JSON-formatted claim values as defined in <xref target="RFC8226"/>.</t>

<section anchor="no-extended-claims-authorized"><name>No Extended Claims Authorized</name>

<t>In this case, the requestor is authorized to use a set of telephone numbers but no optional claim information. The EnhancedJWTClaimConstraints extension uses a mustExclude constraint to prohibit all optional claims relevant to the application.</t>

<figure><artwork><![CDATA[
SEQUENCE {
  mustExclude [2] {
    SEQUENCE {
      IA5String 'attest'
      IA5String 'origid'
      IA5String 'div'
      IA5String 'rph'
      IA5String 'sph'
      IA5String 'rcd'
      IA5String 'rcdi'
      IA5String 'crn'
      }
    }
  }
]]></artwork></figure>

<t>DER encoding (53 bytes, hex):</t>

<figure><artwork><![CDATA[
30 33 a2 31 30 2f 16 06 61 74 74 65 73 74 16 06
6f 72 69 67 69 64 16 03 64 69 76 16 03 72 70 68
16 03 73 70 68 16 03 72 63 64 16 04 72 63 64 69
16 03 63 72 6e
]]></artwork></figure>

<t>base64url value:</t>

<figure><artwork><![CDATA[
MDOiMTAvFgZhdHRlc3QWBm9yaWdpZBYDZGl2FgNycGgWA3NwaBYDcmNkFgRyY2Rp
FgNjcm4
]]></artwork></figure>

<t>A simpler alternative for requestors not authorized to include optional claims is to submit a new-order request containing only a TNAuthList identifier. In this case, the absence of a JWTClaimConstraints identifier MAY trigger local policy in the CA to include a restrictive EnhancedJWTClaimConstraints extension in the issued certificate.</t>

</section>
<section anchor="extended-claims-authorized-uniform-constraints"><name>Extended Claims Authorized (Uniform Constraints)</name>

<t>In this case, the requestor is authorized to assert a specific set of claim information that applies uniformly across all authorized telephone numbers. The extension uses a permittedValues constraint for the authorized claims and a mustExclude constraint for the remainder.</t>

<figure><artwork><![CDATA[
SEQUENCE {
  permittedValues [1] {
    SEQUENCE {
      SEQUENCE {
        IA5String 'rcd'
        SEQUENCE {
          UTF8String '"nam": "James Bond"'
          }
        }
      SEQUENCE {
        IA5String 'crn'
        SEQUENCE {
          UTF8String '"For your ears only"'
          }
        }
      }
    }
  mustExclude [2] {
    SEQUENCE {
      IA5String 'attest'
      IA5String 'origid'
      IA5String 'div'
      IA5String 'rph'
      IA5String 'sph'
      IA5String 'rcdi'
      }
    }
  }
]]></artwork></figure>

<t>DER encoding (108 bytes, hex):</t>

<figure><artwork><![CDATA[
30 6a a1 3f 30 3d 30 1c 16 03 72 63 64 30 15 0c
13 22 6e 61 6d 22 3a 20 22 4a 61 6d 65 73 20 42
6f 6e 64 22 30 1d 16 03 63 72 6e 30 16 0c 14 22
46 6f 72 20 79 6f 75 72 20 65 61 72 73 20 6f 6e
6c 79 22 a2 27 30 25 16 06 61 74 74 65 73 74 16
06 6f 72 69 67 69 64 16 03 64 69 76 16 03 72 70
68 16 03 73 70 68 16 04 72 63 64 69
]]></artwork></figure>

<t>base64url value:</t>

<figure><artwork><![CDATA[
MGqhPzA9MBwWA3JjZDAVDBMibmFtIjogIkphbWVzIEJvbmQiMB0WA2NybjAWDBQi
Rm9yIHlvdXIgZWFycyBvbmx5IqInMCUWBmF0dGVzdBYGb3JpZ2lkFgNkaXYWA3Jw
aBYDc3BoFgRyY2Rp
]]></artwork></figure>

</section>
<section anchor="extended-claims-constrained-to-specific-telephone-numbers"><name>Extended Claims Constrained to Specific Telephone Numbers</name>

<t>In this case, the requestor is authorized to assert a set of claims only for calls that originate from a specific set of telephone numbers. This is expressed by constraining the "orig" claim in permittedValues to those telephone numbers, alongside the other permitted claims. See Section 5.5 for why the CA does not need to cross-check this constraint against the certificate's TNAuthList.</t>

<figure><artwork><![CDATA[
SEQUENCE {
  permittedValues [1] {
    SEQUENCE {
      SEQUENCE {
        IA5String 'rcd'
        SEQUENCE {
          UTF8String '"nam": "James Bond"'
          }
        }
      SEQUENCE {
        IA5String 'crn'
        SEQUENCE {
          UTF8String '"For your ears only"'
          }
        }
      SEQUENCE {
        IA5String 'orig'
        SEQUENCE {
          UTF8String '"12025551000"'
          UTF8String '"12025551001"'
          }
        }
      }
    }
  mustExclude [2] {
    SEQUENCE {
      IA5String 'attest'
      IA5String 'origid'
      IA5String 'div'
      IA5String 'rph'
      IA5String 'sph'
      IA5String 'rcdi'
      }
    }
  }
]]></artwork></figure>

<t>DER encoding (149 bytes, hex):</t>

<figure><artwork><![CDATA[
30 81 92 a1 67 30 65 30 1c 16 03 72 63 64 30 15
0c 13 22 6e 61 6d 22 3a 20 22 4a 61 6d 65 73 20
42 6f 6e 64 22 30 1d 16 03 63 72 6e 30 16 0c 14
22 46 6f 72 20 79 6f 75 72 20 65 61 72 73 20 6f
6e 6c 79 22 30 26 16 04 6f 72 69 67 30 1e 0c 0d
22 31 32 30 32 35 35 35 31 30 30 30 22 0c 0d 22
31 32 30 32 35 35 35 31 30 30 31 22 a2 27 30 25
16 06 61 74 74 65 73 74 16 06 6f 72 69 67 69 64
16 03 64 69 76 16 03 72 70 68 16 03 73 70 68 16
04 72 63 64 69
]]></artwork></figure>

<t>base64url value:</t>

<figure><artwork><![CDATA[
MIGSoWcwZTAcFgNyY2QwFQwTIm5hbSI6ICJKYW1lcyBCb25kIjAdFgNjcm4wFgwU
IkZvciB5b3VyIGVhcnMgb25seSIwJhYEb3JpZzAeDA0iMTIwMjU1NTEwMDAiDA0i
MTIwMjU1NTEwMDEioicwJRYGYXR0ZXN0FgZvcmlnaWQWA2RpdhYDcnBoFgNzcGgW
BHJjZGk
]]></artwork></figure>

</section>
</section>


  </back>

<!-- ##markdown-source:
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
yjJcvWU3XMzckZ+Zl7mpi1lVz1vSTWyv8u+VfToBGBSUTqpi/TxjC12tIJ0J
lKIckHxXPFUGe5XDyj4sKO3Fv8psfa7YgZShrpK8baUQvFaXCXU79ot1p6eJ
krxPRUpMsI06yRjDP8Xzh/b8+rReLZSKC2+yK7OHFkaSMVGlrncC0XOgdiCT
kE54wsN2llRI8xfpp4Bfc2QpsnmnUSagIvq8+477IDekWm0camgM2HnoTp/Z
A9VbaDjLmg9tbKvMYZhP/lawmWM3Bba+ofCDDzH7pqNQwf1eCWNv7+T6ap8r
4hy/qU1ArqQNc1NLq0V4ahp6d7iqaLk7DQVOtDSg9MIqtzBKdeFUBDS1ii87
nonuFVTERBNXeBk+4DvhuLiUkjXJJSXMYDlLIUsv14dP1NlURIZbhSyG21R2
LaiJ9N0TM2BD0qvYYNBxSpoO7r25u94Xi6bkptOdBIXEFenRWhGiSPaEf8g5
3eCKtMjXICBnKZc8lu+Beu650iAxscNuE0r5N7NYhN1BjIXrkt7pPIYu4m68
XrO0TRXYishD4ICc93MVXChxMqpQfnR+uUEis18AehJ4GOqIje7mdDwVKsQD
ACPlUUhqeSjqW3nSOe9oyhcVBIYZp3vv3+7bDaZ06qpEXbuzNeOtoKVbT7YW
khwBLH9Yg+3JPI2qEGT7fTbQADNLX+Vl+7LCy1rPBJYFJdcATbGVoD6ckX9p
qf7Y/4tPSxAqeCx+MDHX7ox18mpy2Hxzd5z+fvhxPZx+OAmOPh798mxnmw1N
bXZuqHXzPoy9s8NkMo0LnXA4dRf74DR72Aen1bhpdvqNo37joH50tKGxFh/6
XGMtMWpbYx3t+vnznXU2ttXayaMk3v6BhloGjHVfLdHdRyPu9o4QMO7lfJC1
n45fufFoJV7Pla2Zr+EbNbCx4pfT4M2w236Yt9r1hT/PN17iRVG83T6ythNL
d2HfXmxSh7hvTKZb5lrLmM2qZ7Lkw0iQthKP/kBOpHT17xJYtriDiKcgN+EJ
hFxBl03Fq1zrRVHA1WguQuPEnfq6lofObKZYUxAdmBboljwrTsUcRlQRRVFq
D2MHRmE9xmrmAKGxALUQ0uKrGYC3JesFpenJHaku72lJlgxP78iouYaogZr6
WWbUZwEwx7TKyMWQCxxKiOUAGP00yII5Z5+ZyBYJ5hgIBo7M1Zx5kC5FRpyR
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

-->

</rfc>

