<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-meunier-http-message-signatures-directory-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <front>
    <title abbrev="HTTP Message Signatures Directory">HTTP Message Signatures Directory</title>
    <seriesInfo name="Internet-Draft" value="draft-meunier-http-message-signatures-directory-01"/>
    <author fullname="Thibault Meunier">
      <organization>Cloudflare</organization>
      <address>
        <email>ot-ietf@thibault.uk</email>
      </address>
    </author>
    <date year="2025" month="June" day="19"/>
    <area>Web and Internet Transport</area>
    <workgroup>Web Bot Auth</workgroup>
    <keyword>not-yet</keyword>
    <abstract>
      <?line 51?>

<t>This document describes a method for clients using <xref target="HTTP-MESSAGE-SIGNATURES"/>
to advertise their signing keys.</t>
      <t>It defines a key directory format based on JWKS as defined in <xref section="5" sectionFormat="of" target="JWK"/>,
as well as new HTTP Method Context to allow for in-band key discovery.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://thibmeu.github.io/http-message-signatures-directory/draft-meunier-http-message-signatures-directory.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-meunier-http-message-signatures-directory/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Web Bot Auth Working Group mailing list (<eref target="mailto:web-bot-auth@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/web-bot-auth/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/web-bot-auth/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/thibmeu/http-message-signatures-directory"/>.</t>
    </note>
  </front>
  <middle>
    <?line 60?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="HTTP-MESSAGE-SIGNATURES"/> allow a signer to generate a signature over an HTTP message, and a verifier to validate it.
The specification assumes verifiers have prior knowledge of
signers' key material, requiring out-of-band key distribution mechanisms. This creates deployment
friction and limits the ability to dynamically verify signatures from previously unknown signers.</t>
      <t>This document defines:
1. A standardized key directory format based on JWKS for publishing HTTP Message Signatures keys
2. A well-known URI location for discovering these key directories
3. A new HTTP header field enabling in-band key directory location discovery</t>
      <t>Together, these mechanisms enable key distribution and discovery for HTTP Message Signatures cryptographic material.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="configuration">
      <name>Configuration</name>
      <t>The key directory is served as a JSON Web Key Set (JWKS) as defined in <xref section="5" sectionFormat="of" target="JWK"/>.
The "alg" parameter are restricted to algorithm registered against HTTP Signature Algorithms Section of <xref target="HTTP-MESSAGE-SIGNATURES-IANA"/></t>
      <t>The directory <bcp14>SHOULD</bcp14> be served over HTTPS.
The directory <bcp14>MUST</bcp14> be served with media type <tt>application/http-message-signatures-directory+json</tt>.</t>
      <t>Client application <bcp14>SHOULD</bcp14> validate the directory format and reject malformed entries.</t>
    </section>
    <section anchor="http-method-context-signature-agent">
      <name>HTTP Method Context <tt>Signature-Agent</tt></name>
      <t>A service sending signed requests as defined in <xref target="HTTP-MESSAGE-SIGNATURES"/> <bcp14>MAY</bcp14> include a
<tt>Signature-Agent</tt> header field to communicate its signing key directory. This header
field contains a URI allowing retrieval of an HTTP Message Signatures Directory as
defined in <xref target="configuration"/>.</t>
      <section anchor="header-field-definition">
        <name>Header Field Definition</name>
        <t>The <tt>Signature-Agent</tt> header field is an Item Structured Header <xref target="STRUCTURED-HEADERS"/>. Its value <bcp14>MUST</bcp14> be a
String containing a <xref target="URI"/>. The ABNF is:</t>
        <artwork><![CDATA[
Signature-Agent = sf-string   ; Section 3.3.3 of {{STRUCTURED-HEADERS}}
]]></artwork>
        <t>The URI scheme <bcp14>MUST</bcp14> be one of:
- <strong>https (<bcp14>RECOMMENDED</bcp14>)</strong>: Points to an HTTPS resource serving the key directory
- <strong>http</strong>: Points to an HTTP resource serving the key directory
- <strong>data</strong>: Contains an inline key directory</t>
        <t>When using the "data" URI scheme, the media type <bcp14>MUST</bcp14> be
<tt>application/http-message-signatures-directory+json</tt>. The content <bcp14>MAY</bcp14> be base64 encoded
as per <xref target="BASE64"/>.</t>
        <t>Multiple <tt>Signature-Agent</tt> header fields <bcp14>MAY</bcp14> be present in a request. Processors <bcp14>SHOULD</bcp14>
