<?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.7 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-scitt-scrapi-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.0 -->
  <front>
    <title abbrev="SCRAPI">SCITT Reference APIs</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-scitt-scrapi-01"/>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization abbrev="Fraunhofer SIT">Fraunhofer SIT</organization>
      <address>
        <postal>
          <street>Rheinstrasse 75</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <author initials="O." surname="Steele" fullname="Orie Steele">
      <organization>Transmute</organization>
      <address>
        <email>orie@transmute.industries</email>
      </address>
    </author>
    <author initials="J." surname="Geater" fullname="Jon Geater">
      <organization>DataTrails Inc.</organization>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>jon.geater@datatrails.ai</email>
      </address>
    </author>
    <date year="2024" month="March" day="04"/>
    <area>Security</area>
    <workgroup>SCITT</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 64?>

<t>This document describes a REST API that supports the normative requirements of the SCITT Architecture <xref target="I-D.draft-ietf-scitt-architecture"/>.
Optional key discovery and query interfaces are provided to support interoperability issues with Decentralized Identifiers, X509 Certificates and Artifact Reposistories.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-scitt-scrapi/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        SCITT Working Group mailing list (<eref target="mailto:scitt@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/scitt/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/scitt/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-wg-scitt/draft-ietf-scitt-scrapi"/>.</t>
    </note>
  </front>
  <middle>
    <?line 69?>

<section anchor="sec-introduction">
      <name>Introduction</name>
      <t>The SCITT Architecture <xref target="I-D.draft-ietf-scitt-architecture"/> defines the core operations necessary to support supply chain transparency using COSE (CBOR Object Signing and Encryption).</t>
      <ul spacing="normal">
        <li>
          <t>Issuance of Signed Statements</t>
        </li>
        <li>
          <t>Verification of Signed Statements</t>
        </li>
        <li>
          <t>Registration of Signed Statements</t>
        </li>
        <li>
          <t>Issuance of Receipts</t>
        </li>
        <li>
          <t>Verification of Receipts</t>
        </li>
        <li>
          <t>Production of Transparent Statements</t>
        </li>
        <li>
          <t>Verification of Transparent Statements</t>
        </li>
      </ul>
      <t>In addition to defining concrete HTTP endpoints for these operations, this specification defines support for the following endpoints which support these operations:</t>
      <ul spacing="normal">
        <li>
          <t>Resolving Verification Keys for Issuers</t>
        </li>
        <li>
          <t>Retrieving Receipts Asynchronously</t>
        </li>
        <li>
          <t>Retrieving Signed Statements from an Artifact Repository</t>
        </li>
        <li>
          <t>Retrieving Statements from an Artifact Repository</t>
        </li>
      </ul>
      <section anchor="sec-terminology">
        <name>Terminology</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

<t>This specification uses the terms "Signed Statement", "Receipt", "Transparent Statement", "Artifact Repositories", "Transparency Service", "Append-Only Log" and "Registration Policy" as defined in <xref target="I-D.draft-ietf-scitt-architecture"/>.</t>
        <t>This specification uses "payload" as defined in <xref target="RFC9052"/>.</t>
      </section>
    </section>
    <section anchor="sec-endpoints">
      <name>Endpoints</name>
      <t>Authentication is out of scope for this document.
If Authentication is not implemented, rate limiting or other denial of service mititations <bcp14>MUST</bcp14> be applied to enable anonymous access.</t>
      <t>NOTE: '' line wrapping per RFC 8792 in HTTP examples.</t>
      <t>All messages are sent as HTTP GET or POST requests.</t>
      <t>If the Transparency Service cannot process a client's request, it <bcp14>MUST</bcp14> return an HTTP 4xx or 5xx status code, and the body <bcp14>SHOULD</bcp14> be a JSON problem details object (<xref target="RFC7807"/>) containing:</t>
      <ul spacing="normal">
        <li>
          <t>type: A URI reference identifying the problem.
To facilitate automated response to errors, this document defines a set of standard tokens for use in the type field within the URN namespace of: "urn:ietf:params:scitt:error:".</t>
        </li>
        <li>
          <t>detail: A human-readable string describing the error that prevented the Transparency Service from processing the request, ideally with sufficient detail to enable the error to be rectified.</t>
        </li>
      </ul>
      <t>Error responses <bcp14>SHOULD</bcp14> be sent with the <tt>Content-Type: application/problem+json</tt> HTTP header.</t>
      <t>As an example, submitting a Signed Statement with an unsupported signature algorithm would return a <tt>400 Bad Request</tt> status code and the following body:</t>
      <sourcecode type="json"><![CDATA[
{
  "type": "urn:ietf:params:scitt:error:badSignatureAlgorithm",
  "detail": "Signing algorithm not support"
}
]]></sourcecode>
      <t>Most error types are specific to the type of request and are defined in the respective subsections below.
The one exception is the "malformed" error type, which indicates that the Transparency Service could not parse the client's request because it did not comply with this document:</t>
      <ul spacing="normal">
        <li>
          <t>Error code: <tt>malformed</tt> (The request could not be parsed).</t>
        </li>
      </ul>
      <t>Clients <bcp14>SHOULD</bcp14> treat 500 and 503 HTTP status code responses as transient failures and <bcp14>MAY</bcp14> retry the same request without modification at a later date.
Note that in the case of a 503 response, the Transparency Service <bcp14>MAY</bcp14> include a <tt>Retry-After</tt> header field per <xref target="RFC7231"/> in order to request a minimum time for the client to wait before retrying the request.
In the absence of this header field, this document does not specify a minimum.</t>
      <section anchor="sec-mandatory">
        <name>Mandatory</name>
        <t>The following HTTP endpoints are mandatory to implement to enable conformance to this specification.</t>
        <section anchor="sec-transparency-configuration">
          <name>Transparency Configuration</name>
          <t>Authentication <bcp14>SHOULD NOT</bcp14> be implemented for this endpoint.
This endpoint is used to discovery the capabilites of a transparency service implementing this specification.</t>
          <t>Request:</t>
          <sourcecode type="http-message"><![CDATA[
GET /.well-known/transparency-configuration HTTP/1.1
Host: transparency.example
Accept: application/json
]]></sourcecode>
          <t>Response:</t>
          <sourcecode type="http-message"><![CDATA[
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "issuer": "https://transparency.example",
  "registration_endpoint": "https://transparency.example/entries",
  "nonce_endpoint": "https://transparency.example/nonce",

  "registration_policy": \
"https://transparency.example\
/statements/urn:ietf:params:scitt:statement\
:sha-256:base64url:5i6UeRzg1...qnGmr1o",

  "supported_signature_algorithms": ["ES256"],
  "jwks": {
    "keys": [
      {
        "kid": "urn:ietf:params:oauth:\
jwk-thumbprint:sha-256:DgyowWs04gfVRim5i1WlQ-HFFFKI6Ltqulj1rXPagRo",
        "alg": "ES256",
        "use": "sig",
        "kty": "EC",
        "crv": "P-256",
        "x": "p-kZ4uOASt9IjQRTrWikGnlbGb-z3LU1ltwRjZaOS9w",
        "y": "ymXE1yltJPXgjQSRe9NweN3TLlSUALYZTzy83NVfdg0"
      },
      {
        "kid": "urn:ietf:params:oauth:\
jwk-thumbprint:sha-256:4Fzx5HO1W0ob9CZNc3RJx28Ixpgy9JAFM8jyXKW0ClE",
        "alg": "HPKE-Base-P256-SHA256-AES128GCM",
        "use": "enc",
        "kty": "EC",
        "crv": "P-256",
        "x": "Vreuil95vzR6ixutgBBf2ota-rj97MvKfuJWB4qqp5w",
        "y": "NkUTeaoNlLRRsVRxHGDA-RsA0ex2tSpcd3G-4SmKXbs"
      }
    ]
  }
}
]]></sourcecode>
          <t>Additional fields may be present.