use the first valid URI that provides a valid key directory.</t>
      </section>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <section anchor="key-rotation">
        <name>Key rotation</name>
        <t>Clients <bcp14>SHOULD</bcp14> implement key rotation by including multiple keys in the directory
with different validity period. When rotating keys, clients <bcp14>SHOULD</bcp14>:</t>
        <ol spacing="normal" type="1"><li>
            <t>Add the new key to the directory before its intended use date</t>
          </li>
          <li>
            <t>Continue to include the old key until its expiration date</t>
          </li>
          <li>
            <t>Remove expired keys from the directory</t>
          </li>
        </ol>
        <t>Servers <bcp14>SHOULD</bcp14> cache the directory contents and refresh upon expiration.</t>
      </section>
      <section anchor="binding-keys-to-the-directory-authority">
        <name>Binding keys to the directory authority</name>
        <t>To ensure the authenticity and integrity of the key material provided by the
directory, clients <strong><bcp14>SHOULD</bcp14></strong> validate the directory's response.</t>
        <t>When a directory server provides a key directory over HTTP or HTTPS, it is
<bcp14>RECOMMENDED</bcp14> that it constructs and includes one HTTP Message Signatures per keys
with the response, as defined in <xref target="HTTP-MESSAGE-SIGNATURES"/>.
Each key <bcp14>SHOULD</bcp14> be used to provide one signature.</t>
        <t>Directory server <bcp14>SHOULD</bcp14> include:</t>
        <dl>
          <dt><tt>@authority</tt></dt>
          <dd>
            <t>as defined in <xref section="2.2.3" sectionFormat="of" target="HTTP-MESSAGE-SIGNATURES"/></t>
          </dd>
        </dl>
        <t>Directory server <bcp14>SHOULD</bcp14> include the following <tt>@signature-params</tt> as defined in
<xref section="2.3" sectionFormat="of" target="HTTP-MESSAGE-SIGNATURES"/></t>
        <dl>
          <dt><tt>created</tt></dt>
          <dd>
            <t>as defined in <xref section="2.3" sectionFormat="of" target="HTTP-MESSAGE-SIGNATURES"/></t>
          </dd>
          <dt><tt>expires</tt></dt>
          <dd>
            <t>as defined in <xref section="2.3" sectionFormat="of" target="HTTP-MESSAGE-SIGNATURES"/></t>
          </dd>
          <dt><tt>keyid</tt></dt>
          <dd>
            <t><bcp14>MUST</bcp14> be a base64url JWK SHA-256 Thumbprint as defined in <xref section="3.2" sectionFormat="of" target="JWK-THUMBPRINT"/> for RSA and EC, and in <xref section="A.3" sectionFormat="of" target="JWK-OKP"/> for ed25519.</t>
          </dd>
          <dt><tt>tag</tt></dt>
          <dd>
            <t><bcp14>MUST</bcp14> be <tt>http-message-signatures-directory</tt></t>
          </dd>
        </dl>
        <t>Clients <bcp14>SHOULD</bcp14> validate these signatures using the keys provided by the
directory. Clients <bcp14>SHOULD</bcp14> ignore keys from a directory response that do not have
a corresponding valid signature. This validation ensures the integrity of the
key set and its association with the intended directory.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>Key directories enable discovery of signing keys which may reveal information about the
signing entity. Implementers should consider:</t>
      <section anchor="directory-content">
        <name>Directory Content</name>
        <t>Key directories should only contain keys actively used for signing. Including additional
keys or metadata may expose unnecessary information about the signing service.</t>
      </section>
      <section anchor="access-patterns">
        <name>Access Patterns</name>
        <t>Verifiers accessing key directories may reveal information about signature verification
patterns. Directory servers should avoid logging personally identifiable information
from directory requests.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This section contains considerations for IANA.</t>
      <section anchor="wkuri-reg">
        <name>Well-Known 'http-message-signatures-directory' URI</name>
        <t>This document updates the "Well-Known URIs" Registry <xref target="WellKnownURIs"/> with the
following values.</t>
        <table anchor="wellknownuri-values">
          <name>'http-message-signatures-directory' Well-Known URI</name>
          <thead>
            <tr>
              <th align="left">URI Suffix</th>
              <th align="left">Change Controller</th>
              <th align="left">Reference</th>
              <th align="left">Status</th>
              <th align="left">Related information</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">http-message-signatures-directory</td>
              <td align="left">IETF</td>
              <td align="left">[this document]</td>
              <td align="left">permanent</td>
              <td align="left">None</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="media-types">
        <name>Media Types</name>
        <t>The following entries should be added to the IANA "media types"
registry:</t>
        <ul spacing="normal">
          <li>
            <t>"application/http-message-signatures-directory+json"</t>
          </li>
        </ul>
        <t>The templates for these entries are listed below and the
reference should be this RFC.</t>
        <section anchor="applicationhttp-message-signatures-directoryjson-media-type">
          <name>"application/http-message-signatures-directory+json" media type</name>
          <dl spacing="compact">
            <dt>Type name:</dt>
            <dd>
              <t>application</t>
            </dd>
            <dt>Subtype name:</dt>
            <dd>
              <t>http-message-signatures-directory</t>
            </dd>
            <dt>Required parameters:</dt>
            <dd>
              <t>N/A</t>
            </dd>
            <dt>Optional parameters:</dt>
            <dd>
              <t>N/A</t>
            </dd>
            <dt>Encoding considerations:</dt>
            <dd>
              <t>"binary"</t>
            </dd>
            <dt>Security considerations:</dt>
            <dd>
              <t>see <xref target="security"/></t>
            </dd>
            <dt>Interoperability considerations:</dt>
            <dd>
              <t>N/A</t>
            </dd>
            <dt>Published specification:</dt>
            <dd>
              <t>this specification</t>
            </dd>
            <dt>Applications that use this media type:</dt>
            <dd>
              <t>Services that implement the signer role for HTTP Message