Fields that are not understood <bcp14>MUST</bcp14> be ignored.</t>
        </section>
        <section anchor="sec-signed-statement-registration">
          <name>Signed Statement Registration</name>
          <t>Authentication <bcp14>MUST</bcp14> be implemented for this endpoint.</t>
          <t>The following is a non-normative example of a HTTP request to register a Signed Statement:</t>
          <t>Request:</t>
          <sourcecode type="http"><![CDATA[
POST /entries HTTP/1.1
Host: transparency.example
Accept: application/json
Content-Type: application/cose
Payload (in CBOR diagnostic notation)

18([                            / COSE Sign1         /
  h'a1013822',                  / Protected Header   /
  {},                           / Unprotected Header /
  null,                         / Detached Payload   /
  h'269cd68f4211dffc...0dcb29c' / Signature          /
])
]]></sourcecode>
          <t>The Registration Policy for the Transparency Service <bcp14>MUST</bcp14> be applied to the payload bytes, before any additional processing is performed.</t>
          <t>If the <tt>payload</tt> is detached, the Transparency Service depends on the authentication context of the client in the Registration Policy.
If the <tt>payload</tt> is attached, the Transparency Service depends on both the authentication context of the client, and the verification of the Signed Statement in the Registration Policy.
The details of Registration Policy are out of scope for this document.</t>
          <t>If registration succeeds the following identifier <bcp14>MAY</bcp14> be used to refer to the Signed Statement that was accepted:</t>
          <t><tt>urn:ietf:params:scitt:signed-statement:sha-256:base64url:5i6UeRzg1...qnGmr1o</tt></t>
          <t>If the <tt>payload</tt> was attached, or otherwise communicated to the Transparency Service, the following identifier <bcp14>MAY</bcp14> be used to refer to the <tt>payload</tt> of the Signed Statement:</t>
          <t><tt>urn:ietf:params:scitt:statement:sha-256:base64url:5i6UeRzg1...qnGmr1o</tt></t>
          <t>Response:</t>
          <t>One of the following:</t>
          <section anchor="sec-status-201-registration-is-successful">
            <name>Status 201 - Registration is successful</name>
            <sourcecode type="http-message"><![CDATA[
HTTP/1.1 201 Ok

Location: https://transparency.example/receipts\
/urn:ietf:params:scitt:signed-statement\
:sha-256:base64url:5i6UeRzg1...qnGmr1o

Content-Type: application/cose

Payload (in CBOR diagnostic notation)

18([                            / COSE Sign1         /
  h'a1013822',                  / Protected Header   /
  {},                           / Unprotected Header /
  null,                         / Detached Payload   /
  h'269cd68f4211dffc...0dcb29c' / Signature          /
])
]]></sourcecode>
            <t>The response contains the Receipt for the Signed Statement.
Fresh receipts may be requested through the resource identified in the Location header.</t>
          </section>
          <section anchor="sec-status-202-registration-is-running">
            <name>Status 202 - Registration is running</name>
            <sourcecode type="http-message"><![CDATA[
HTTP/1.1 202 Ok

Location: https://transparency.example/receipts\
/urn:ietf:params:scitt:signed-statement\
:sha-256:base64url:5i6UeRzg1...qnGmr1o

Content-Type: application/json
Retry-After: <seconds>

{

  "receipt": "urn:ietf:params:scitt:receipt\
:sha-256:base64url:5i6UeRzg1...qnGmr1o",

}

]]></sourcecode>
            <t>The response contains a reference to the receipt which will eventually be available for the Signed Statement.</t>
            <t>If 202 is returned, then clients should wait until Registration succeeded or failed by polling the receipt endpoint using the receipt identifier returned in the response.</t>
          </section>
          <section anchor="sec-status-400-invalid-client-request">
            <name>Status 400 - Invalid Client Request</name>
            <t>One of the following errors:</t>
            <artwork><![CDATA[
{
  "type": "urn:ietf:params:scitt:error\
:signed-statement:algorithm-not-supported",
  "detail": \
"Signed Statement contained an algorithm that is not supported."
}
]]></artwork>
            <artwork><![CDATA[
{
  "type": "urn:ietf:params:scitt:error\
:signed-statement:payload-missing",
  "detail": \
"Signed Statement payload must be attached (must be present)"
}
]]></artwork>
            <artwork><![CDATA[
{
  "type": "urn:ietf:params:scitt:error\
:signed-statement:payload-forbidden",
  "detail": \
"Signed Statement payload must be detached (must not be present)"
}
]]></artwork>
            <artwork><![CDATA[
{
  "type": "urn:ietf:params:scitt:error\
:signed-statement:rejected-by-registration-policy",
  "detail": \
"Signed Statement was not accepted by the current Registration Policy"
}
]]></artwork>
            <artwork><![CDATA[
{
  "type": "urn:ietf:params:scitt:error\
:signed-statement:confirmation-missing",
  "detail": \
"Signed Statement did not contain proof of possession"
}
]]></artwork>
            <t>TODO: other error codes</t>
          </section>
        </section>
      </section>
      <section anchor="sec-optional-endpoints">
        <name>Optional Endpoints</name>
        <t>The following HTTP endpoints are optional to implement.</t>
        <section anchor="sec-issue-statement">
          <name>Issue Statement</name>
          <t>Authentication <bcp14>MUST</bcp14> be implemented for this endpoint.</t>
          <t>This endpoint enables a Transparency Service to be an issuer of Signed Statements on behalf of authenticated clients.