Signatures and verifiers that interact with the signer for
the purpose of validating signatures.</t>
            </dd>
            <dt>Fragment identifier considerations:</dt>
            <dd>
              <t>N/A</t>
            </dd>
            <dt>Additional information:</dt>
            <dd>
              <dl spacing="compact">
                <dt>Magic number(s):</dt>
                <dd>N/A</dd>
                <dt>Deprecated alias names for this type:</dt>
                <dd>N/A</dd>
                <dt>File extension(s):</dt>
                <dd>N/A</dd>
                <dt>Macintosh file type code(s):</dt>
                <dd>N/A</dd>
              </dl>
            </dd>
            <dt>Person and email address to contact for further information:</dt>
            <dd>
              <t>see Authors' Addresses section</t>
            </dd>
            <dt>Intended usage:</dt>
            <dd>
              <t>COMMON</t>
            </dd>
            <dt>Restrictions on usage:</dt>
            <dd>
              <t>N/A</t>
            </dd>
            <dt>Author:</dt>
            <dd>
              <t>see Authors' Addresses section</t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
          </dl>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="HTTP">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="HTTP-MESSAGE-SIGNATURES">
          <front>
            <title>HTTP Message Signatures</title>
            <author fullname="A. Backman" initials="A." role="editor" surname="Backman"/>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <author fullname="M. Sporny" initials="M." surname="Sporny"/>
            <date month="February" year="2024"/>
            <abstract>
              <t>This document describes a mechanism for creating, encoding, and verifying digital signatures or message authentication codes over components of an HTTP message. This mechanism supports use cases where the full HTTP message may not be known to the signer and where the message may be transformed (e.g., by intermediaries) before reaching the verifier. This document also describes a means for requesting that a signature be applied to a subsequent HTTP message in an ongoing HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9421"/>
          <seriesInfo name="DOI" value="10.17487/RFC9421"/>
        </reference>
        <reference anchor="HTTP-MESSAGE-SIGNATURES-IANA" target="https://www.iana.org/assignments/http-message-signature/http-message-signature.xhtml">
          <front>
            <title>HTTP Message Signatures</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="JWK">
          <front>
            <title>JSON Web Key (JWK)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. This specification also defines a JWK Set JSON data structure that represents a set of JWKs. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and IANA registries established by that specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7517"/>
          <seriesInfo name="DOI" value="10.17487/RFC7517"/>
        </reference>
        <reference anchor="JWK-OKP">
          <front>
            <title>CFRG Elliptic Curve Diffie-Hellman (ECDH) and Signatures in JSON Object Signing and Encryption (JOSE)</title>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document defines how to use the Diffie-Hellman algorithms "X25519" and "X448" as well as the signature algorithms "Ed25519" and "Ed448" from the IRTF CFRG elliptic curves work in JSON Object Signing and Encryption (JOSE).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8037"/>
          <seriesInfo name="DOI" value="10.17487/RFC8037"/>
        </reference>
        <reference anchor="JWK-THUMBPRINT">
          <front>
            <title>JSON Web Key (JWK) Thumbprint</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>This specification defines a method for computing a hash value over a JSON Web Key (JWK). It defines which fields in a JWK are used in the hash computation, the method of creating a canonical form for those fields, and how to convert the resulting Unicode string into a byte sequence to be hashed. The resulting hash value can be used for identifying or selecting the key represented by the JWK that is the subject of the thumbprint.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7638"/>
          <seriesInfo name="DOI" value="10.17487/RFC7638"/>
        </reference>
        <reference anchor="STRUCTURED-HEADERS">
          <front>
            <title>Structured Field Values for HTTP</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="P-H. Kamp" surname="P-H. Kamp"/>
            <date month="February" year="2021"/>
            <abstract>
              <t>This document describes a set of data types and associated algorithms that are intended to make it easier and safer to define and handle HTTP header and trailer fields, known as "Structured Fields", "Structured Headers", or "Structured Trailers". It is intended for use by specifications of new HTTP fields that wish to use a common syntax that is more restrictive than traditional HTTP field values.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8941"/>
          <seriesInfo name="DOI" value="10.17487/RFC8941"/>
        </reference>
        <reference anchor="URI">
          <front>
            <title>URI Design and Ownership</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>Section 1.1.1 of RFC 3986 defines URI syntax as "a federated and extensible naming system wherein each scheme's specification may further restrict the syntax and semantics of identifiers using that scheme." In other words, the structure of a URI is defined by its scheme. While it is common for schemes to further delegate their substructure to the URI's owner, publishing independent standards that mandate particular forms of substructure in URIs is often problematic.</t>
              <t>This document provides guidance on the specification of URI substructure in standards.</t>
              <t>This document obsoletes RFC 7320 and updates RFC 3986.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="190"/>
          <seriesInfo name="RFC" value="8820"/>
          <seriesInfo name="DOI" value="10.17487/RFC8820"/>
        </reference>
        <reference anchor="WellKnownURIs" target="https://www.iana.org/assignments/well-known-uris/well-known-uris.xhtml">
          <front>
            <title>Well-Known URIs</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </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="BASE64">
          <front>
            <title>The "data" URL scheme</title>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="August" year="1998"/>
            <abstract>
              <t>A new URL scheme, "data", is defined. It allows inclusion of small data items as "immediate" data, as if it had been included externally. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2397"/>
          <seriesInfo name="DOI" value="10.17487/RFC2397"/>
        </reference>
        <reference anchor="CRYPTO-TEST-KEYS">
          <front>
            <title>Standard Public Key Cryptography (PKC) Test Keys</title>
            <author fullname="P. Gutmann" initials="P." surname="Gutmann"/>
            <author fullname="C. Bonnell" initials="C." surname="Bonnell"/>
            <date month="December" year="2023"/>
            <abstract>
              <t>This document provides a set of standard Public Key Cryptography (PKC) test keys that may be used wherever pre-generated keys and associated operations like digital signatures are required. Like the European Institute for Computer Antivirus Research (EICAR) virus test and the Generic Test for Unsolicited Bulk Email (GTUBE) spam test files, these publicly known test keys can be detected and recognised by applications consuming them as being purely for testing purposes without assigning any security properties to them.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9500"/>
          <seriesInfo name="DOI" value="10.17487/RFC9500"/>
        </reference>
        <reference anchor="X509-PKI">
          <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>
      </references>
    </references>
    <?line 300?>

<section anchor="examples">
      <name>Examples</name>
      <section anchor="key-directory-on-examplecom">
        <name>Key Directory on example.com</name>
        <artwork><![CDATA[
GET /.well-known/http-message-signatures-directory HTTP/1.1
Host: example.com
Accept: application/http-message-signatures-directory+json

HTTP/1.1 200 OK
Content-Type: application/http-message-signatures-directory+json
Cache-Control: max-age=86400
{
  "keys": [{
    "kty": "OKP",
    "crv": "Ed25519",
    "kid": "NFcWBst6DXG-N35nHdzMrioWntdzNZghQSkjHNMMSjw",
    "x": "JrQLj5P_89iXES9-vFgrIy29clF9CC_oPPsw3c5D0bs",
    "use": "sig",
    "nbf": 1712793600,
    "exp": 1715385600
  }]
}
]]></artwork>
      </section>
      <section anchor="delegation-and-chaining">
        <name>Delegation and chaining</name>
        <t>There are multiple methods to perform delegation and chaining. There are no specific methods
that have been favored by implementation so far, should they even support them.
It is adviced to consider delegation as experimental for now, and provide input on the associated
<eref target="https://github.com/thibmeu/http-message-signatures-directory/issues/27">GitHub issue</eref>.</t>
        <section anchor="key-directory-on-subexamplecom-with-a-delegation-from-examplecom-via-x5c-full-certificate-chain">
          <name>Key Directory on sub.example.com with a delegation from example.com via x5c full certificate chain</name>
          <t>In this example, example.com key is testECCP256 provided in <xref section="2.3" sectionFormat="of" target="CRYPTO-TEST-KEYS"/>.
Certificate chain is passed via x5c key parameter defined in <xref section="4.7" sectionFormat="of" target="JWK"/>.</t>
          <artwork><![CDATA[
GET /.well-known/http-message-signatures-directory HTTP/1.1
Host: sub.example.com
Accept: application/http-message-signatures-directory

HTTP/1.1 200 OK
Content-Type: application/http-message-signatures-directory
Cache-Control: max-age=86400
{
  "keys": [{
    "kty": "OKP",
    "crv": "Ed25519",
    "kid": "NFcWBst6DXG-N35nHdzMrioWntdzNZghQSkjHNMMSjw",
    "x": "JrQLj5P_89iXES9-vFgrIy29clF9CC_oPPsw3c5D0bs",
    "use": "sig",
    "nbf": 1712793600,
    "exp": 1715385600,
    "x5c": [
      "MIIBYTCCAQagAwIBAgIUFDXRG3pgZ6txehQO2LT4aCqI3f0wCgYIKoZIzj0EAwIwFjEUMBIGA1UEAwwLZXhhbXBsZS5jb20wHhcNMjUwNjEzMTA0MjQxWhcNMzUwNjExMTA0MjQxWjAaMRgwFgYDVQQDDA9zdWIuZXhhbXBsZS5jb20wKjAFBgMrZXADIQAmtAuPk//z2JcRL368WCsjLb1yUX0IL+g8+zDdzkPRu6NdMFswCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFKV3qaYNFbzQB1QmN4sa13+t4RmoMB8GA1UdIwQYMBaAFFtwp5gX95/2N9L349xEbCEJ17vUMAoGCCqGSM49BAMCA0kAMEYCIQC8r+GvvNnjI+zzOEDMOM/g9e8QLm00IZXP+tjDqah1UQIhAJHffLke9iEP1pUdm+oRLrq6bUqyLELi5TH2t+BaagKv",
      "MIIBcDCCARagAwIBAgIUS502rlCXxG2vviltGdfe3fmX4pIwCgYIKoZIzj0EAwIwFjEUMBIGA1UEAwwLZXhhbXBsZS5jb20wHhcNMjUwNjEzMTA0MTQzWhcNMzUwNjExMTA0MTQzWjAWMRQwEgYDVQQDDAtleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABEIlSPiPt4L/teyjdERSxyoeVY+9b3O+XkjpMjLMRcWxbEzRDEy41bihcTnpSILImSVymTQl9BQZq36QpCpJQnKjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgIEMB0GA1UdDgQWBBRbcKeYF/ef9jfS9+PcRGwhCde71DAKBggqhkjOPQQDAgNIADBFAiEAwTOqm1zNAvZuQ8Zb5AftQIZotq4Xe6GHz3+nJ04ybgoCIEEZtn1Pa+GCbmbWh12piHJBKh09TCA0feTedisbwzPV"
    ]
  }]
}
]]></artwork>
        </section>
        <section anchor="key-directory-on-subexamplecom-with-a-delegation-from-examplecom-via-a-leaf-certificate-and-aia-field">
          <name>Key Directory on sub.example.com with a delegation from example.com via a leaf certificate and AIA field</name>
          <t>In this example, example.com key is testECCP256 provided in <xref section="2.3" sectionFormat="of" target="CRYPTO-TEST-KEYS"/>.