This supports cases where a client lacks the ability to perform complex cryptographic operations, but can be authenticated and report statements and measurements.</t>
          <t>Request:</t>
          <sourcecode type="http"><![CDATA[
POST /signed-statements/issue HTTP/1.1
Host: transparency.example
Accept: application/json
Content-Type: application/vc+ld+json
Payload

{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "https://transparency.example/credentials/1872",
  "type": ["VerifiableCredential", "SensorCredential"],
  "issuer": "https://transparency.example/device/1234",
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "type": "Feature",
    "geometry": {
      "type": "Point",
      "coordinates": [125.6, 10.1]
    },
    "properties": {
      "name": "Dinagat Islands"
    }
  }
}
]]></sourcecode>
          <t>Response:</t>
          <sourcecode type="http-message"><![CDATA[
HTTP/1.1 200 Ok
Content-Type: application/cose

Payload (in CBOR diagnostic notation)

18([                            / COSE Sign1         /
  h'a1013822',                  / Protected Header   /
  {},                           / Unprotected Header /
  null,                         / Detached Payload   /
  h'269cd68f4211dffc...0dcb29c' / Signature          /
])
]]></sourcecode>
        </section>
        <section anchor="sec-resolve-statement">
          <name>Resolve Statement</name>
          <t>Authentication <bcp14>SHOULD</bcp14> be implemented for this endpoint.</t>
          <t>This endpoint enables Transparency Service APIs to act like Artifact Repositories, and serve <tt>payload</tt> values directly, instead of indirectly through Receipts.</t>
          <t>Request:</t>
          <sourcecode type="http-message"><![CDATA[
GET /statements/urn...qnGmr1o HTTP/1.1
Host: transparency.example
Accept: application/pdf
]]></sourcecode>
          <t>Response:</t>
          <sourcecode type="http-message"><![CDATA[
HTTP/1.1 200 Ok
Content-Type: application/pdf
Payload (pdf bytes)
]]></sourcecode>
        </section>
        <section anchor="sec-resolve-signed-statement">
          <name>Resolve Signed Statement</name>
          <t>Authentication <bcp14>SHOULD</bcp14> be implemented for this endpoint.</t>
          <t>This endpoint enables Transparency Service APIs to act like Artifact Repositories, and serve Signed Statements directly, instead of indirectly through Receipts.</t>
          <t>Request:</t>
          <sourcecode type="http-message"><![CDATA[
GET /signed-statements/urn...qnGmr1o HTTP/1.1
Host: transparency.example
Accept: application/cose
]]></sourcecode>
          <t>Response:</t>
          <sourcecode type="http-message"><![CDATA[
HTTP/1.1 200 Ok
Content-Type: application/cose

Payload (in CBOR diagnostic notation)

18([                            / COSE Sign1         /
  h'a1013822',                  / Protected Header   /
  {},                           / Unprotected Header /
  null,                         / Detached Payload   /
  h'269cd68f4211dffc...0dcb29c' / Signature          /
])
]]></sourcecode>
        </section>
        <section anchor="sec-resolve-receipt">
          <name>Resolve Receipt</name>
          <t>Authentication <bcp14>SHOULD</bcp14> be implemented for this endpoint.</t>
          <t>Request:</t>
          <sourcecode type="http-message"><![CDATA[
GET /receipts/urn...qnGmr1o HTTP/1.1
Host: transparency.example
Accept: application/cose
]]></sourcecode>
          <t>Response:</t>
          <t>If the Signed Statement requested is already included in the Append-Only Log:</t>
          <sourcecode type="http-message"><![CDATA[
HTTP/1.1 200 Ok
Location: https://transparency.example/receipts/urn...qnGmr1o
Content-Type: application/cose

Payload (in CBOR diagnostic notation)

18([                            / COSE Sign1         /
  h'a1013822',                  / Protected Header   /
  {},                           / Unprotected Header /
  null,                         / Detached Payload   /
  h'269cd68f4211dffc...0dcb29c' / Signature          /
])
]]></sourcecode>
          <t>If the Signed Statement requested is not yet included in the Append-Only Log:</t>
          <sourcecode type="http-message"><![CDATA[
HTTP/1.1 202 Ok
Location: https://transparency.example/receipts/urn...qnGmr1o
Content-Type: application/json
Retry-After: <seconds>

{
  "receipt": "urn:ietf:params:scitt:receipt\
    :sha-256:base64url:5i6UeRzg1...qnGmr1o",
}
]]></sourcecode>
          <t>Additional eventually consistent operation details <bcp14>MAY</bcp14> be present.
Support for eventually consistent Receipts is implementation specific, and out of scope for this specification.</t>
        </section>
        <section anchor="sec-resolve-issuer">
          <name>Resolve Issuer</name>
          <t>This endpoint is inspired by <xref target="I-D.draft-ietf-oauth-sd-jwt-vc"/>.
Authentication <bcp14>SHOULD NOT</bcp14> be implemented for this endpoint.
This endpoint is used to discover verification keys, which is the reason that authentication is not required.</t>
          <t>The following is a non-normative example of a HTTP request for the Issuer Metadata configuration when <tt>iss</tt> is set to <tt>https://transparency.example/tenant/1234</tt>:</t>
          <t>Request:</t>
          <sourcecode type="http-message"><![CDATA[
GET /.well-known/issuer/tenant/1234 HTTP/1.1
Host: transparency.example
Accept: application/json
]]></sourcecode>
          <t>Response:</t>
          <sourcecode type="http-message"><![CDATA[
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "issuer": "https://transparency.example/tenant/1234",
  "jwks": {
    "keys": [
      {
        "kid": "urn:ietf:params:oauth\
:jwk-thumbprint:sha-256:DgyowWs04gfVRim5i1WlQ-HFFFKI6Ltqulj1rXPagRo",
        "alg": "ES256",
        "use": "sig",
        "kty": "EC",
        "crv": "P-256",
        "x": "p-kZ4uOASt9IjQRTrWikGnlbGb-z3LU1ltwRjZaOS9w",
        "y": "ymXE1yltJPXgjQSRe9NweN3TLlSUALYZTzy83NVfdg0"
      },
      {
        "kid": "urn:ietf:params:oauth\
:jwk-thumbprint:sha-256:4Fzx5HO1W0ob9CZNc3RJx28Ixpgy9JAFM8jyXKW0ClE",
        "alg": "HPKE-Base-P256-SHA256-AES128GCM",
        "use": "enc",
        "kty": "EC",
        "crv": "P-256",
        "x": "Vreuil95vzR6ixutgBBf2ota-rj97MvKfuJWB4qqp5w",
        "y": "NkUTeaoNlLRRsVRxHGDA-RsA0ex2tSpcd3G-4SmKXbs"
      }
    ]
  }
}
]]></sourcecode>
        </section>
        <section anchor="sec-request-nonce">
          <name>Request Nonce</name>
          <t>This endpoint in inspired by <xref target="I-D.draft-demarco-oauth-nonce-endpoint"/>.</t>
          <t>Authentication <bcp14>SHOULD NOT</bcp14> be implemented for this endpoint.
This endpoint is used to demonstrate proof of posession, which is the reason that authentication is not required.
Client holding signed statements that require demonstrating proof of possession <bcp14>MUST</bcp14> use this endpoint to obtain a nonce.</t>
          <t>Request:</t>
          <sourcecode type="http-message"><![CDATA[
GET /nonce HTTP/1.1
Host: transparency.example
Accept: application/json
]]></sourcecode>
          <t>Response:</t>
          <sourcecode type="http-message"><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json