Certificate chain is passed via x5c key parameter defined in <xref section="4.7" sectionFormat="of" target="JWK"/>,
and the root certificate is signaled by the presence of an Authority Information Access extension
as defined in <xref section="5.2.7" sectionFormat="of" target="X509-PKI"/>.</t>
          <artwork><![CDATA[
GET /.well-known/http-message-signatures-directory HTTP/1.1
Host: sub.example.com
Accept: application/http-message-signatures-directory

HTTP/1.1 200 OK
Content-Type: application/http-message-signatures-directory
Cache-Control: max-age=86400
{
  "keys": [{
    "kty": "OKP",
    "crv": "Ed25519",
    "kid": "NFcWBst6DXG-N35nHdzMrioWntdzNZghQSkjHNMMSjw",
    "x": "JrQLj5P_89iXES9-vFgrIy29clF9CC_oPPsw3c5D0bs",
    "use": "sig",
    "nbf": 1712793600,
    "exp": 1715385600,
    "x5c": [
      "MIIBYTCCAQagAwIBAgIUFDXRG3pgZ6txehQO2LT4aCqI3f0wCgYIKoZIzj0EAwIwFjEUMBIGA1UEAwwLZXhhbXBsZS5jb20wHhcNMjUwNjEzMTA0MjQxWhcNMzUwNjExMTA0MjQxWjAaMRgwFgYDVQQDDA9zdWIuZXhhbXBsZS5jb20wKjAFBgMrZXADIQAmtAuPk//z2JcRL368WCsjLb1yUX0IL+g8+zDdzkPRu6NdMFswCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFKV3qaYNFbzQB1QmN4sa13+t4RmoMB8GA1UdIwQYMBaAFFtwp5gX95/2N9L349xEbCEJ17vUMAoGCCqGSM49BAMCA0kAMEYCIQC8r+GvvNnjI+zzOEDMOM/g9e8QLm00IZXP+tjDqah1UQIhAJHffLke9iEP1pUdm+oRLrq6bUqyLELi5TH2t+BaagKv"
    ]
  }]
}
]]></artwork>
          <t>The AIA extension is as follow</t>
          <artwork><![CDATA[
X509v3 extensions:
  Authority Information Access:
    CA Issuers - URI:https://example.com/.well-known/http-message-signatures-directory.crt
]]></artwork>
          <!-- Words from @sandormajor. TODO: add acknowledgement -->

<t>The verifier should validate the signature with the public key in the Signature-Agent,
match the public key with the leaf cert, then fetch the root cert from the AIA URI and verify the leaf cert with it.</t>
        </section>
        <section anchor="key-directory-on-subexamplecom-with-a-delegation-from-examplecom-via-x5u-field">
          <name>Key Directory on sub.example.com with a delegation from example.com via x5u field</name>
          <t>Leveraging x5c imposes that a PEM encoded certificate is present in the returned JWKS.
If size is a constraint, or deployment imposes a more dynamic certificate management,
directory server may use x5u key parameter defined in <xref section="4.6" sectionFormat="of" target="JWK"/>.</t>
          <artwork><![CDATA[
GET /.well-known/http-message-signatures-directory HTTP/1.1
Host: sub.example.com
Accept: application/http-message-signatures-directory

HTTP/1.1 200 OK
Content-Type: application/http-message-signatures-directory
Cache-Control: max-age=86400

{
  "keys": [{
    "kty": "OKP",
    "crv": "Ed25519",
    "kid": "NFcWBst6DXG-N35nHdzMrioWntdzNZghQSkjHNMMSjw",
    "x": "JrQLj5P_89iXES9-vFgrIy29clF9CC_oPPsw3c5D0bs",
    "use": "sig",
    "nbf": 1712793600,
    "exp": 1715385600,
    "x5u": "https://example.com/.well-known/http-message-signature-chain/sub.example.com.crt"
}
]]></artwork>
        </section>
      </section>
      <section anchor="request-with-http-signature-agent">
        <name>Request with HTTP Signature-Agent</name>
        <t>This extend the examples from <xref section="B" sectionFormat="of" target="HTTP-MESSAGE-SIGNATURES"/>.</t>
        <artwork><![CDATA[
POST /foo?param=Value&Pet=dog HTTP/1.1
Host: example.com
Signature-Agent: https://directory.test
{"hello": "world"}

HTTP/1.1 200 OK
{"message": "good dog"}
]]></artwork>
      </section>
      <section anchor="request-with-data-uri-signature-agent">
        <name>Request with <tt>data</tt> URI Signature-Agent</name>
        <t>A Signature-Agent using <tt>data</tt> URI can be used to communicate an ephemeral keys, as long as there is a chain to a certificate trusted by the origin.</t>
        <t>In this example, the directory is signed by <tt>example.com</tt>. The CA is self-signed, even though it <bcp14>MAY</bcp14> be part of an existing PKI.</t>
        <artwork><![CDATA[
POST /foo?param=Value&Pet=dog HTTP/1.1
Host: example.com
Signature-Agent: data:application/http-message-signatures-directory;utf8,{"keys":[{"kty":"OKP","crv":"Ed25519","kid":"NFcWBst6DXG-N35nHdzMrioWntdzNZghQSkjHNMMSjw","x":"JrQLj5P_89iXES9-vFgrIy29clF9CC_oPPsw3c5D0bs","use":"sig","nbf":1712793600,"exp":1715385600,"x5c":["MIIBYTCCAQagAwIBAgIUFDXRG3pgZ6txehQO2LT4aCqI3f0wCgYIKoZIzj0EAwIwFjEUMBIGA1UEAwwLZXhhbXBsZS5jb20wHhcNMjUwNjEzMTA0MjQxWhcNMzUwNjExMTA0MjQxWjAaMRgwFgYDVQQDDA9zdWIuZXhhbXBsZS5jb20wKjAFBgMrZXADIQAmtAuPk//z2JcRL368WCsjLb1yUX0IL+g8+zDdzkPRu6NdMFswCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFKV3qaYNFbzQB1QmN4sa13+t4RmoMB8GA1UdIwQYMBaAFFtwp5gX95/2N9L349xEbCEJ17vUMAoGCCqGSM49BAMCA0kAMEYCIQC8r+GvvNnjI+zzOEDMOM/g9e8QLm00IZXP+tjDqah1UQIhAJHffLke9iEP1pUdm+oRLrq6bUqyLELi5TH2t+BaagKv","MIIBcDCCARagAwIBAgIUS502rlCXxG2vviltGdfe3fmX4pIwCgYIKoZIzj0EAwIwFjEUMBIGA1UEAwwLZXhhbXBsZS5jb20wHhcNMjUwNjEzMTA0MTQzWhcNMzUwNjExMTA0MTQzWjAWMRQwEgYDVQQDDAtleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABEIlSPiPt4L/teyjdERSxyoeVY+9b3O+XkjpMjLMRcWxbEzRDEy41bihcTnpSILImSVymTQl9BQZq36QpCpJQnKjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgIEMB0GA1UdDgQWBBRbcKeYF/ef9jfS9+PcRGwhCde71DAKBggqhkjOPQQDAgNIADBFAiEAwTOqm1zNAvZuQ8Zb5AftQIZotq4Xe6GHz3+nJ04ybgoCIEEZtn1Pa+GCbmbWh12piHJBKh09TCA0feTedisbwzPV"]}]}
{"hello": "world"}

HTTP/1.1 200 OK
{"message": "good dog"}
]]></artwork>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
    <section numbered="false" anchor="changelog">
      <name>Changelog</name>
      <t>v01</t>
      <ul spacing="normal">
        <li>
          <t>Update content-type from <tt>application/http-message-signatures-directory</tt> to <tt>application/http-message-signatures-directory+json</tt></t>
        </li>
        <li>
          <t>Add delegation and chaining examples: full x5c chain, AIA extension, and x5u</t>
        </li>
        <li>
          <t>Add inline directory example with data URI</t>
        </li>
        <li>
          <t>Fix well-known path in examples</t>
        </li>
      </ul>
      <t>v00</t>
      <ul spacing="normal">
        <li>
          <t>Initial draft</t>
        </li>
        <li>
          <t>Definition of Signature-Agent and its three supported URI https, http, and data.</t>
        </li>
        <li>
          <t>Leverages JWKS as a directory fo HTTP Message Signatures</t>
        </li>
        <li>
          <t>Well-known and content-type</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