{
  "nonce": "d2JhY2NhbG91cmVqdWFuZGFt"
}
]]></sourcecode>
        </section>
        <section anchor="sec-resolve-issuer-did">
          <name>Resolve Issuer DID</name>
          <t>This endpoint enables the use of the DID Web Decentralized Identifier Method, as an alternative expression of the Issuer Metadata endpoint.</t>
          <t>This endpoint is DEPRECATED.</t>
          <t>The following is a non-normative example of a HTTP request for the Issuer Metadata configuration when <tt>iss</tt> is set to <tt>did:web:transparency.example:tenant:1234</tt>:</t>
          <t>Request:</t>
          <sourcecode type="http-message"><![CDATA[
GET /tenant/1234/did.json HTTP/1.1
Host: transparency.example
Accept: application/did+ld+json
]]></sourcecode>
          <t>Response:</t>
          <sourcecode type="http-message"><![CDATA[
HTTP/1.1 200 Ok
Content-Type: application/did+ld+json

{
  "@context": [
    "https://www.w3.org/ns/did/v1",
    {
      "@vocab": "https://vocab.transparency.example#"
    }
  ],
  "id": "did:web:transparency.example:tenant:1234",
  "verificationMethod": [
    {
      "id": "did:web:transparency.example:tenant:1234\
        #urn:ietf:params:oauth:jwk-thumbprint\
        :sha-256:5b30k1hBWBMcggA9GIJImUqj4pXqrJ9EOWV6MDdcstA",
      "type": "JsonWebKey",
      "controller": "did:web:transparency.example:tenant:1234",
      "publicKeyJwk": {
        "kid": "urn:ietf:params:oauth:jwk-thumbprint\
          :sha-256:5b30k1hBWBMcggA9GIJImUqj4pXqrJ9EOWV6MDdcstA",
        "alg": "ES256",
        "use": "sig",
        "kty": "EC",
        "crv": "P-256",
        "x": "9ptuW0PBHSTN7bVexWd7xM5kmSPGRaCu-K3SLtJyvNc",
        "y": "l7NvF6QbovicSciZqu_W_xy4JTZwtnUbn2SNdMKoaAk"
      }
    },
    {
      "id": "did:web:transparency.example:tenant:1234\
        #urn:ietf:params:oauth:jwk-thumbprint\
        :sha-256:DgyowWs04gfVRim5i1WlQ-HFFFKI6Ltqulj1rXPagRo",
      "type": "JsonWebKey",
      "controller": "did:web:transparency.example:tenant:1234",
      "publicKeyJwk": {
        "kid": "urn:ietf:params:oauth:jwk-thumbprint\
          :sha-256:DgyowWs04gfVRim5i1WlQ-HFFFKI6Ltqulj1rXPagRo",
        "alg": "ES256",
        "use": "sig",
        "kty": "EC",
        "crv": "P-256",
        "x": "p-kZ4uOASt9IjQRTrWikGnlbGb-z3LU1ltwRjZaOS9w",
        "y": "ymXE1yltJPXgjQSRe9NweN3TLlSUALYZTzy83NVfdg0"
      }
    },
    {
      "id": "did:web:transparency.example:tenant:1234\
        #urn:ietf:params:oauth:jwk-thumbprint\
        :sha-256:4Fzx5HO1W0ob9CZNc3RJx28Ixpgy9JAFM8jyXKW0ClE",
      "type": "JsonWebKey",
      "controller": "did:web:transparency.example:tenant:1234",
      "publicKeyJwk": {
        "kid": "urn:ietf:params:oauth:jwk-thumbprint\
          :sha-256:4Fzx5HO1W0ob9CZNc3RJx28Ixpgy9JAFM8jyXKW0ClE",
        "alg": "HPKE-Base-P256-SHA256-AES128GCM",
        "use": "enc",
        "kty": "EC",
        "crv": "P-256",
        "x": "Vreuil95vzR6ixutgBBf2ota-rj97MvKfuJWB4qqp5w",
        "y": "NkUTeaoNlLRRsVRxHGDA-RsA0ex2tSpcd3G-4SmKXbs"
      }
    }
  ],
  "assertionMethod": [
    "did:web:transparency.example:tenant:1234\
      #urn:ietf:params:oauth:jwk-thumbprint\
      :sha-256:5b30k1hBWBMcggA9GIJImUqj4pXqrJ9EOWV6MDdcstA",
    "did:web:transparency.example:tenant:1234\
      #urn:ietf:params:oauth:jwk-thumbprint\
      :sha-256:DgyowWs04gfVRim5i1WlQ-HFFFKI6Ltqulj1rXPagRo"
  ],
  "authentication": [
    "did:web:transparency.example:tenant:1234\
      #urn:ietf:params:oauth:jwk-thumbprint\
      :sha-256:5b30k1hBWBMcggA9GIJImUqj4pXqrJ9EOWV6MDdcstA",
    "did:web:transparency.example:tenant:1234\
      #urn:ietf:params:oauth:jwk-thumbprint\
      :sha-256:DgyowWs04gfVRim5i1WlQ-HFFFKI6Ltqulj1rXPagRo"
  ],
  "keyAgreement": [
    "did:web:transparency.example:tenant:1234\
      #urn:ietf:params:oauth:jwk-thumbprint\
      :sha-256:4Fzx5HO1W0ob9CZNc3RJx28Ixpgy9JAFM8jyXKW0ClE"
  ]
}
]]></sourcecode>
        </section>
      </section>
    </section>
    <section anchor="sec-privacy-considerations">
      <name>Privacy Considerations</name>
      <t>TODO</t>
    </section>
    <section anchor="sec-security-considerations">
      <name>Security Considerations</name>
      <t>TODO</t>
      <t>TODO: Consider negotiation for receipt as "JSON" or "YAML".
TODO: Consider impact of media type on "Data URIs" and QR Codes.</t>
    </section>
    <section anchor="sec-iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="sec-urn-sub-namespace-for-scitt-urnietfparamsscitt">
        <name>URN Sub-namespace for SCITT (urn:ietf:params:scitt)</name>
        <t>IANA is requested to register the URN sub-namespace <tt>urn:ietf:params:scitt</tt>
in the "IETF URN Sub-namespace for Registered Protocol Parameter Identifiers"
Registry <xref target="IANA.params"/>, following the template in <xref target="RFC3553"/>:</t>
        <sourcecode type="output"><![CDATA[
   Registry name:  scitt
   Specification:  [RFCthis]
   Repository:  http://www.iana.org/assignments/scitt
   Index value:  No transformation needed.
]]></sourcecode>
      </section>
      <section anchor="sec-well-known-uri-for-issuers">
        <name>Well-Known URI for Issuers</name>
        <t>The following value is requested to be registered in the "Well-Known URIs" registry (using the template from <xref target="RFC5785"/>):</t>
        <t>URI suffix: issuer
Change controller: IETF
Specification document(s): RFCthis.
Related information: N/A</t>
      </section>
      <section anchor="sec-well-known-uri-for-transparency-configuration">
        <name>Well-Known URI for Transparency Configuration</name>
        <t>The following value is requested to be registered in the "Well-Known URIs" registry (using the template from <xref target="RFC5785"/>):</t>
        <t>URI suffix: transparency-configuration
Change controller: IETF
Specification document(s): RFCthis.
Related information: N/A</t>
        <t>TODO: Register them from here.</t>
      </section>
      <section anchor="sec-media-type-registration">
        <name>Media Type Registration</name>
        <t>This section requests registration of the "application/scitt.receipt+cose" media type <xref target="RFC2046"/> in the "Media Types" registry in the manner described in <xref target="RFC6838"/>.</t>
        <t>To indicate that the content is a SCITT Receipt:</t>
        <ul spacing="normal">
          <li>
            <t>Type name: application</t>
          </li>
          <li>
            <t>Subtype name: scitt.receipt+cose</t>
          </li>
          <li>
            <t>Required parameters: n/a</t>
          </li>
          <li>
            <t>Optional parameters: n/a</t>
          </li>
          <li>
            <t>Encoding considerations: TODO</t>
          </li>
          <li>
            <t>Security considerations: TODO</t>
          </li>
          <li>
            <t>Interoperability considerations: n/a</t>
          </li>
          <li>
            <t>Published specification: this specification</t>
          </li>
          <li>
            <t>Applications that use this media type: TBD</t>
          </li>
          <li>
            <t>Fragment identifier considerations: n/a</t>
          </li>
          <li>
            <t>Additional information:
            </t>
            <ul spacing="normal">
              <li>
                <t>Magic number(s): n/a</t>
              </li>
              <li>
                <t>File extension(s): n/a</t>
              </li>
              <li>
                <t>Macintosh file type code(s): n/a</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Person &amp; email address to contact for further information: TODO</t>
          </li>
          <li>
            <t>Intended usage: COMMON</t>
          </li>
          <li>
            <t>Restrictions on usage: none</t>
          </li>
          <li>
            <t>Author: TODO</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Provisional registration?  No</t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC7807">
          <front>
            <title>Problem Details for HTTP APIs</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="E. Wilde" initials="E." surname="Wilde"/>
            <date month="March" year="2016"/>
            <abstract>
              <t>This document defines a "problem detail" as a way to carry machine- readable details of errors in a HTTP response to avoid the need to define new error response formats for HTTP APIs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7807"/>
          <seriesInfo name="DOI" value="10.17487/RFC7807"/>
        </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="RFC3553">
          <front>
            <title>An IETF URN Sub-namespace for Registered Protocol Parameters</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <author fullname="T. Hardie" initials="T." surname="Hardie"/>
            <author fullname="G. Klyne" initials="G." surname="Klyne"/>
            <date month="June" year="2003"/>
            <abstract>
              <t>This document describes a new sub-delegation for the 'ietf' URN namespace for registered protocol items. The 'ietf' URN namespace is defined in RFC 2648 as a root for persistent URIs that refer to IETF- defined resources. 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="73"/>
          <seriesInfo name="RFC" value="3553"/>
          <seriesInfo name="DOI" value="10.17487/RFC3553"/>
        </reference>
        <reference anchor="RFC5785">
          <front>
            <title>Defining Well-Known Uniform Resource Identifiers (URIs)</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="E. Hammer-Lahav" initials="E." surname="Hammer-Lahav"/>
            <date month="April" year="2010"/>
            <abstract>
              <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5785"/>
          <seriesInfo name="DOI" value="10.17487/RFC5785"/>
        </reference>
        <reference anchor="IANA.params" target="http://www.iana.org/assignments/params">
          <front>
            <title>Uniform Resource Name (URN) Namespace for IETF Use</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="I-D.draft-ietf-scitt-architecture">
          <front>
            <title>An Architecture for Trustworthy and Transparent Digital Supply Chains</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Antoine Delignat-Lavaud" initials="A." surname="Delignat-Lavaud">
              <organization>Microsoft Research</organization>
            </author>
            <author fullname="Cedric Fournet" initials="C." surname="Fournet">
              <organization>Microsoft Research</organization>
            </author>
            <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
              <organization>ARM</organization>
            </author>
            <author fullname="Steve Lasker" initials="S." surname="Lasker">
              <organization>DataTrails</organization>
            </author>
            <date day="9" month="February" year="2024"/>
            <abstract>
              <t>   Traceability of physical and digital Artifacts in supply chains is a
   long-standing, but increasingly serious security concern.  The rise
   in popularity of verifiable data structures as a mechanism to make
   actors more accountable for breaching their compliance promises has
   found some successful applications to specific use cases (such as the
   supply chain for digital certificates), but lacks a generic and
   scalable architecture that can address a wider range of use cases.

   This document defines a generic, interoperable and scalable
   architecture to enable transparency across any supply chain with
   minimum adoption barriers.  It provides flexibility, enabling
   interoperability across different implementations of Transparency
   Services with various auditing and compliance requirements.  Issuers
   can register their Signed Statements on any Transparency Service,
   with the guarantee that all Consumers will be able to verify them.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-scitt-architecture-05"/>
        </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="I-D.draft-demarco-oauth-nonce-endpoint">
          <front>
            <title>OAuth 2.0 Nonce Endpoint</title>
            <author fullname="Giuseppe De Marco" initials="G." surname="De Marco">
              <organization>Independent</organization>
            </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Transmute</organization>
            </author>
            <date day="6" month="February" year="2024"/>
            <abstract>
              <t>   This document defines the Nonce Endpoint for OAuth 2.0
   implementations [RFC6749].  It details how an Authorization Server
   generates and issues opaque Nonces and how a client can learn about
   this endpoint to obtain a Nonce generated by the Authorization
   Server.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-demarco-oauth-nonce-endpoint-00"/>
        </reference>
        <reference anchor="I-D.draft-ietf-oauth-sd-jwt-vc">
          <front>
            <title>SD-JWT-based Verifiable Credentials (SD-JWT VC)</title>
            <author fullname="Oliver Terbu" initials="O." surname="Terbu">
              <organization>MATTR</organization>
            </author>
            <author fullname="Daniel Fett" initials="D." surname="Fett">
              <organization>Authlete Inc.</organization>
            </author>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <date day="27" month="February" year="2024"/>
            <abstract>
              <t>   This specification describes data formats as well as validation and
   processing rules to express Verifiable Credentials with JSON payloads
   with and without selective disclosure based on the SD-JWT
   [I-D.ietf-oauth-selective-disclosure-jwt] format.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-sd-jwt-vc-02"/>
        </reference>
        <reference anchor="RFC2046">
          <front>
            <title>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="N. Borenstein" initials="N." surname="Borenstein"/>
            <date month="November" year="1996"/>
            <abstract>
              <t>This second document defines the general structure of the MIME media typing system and defines an initial set of media types. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2046"/>
          <seriesInfo name="DOI" value="10.17487/RFC2046"/>
        </reference>
        <reference anchor="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
      </references>
    </references>
    <?line 783?>



  </back>
  <!-- ##markdown-source:
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
3y3Z4c61Zf0/FgNsXeNXAAA=

-->

</rfc>
