<?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 css="css/overrides.css"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-smith-satp-vlei-binding-00" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.1 -->
  <front>
    <title abbrev="SATP-vLEI">A SATP Core Binding for vLEI Identities</title>
    <seriesInfo name="Internet-Draft" value="draft-smith-satp-vlei-binding-00"/>
    <author fullname="Ned Smith">
      <organization>Independent</organization>
      <address>
        <email>ned.smith.ietf@outlook.com</email>
      </address>
    </author>
    <date year="2025" month="September" day="13"/>
    <area>Applications and Real-Time</area>
    <workgroup>Secure Asset Transfer Protocol</workgroup>
    <keyword>verifiable identities</keyword>
    <keyword>internet draft</keyword>
    <abstract>
      <?line 190?>

<t>The verifiable Legal Entity Identifier (vLEI) is a cryptographically verifiable extension of the LEI standard, designed to automate trust in organizational identity.
Governed by the Global Legal Entity Identifier Foundation (GLEIF), the vLEI system uses Authentic Chained Data Containers (ACDCs), Self-Addressing Identifiers (SAIDs), and Key Event Receipt Infrastructure (KERI) to issue and verify credentials for legal entities and their authorized representatives.
It enables secure, machine-readable identity assertions across financial, regulatory, and supply chain ecosystems, supporting role-based delegation and interoperability with decentralized trust frameworks.</t>
      <t>This specification defines vLEI for verifiable gateway operator identities and cryptographically links the gateway operator identity to the gateway identity.
Thus SATP core lock assertions are cryptographically linked to gateway operator identities.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://nedmsmith.github.io/draft-smith-satp-vlei-binding/draft-smith-satp-vlei-binding.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-smith-satp-vlei-binding/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Secure Asset Transfer Protocol Working Group mailing list (<eref target="mailto:sat@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/sat/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/sat/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/nedmsmith/draft-smith-satp-vlei-binding"/>.</t>
    </note>
  </front>
  <middle>
    <?line 200?>

<section anchor="sec-intro">
      <name>Introduction</name>
      <t>The SATP architecture <xref target="I-D.ietf-satp-architecture"/> defines an interoperability architecture for interconnection between networks or systems that anticipates a secure asset transfer protocol that satisfies security, privacy, atomicity and liveliness requirements in the transfer of assets.
The SATP core protocol <xref target="I-D.ietf-satp-core"/> is a protocol for exchanging digital assets that ensures the state of the asset is preserved across inter-domain transfers. It is an extensible protocol where fields containing identity and payload values that are not defined by SATP core may be defined by companion specifications.
This specification defines a SATP core protocol binding for Verifiable Legal Entity Identifiers (vLEI) <xref target="ISO17442-3"/> used to identify SATP gateways and the organizations that operate them.
In some use cases, the assets being transferred have legal considerations such that officers of the organization are expected to authorize digital asset transfers.
This specification details the various vLEI credentials needed and how to integrate them with SATP core messages.
SATP core message binding anticipates use of a message wrapper that uses media type <xref target="STD91"/> and content format <xref target="RFC7252"/> identifiers to facilitate interoperability with vLEI and other credential types.</t>
    </section>
    <section anchor="sec-conv">
      <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="sec-ids">
      <name>Identities</name>
      <t>The SATP core protocol <xref target="I-D.ietf-satp-core"/> defines a set of entities that participate in an asset transfer.
These entities are represented in differennt ways including identifiers, credentials and public keys.
SATP entities are presumed to have been issued cryptographically relevant identities prior to the SATP Transfer Initiation Stage (Stage 1) and subsequent exchanges.
An entity (see Section 3 <xref target="RFC4949"/> bound to a cryptographic key is also known as a principal <xref target="ACM-Calculus"/>.</t>
      <t>A legal entity is defined by <xref target="ISO17442-1_2020"/> section 1 (scope).</t>
      <t>vLEIs <xref target="ISO17442-3"/> use Autonomic Identifiers (AID) to name legal entities and to bind cryptographic keys, to form vLEI principals.
AIDs are contained within an Authentic Chained Data Contain (ACDC) <xref target="ACDC-Spec"/> credential.
AIDs link to Key Event Logs (KEL) that are form of key attestation.
KELs change periodically as key event receipts are added to the log, thus key state could have security implications.
The state of the vLEI credential may change between SATP stages or whenever a key is used.
The state of an ACDC is locked to keystate at issuance.
A cryptographic hash of an ACDC credential and its initial key state can be referenced using a Self-Addressing Identifier (SAID) <xref target="CESR-Spec"/>.</t>
      <t>When applying vLEI to SATP, ACID properties suggest that the state of the exchanged asset, the protocol state, and the key state play a role during asset exchange.
Ideally, SATP principals (including key state) are unchanging during complete asset exchange (or full rollback).
However, if key-state can't be locked as part of a SATP ACID exchange, key state verification at each SATP stage may be needed.</t>
      <t>SATP signing keys (e.g., senderGatewaySignaturePublicKey) that are based on ACDC credentials implicitly support key attestation as part of key verification.
SATP device keys (e.g., senderGatewayDeviceIdentityPubKey) used for device authentication or device attestation can furthur strengthen trustworthiness claims of SATP endpoints.
Some SATP keys do not use vLEI credentals, but could still be based on ACDC credentials.
Still other credential types (e.g., X.509 <xref target="RFC5280"/>)) could be used for non-natural person entities.
Nevertheless, use of a Key Event Recipt Infrastructure (KERI) <xref target="KERI-Spec"/> key means these keys can benefit from KEL-based key attestation.</t>
      <t>RFCthis assumes SATP identifiers and public keys are artifacts of a credential issued to a common entity.
Nevertheless, the GatewayDeviceIdentityPublicKey could be associated with a different credential from the one belongin to the GatewaySignaturePublicKey.
Consequently, there <bcp14>MAY</bcp14> be additional credentials issued to SATP principals  that require additional verifier processing.</t>
      <t><cref anchor="ids-note1" source="Ned Smith">
Note1: Need to check if there is a KERI key encoding other than CESR and if ACDC is sufficient to describe the key.
</cref></t>
      <section anchor="sec-id-bind">
        <name>SATP Identity Binding</name>
        <t><xref target="tbl-satp-entity"/> shows SATP entities with corresponding SATP message types mapped to a suitable credential structure.
Stage 1 defines uses credential artifacts (i.e., identifiers and public keys) implying credential issuance occurred earlier, possibly during Stage 0.
RFCthis assumes all credentials issued are (or can be) ACDCs.
The entity identifier within an ACDD is an autonomic identifer (AID), which is semantically aligned with SATP IDs.</t>
        <table anchor="tbl-ent-msg-cred">
          <name>Mapping of SATP Entities and Messages to Credential Type</name>
          <thead>
            <tr>
              <th align="left">SATP Entity</th>
              <th align="left">SATP Message</th>
              <th align="left">Structure</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Originator</td>
              <td align="left">OriginatorCredential -implied-</td>
              <td align="left">ACDC</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">originatorPubkey</td>
              <td align="left">ACDC or other</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">verifiedOriginatorEntityID</td>
              <td align="left">AID</td>
            </tr>
            <tr>
              <td align="left">Sender Gateway Owner</td>
              <td align="left">senderGatewayOwnerCredential -implied-</td>
              <td align="left">ACDC</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">senderGatewayOwnerID</td>
              <td align="left">AID</td>
            </tr>
            <tr>
              <td align="left">Sender Gateway (G1)</td>
              <td align="left">senderGatewayCredential -implied-</td>
              <td align="left">ACDC</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">senderGatewaySignaturePublicKey</td>
              <td align="left">ACDC or other</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">senderGatewayId</td>
              <td align="left">AID</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">senderGatewayDeviceIdentityCredential -implied-</td>
              <td align="left">ACDC</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">senderGatewayDeviceIdentityPubkey</td>
              <td align="left">ACDC or other</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">senderGatewayDeviceIdentityId -implied-</td>
              <td align="left">AID</td>
            </tr>
            <tr>
              <td align="left">Sender Network</td>
              <td align="left">senderNetworkCredential -implied-</td>
              <td align="left">ACDC</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">senderGatewayNetworkId</td>
              <td align="left">AID</td>
            </tr>
            <tr>
              <td align="left">.............</td>
              <td align="left">.........................................</td>
              <td align="left">....</td>
            </tr>
            <tr>
              <td align="left">Beneficiary</td>
              <td align="left">BeneficiaryCredential -implied-</td>
              <td align="left">ACDC</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">beneficiaryPubkey</td>
              <td align="left">ACDC or other</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">verifiedBeneficiaryEntityID</td>
              <td align="left">AID</td>
            </tr>
            <tr>
              <td align="left">Receiver Gateway Owner</td>
              <td align="left">receiverGatewayOwnerCredential -implied-</td>
              <td align="left">ACDC</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">senderGatewayOwnerID</td>
              <td align="left">AID</td>
            </tr>
            <tr>
              <td align="left">Receiver Gateway (G2)</td>
              <td align="left">receiverGatewayCredential -implied-</td>
              <td align="left">ACDC</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">receiverGatewaySignaturePublicKey</td>
              <td align="left">ACDC or other</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">receiverGatewayId</td>
              <td align="left">AID</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">receiverGatewayDeviceIdentityCredential -implied-</td>
              <td align="left">ACDC</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">receiverGatewayDeviceIdentityPubkey</td>
              <td align="left">ACDC or other</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">receiverGatewayDeviceIdentityId -implied-</td>
              <td align="left">AID</td>
            </tr>
            <tr>
              <td align="left">Recipient Network</td>
              <td align="left">recipientNetworkCredential -implied-</td>
              <td align="left">ACDC</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">recipientGatewayNetworkId</td>
              <td align="left">AID</td>
            </tr>
          </tbody>
        </table>
        <t><cref anchor="ids-note2" source="Ned Smith">
Note2: Need to describe how this draft approaches protocol binding where focus is on top-down, but not ignoring buttom up eg tls.
</cref></t>
      </section>
      <section anchor="vlei-roles">
        <name>vLEI Roles</name>
        <t>The vLEI ecosystem defines roles-specific credentials.
Version 1.0 of vLEI defines six ecosystem roles.</t>
        <table anchor="tbl-vlei-roles">
          <name>vLEI Ecosystem Roles</name>
          <thead>
            <tr>
              <th align="left">vLEI Role</th>
              <th align="left">Abbreviation</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">QualifiedvLEIIssuervLEICredential</td>
              <td align="left">QVI</td>
            </tr>
            <tr>
              <td align="left">LegalEntityvLEICredential</td>
              <td align="left">LEID</td>
            </tr>
            <tr>
              <td align="left">OORAuthorizationvLEICredential</td>
              <td align="left">OORA</td>
            </tr>
            <tr>
              <td align="left">LegalEntityOfficialOrganizationalRolevLEICredential</td>
              <td align="left">OOR</td>
            </tr>
            <tr>
              <td align="left">ECRAuthorizationvLEICredential</td>
              <td align="left">ECRA</td>
            </tr>
            <tr>
              <td align="left">LegalEntityEngagementContextRolevLEICredential</td>
              <td align="left">ECR</td>
            </tr>
          </tbody>
        </table>
        <t>vLEI defines a role architecdture that is hierarchical.
A QVI role oversees lifecycle of LEID, OORA, and ECRA roles.
The OORA role oversees lifecycle of OOR roles and the ECRA role oversees the lifecycle of ECR roles.
The LEID, OOR, and ECR roles could oversee lifecycle of non-vLEI credentials; which are classified as non-natural person credentials by <xref target="ISO17442-1_2020"/>.</t>
      </section>
    </section>
    <section anchor="sec-arch">
      <name>vLEI Binding Architecture</name>
      <t>The SATP core protocol <xref target="I-D.ietf-satp-core"/> defines several extensible protocol fields that contain identity and other values not defined by SATP core.
To facilitate interoperability these fields <bcp14>SHOULD</bcp14> contain a media type <xref target="STD91"/> or content format <xref target="RFC7252"/> wrapper.
This specation requests IANA assignment of media type and content format identifiers for vLEIs which are serialized as Composable Event Streaming Representation (CESR) <xref target="CESR-Spec"/> objects in JSON and other formats.
See <xref target="sec-iana"/>.</t>
      <t><cref anchor="ids-note3" source="Ned Smith">
Note3: SATP describes Gateway secure channel establishment public key-pair but this isn't represented in the list of message publickey message types.
Gateway Credential type isn't used in any of the stages afaik.
There should be an IANA registry for the allowed credential types (vLEI, SAML, OAuth, X.509).
</cref></t>
      <section anchor="sec-satp-vlei-mapping">
        <name>SATP vLEI Mapping</name>
        <t>The SATP protocol <xref target="I-D.ietf-satp-core"/> defines a set of SATP flows that are divided into stages.</t>
        <t><xref target="tbl-satp-entity"/> maps SATP entities to specific vLEI roles.</t>
        <table anchor="tbl-satp-entity">
          <name>Mapping SATP Entity to vLEI Role</name>
          <thead>
            <tr>
              <th align="left">#</th>
              <th align="left">SATP Entity</th>
              <th align="left">vLEI Role</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">1</td>
              <td align="left">Originator, Beneficiary, Gateway Owner</td>
              <td align="left">LEID</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">GatewaySignature, GatewayNetwork, GatewayDeviceIdentity</td>
              <td align="left">non-natural person credential</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">Gateway Admin, Network Admin, Gateway Operations Manager, Network Operations Manager</td>
              <td align="left">ECR</td>
            </tr>
          </tbody>
        </table>
        <t><cref anchor="ids-note4" source="Ned Smith">
Note4: The various xxxID messages are tstr values - the stringified representation of the vLEI credential identifer should be used here.
This is probably an SAID.
For a SATP-JSON binding, the SAID MUST use the text form of the CESR derivation code.
For a SATP-CBOR or other binary binding the SAID MUST use the binary form of the CESR derivation code.
</cref></t>
        <section anchor="legalentityidentityvleicredential-credentials">
          <name>LegalEntityIdentityvLEICredential Credentials</name>
          <t>The SATP Messages in row 1 of <xref target="tbl-satp-entity"/> is a LegalEntityvLEICredential as defined by the <eref target="https://github.com/GLEIF-IT/vLEI-schema/blob/main/legal-entity-vLEI-credential.json">LEvLEIC</eref> schema.</t>
          <t>These messages are realized using a Legal Entity vLEI Credential (LEvLEIC) because these message identify legal entities.
Gateway owner identities area form of legal entity as they identify the owner of a gateway rather than the gateway itself.</t>
        </section>
        <section anchor="legalentityengagementcontextrolevleicredential-credentials">
          <name>LegalEntityEngagementContextRolevLEICredential Credentials</name>
          <t>The SATP Messages in row 3 of <xref target="tbl-satp-entity"/> is a LegalEntityEngagementContextRolevLEICredential as defined by the <eref target="https://github.com/GLEIF-IT/vLEI-schema/blob/main/legal-entity-engagement-context-role-vLEI-credential.json">LEECRvLEIC</eref> schema.</t>
          <t>These messages are realized using a LEECRvLEIC because they identify the gateways and hosts within the respective networks involved in transferring digital assets.</t>
        </section>
        <section anchor="other-vlei-deployment-considerations">
          <name>Other vLEI Deployment Considerations</name>
          <t>SATP deployments could utilize other vLEI roles.
For example, an ECR role might be defined for a SATP Gateway Operations Manager or Network Administrator. See row 3 <xref target="tbl-satp-entity"/>.
Although SATP Stage 1 messages don't directly refer to ECR credentials, the credentials referenced could link to ECR credentials which in turn link to ECRA credentials etc...</t>
        </section>
      </section>
      <section anchor="key-structures">
        <name>Key Structures</name>
        <t>Keys embedded in hardware or firmware may not easily be converted to an interoperablel format, hence support for multiple key formats ensures the SATP protocols can be implemented by a wide variety of systems.</t>
        <t>The SATP PublicKey messages <bcp14>SHALL</bcp14> be encoded using JSON Web Key (JWK) <xref target="RFC7517"/>, COSE key <xref target="STD96"/>, PKIX key in PEM or DER, or as ACDC <xref target="ACDC-Spec"/> credentials.</t>
        <t>Other key formats <bcp14>SHOULD</bcp14> be allowed but are out of scope for RFCthis.</t>
      </section>
      <section anchor="satp-message-wrapper-schema">
        <name>SATP Message Wrapper Schema</name>
        <t>The following CDDL <xref target="RFC8610"/> defines the wrapper and application to SATP fields.</t>
        <section anchor="sec-stage1">
          <name>SATP Transfer Initiation (Stage 1) Message Binding</name>
          <t>The SATP stage 1 messages containing identifiers use a vLEI wrapper that contains a payload and payload content identifier.
Other stage 1 messages are public key values that use a key wrapper that disambiguates the key type and format or can be expressed as a wrapped vLEI.</t>
          <sourcecode type="cddl"><![CDATA[
satp-message = {
  ? verifiedOriginatorEntityId: wrapped-vlei
  ? verifiedBeneficiaryEntityId: wrapped-vlei
  ? senderGatewayOwnerId: wrapped-vlei
  ? receiverGatewayOwnerId: wrapped-vlei

  ? senderGatewayId: wrapped-vlei
  ? recipientGatewayId: wrapped-vlei
  ? senderGatewayNetworkId: wrapped-vlei
  ? recipientGatewayNetworkId: wrapped-vlei

  ? originatorPubkey: wrapped-vlei / wrapped-key
  ? beneficiaryPubkey: wrapped-vlei / wrapped-key
  ? senderGatewaySignaturePublicKey: wrapped-vlei / wrapped-key
  ? receiverGatewaySignaturePublicKey: wrapped-vlei / wrapped-key
  ? senderGatewayDeviceIdentityPubkey: wrapped-vlei / wrapped-key
  ? receiverGatewayDeviceIdentityPubkey: wrapped-vlei / wrapped-key
}
]]></sourcecode>
        </section>
        <section anchor="sec-vlei-wrapper">
          <name>vLEI Wrapper</name>
          <sourcecode type="cddl"><![CDATA[
; =====================================================================
; --- Wrapped vLEI Payloads ---
; =====================================================================

wrapped-vlei = {
 content: content-ref
 payload: bstr / tstr
}
]]></sourcecode>
        </section>
        <section anchor="sec-content-ref">
          <name>Content References</name>
          <sourcecode type="cddl"><![CDATA[
content-ref = non-empty<{ 
 ? mt: vlei-media-type ; TBA 
 ? cf: uint ; TBA content format id
 ? cbt: bool ; payload contains CBOR tagged content in the TN() range if true, if false not cbor tagged and "mt" is required
 ? oid: tstr ; generated from content-format-id e.g., "1.3.6.1.4.1.37476.2.1.5"
}>
]]></sourcecode>
        </section>
        <section anchor="sec-wrapped-key">
          <name>Key Wrappers</name>
          <sourcecode type="cddl"><![CDATA[
; =====================================================================
; --- Wrapped Key Definitions ---
; =====================================================================

wrapped-key = $key-type
$key-type /= cose-key
$key-type /= jwk-key
$key-type /= pkix-key

cose-key = {
 content: "application/cose;cose-type=cose-key" / uint,
 encoding: "cbor" / "base64uri" / "text",
 payload: bstr / tstr
}

jwk-key = {
  content: "application/jwk+json" / uint,
  payload: tstr
}

pkix-key = {
  content: "application/pkix-cert" / uint,
  encoding: "PEM" / "DER",
  payload: tstr / bstr
}
]]></sourcecode>
        </section>
      </section>
      <section anchor="vlei-media-types">
        <name>vLEI Media Types</name>
        <t>vLEI credentials are expressed as Authentic Chained Data Containers (ACDC) <xref target="ACDC-Spec"/>.
Section <xref target="sec-iana"/> request IANA assignment of media types <xref target="STD91"/> and content format identifiers <xref target="RFC7252"/>.</t>
        <t>SATP core <xref target="I-D.ietf-satp-core"/> anticipates JSON encoded message.
vLEI credentials can subsequently be JSON encoded while also being CESR <xref target="CESR-Spec"/> compliant.
CESR defines JSON, CBOR, MSGPK and native CESR variants.
The follwing media types <bcp14>MAY</bcp14> be used when building credential payloads for SATP:</t>
        <table anchor="tbl-cesr-media-types">
          <name>vLEI media types</name>
          <thead>
            <tr>
              <th align="left">Media Types</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/cesr+json</td>
            </tr>
            <tr>
              <td align="left">application/cesr+cbor</td>
            </tr>
            <tr>
              <td align="left">application/cesr+msgpk</td>
            </tr>
            <tr>
              <td align="left">application/cesr</td>
            </tr>
          </tbody>
        </table>
        <t>The media types in <xref target="tbl-cesr-media-types"/> have start codes that comply with the media type's structured syntax suffix, but require CESR-aware parsers that can detect them.
The "cesr" subtype informs parsers that they have to do start code look-ahead processing.</t>
        <t>The "cesr" subtype also informs parsers that the CESR stream may contain a variety of objects including ACDCs, AIDs, and SAIDs (as mentioned in previous sections of RFCthis).</t>
        <section anchor="profile-optonal-parameter">
          <name>Profile Optonal Parameter</name>
          <t>The media type assignments have an optional parameter named "profile=" that <bcp14>MAY</bcp14> be any value.
It can be used to identify a vLEI profile such as vLEI credential type.
It <bcp14>SHOULD</bcp14> be expressed in URI format as illustrated in <xref target="tbl-vlei-profiles"/>.</t>
          <table anchor="tbl-vlei-profiles">
            <name>vLEI profiles</name>
            <thead>
              <tr>
                <th align="left">Profile name</th>
                <th align="left">Profile ID</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">QualifiedvLEIIssuervLEICredential (QVI)</td>
                <td align="left">profile=urn:vlei:qvi</td>
              </tr>
              <tr>
                <td align="left">LegalEntityvLEICredential (LEID)</td>
                <td align="left">profile=urn:vlei:leid</td>
              </tr>
              <tr>
                <td align="left">ECRAuthorizationvLEICredential (ECRA)</td>
                <td align="left">profile=urn:vlei:ecra</td>
              </tr>
              <tr>
                <td align="left">LegalEntityEngagementContextRolevLEICredential (ECR)</td>
                <td align="left">profile=urn:vlei:ecr</td>
              </tr>
              <tr>
                <td align="left">OORAuthorizationvLEICredential (OORA)</td>
                <td align="left">profile=urn:vlei:oora</td>
              </tr>
              <tr>
                <td align="left">LegalEntityOfficialOrganizationalRolevLEICredential (OOR)</td>
                <td align="left">profile=urn:vlei:oor</td>
              </tr>
            </tbody>
          </table>
          <t>The various vLEI credential types can be specified in a media type using the profile option.
<xref target="tbl-vlei-profiles"/> summarizes the profile identifiers for the various vLEI credential types.
A comprehensive listing of vLEI profiles is provided even though some of the vLEI credential types are not anticipated by the vLEI binding to SATP at this time.</t>
        </section>
        <section anchor="encoding-optonal-parameter">
          <name>Encoding Optonal Parameter</name>
          <t>The media type assignments have an optional encoding ("encoding=") parameter that can be used to tunnel an alternative encoding.
Typically, encodings fall into two broad categories; text or binary.
An encoding <bcp14>MAY</bcp14> be any value, but RFCthis anticipates the following:</t>
          <ul spacing="normal">
            <li>
              <t>"base64uri" -- the payload is binary, as indicated by the media-type, but base64 encoded when the bounding protocol is a text stream. See Section 5, <xref target="RFC4648"/>.</t>
            </li>
          </ul>
        </section>
        <section anchor="charset-optonal-parameter">
          <name>Charset Optonal Parameter</name>
          <t>The media type assignments have an optional character set ("charset=") parameter that can be used to identify the character encoding scheme when the payload is a text encoding.
By default "utf-8" is assumed.
Alternative character set encodings <bcp14>MUST</bcp14> populate "charset=".</t>
        </section>
      </section>
    </section>
    <section anchor="sec-verify">
      <name>Verification of vLEI Payloads</name>
      <t>TODO</t>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>TODO</t>
    </section>
    <section anchor="sec-sec">
      <name>Security Considerations</name>
      <t>The following security properties are assumed for all payloads identified by media types defined in RFCthis:</t>
      <ul spacing="normal">
        <li>
          <t>ACDC payloads are cryptographically signed.</t>
        </li>
        <li>
          <t>CESR payloads are cryptographically signed and self-framing.</t>
        </li>
        <li>
          <t>Signature verification is required to ensure authenticity and integrity.</t>
        </li>
        <li>
          <t>Credential provenance must be anchored to a trusted root.
For example, the GLEIF Root AID via ACDC edges (see <xref target="GLEIF-vLEI-EGF"/>).</t>
        </li>
        <li>
          <t>vLEIs must be validated against the vLEI schema. See <xref target="GLEIF-vLEI-TechReq-Part3"/>.</t>
        </li>
      </ul>
    </section>
    <section anchor="sec-iana">
      <name>IANA Considerations</name>
      <section anchor="media-type-assignment">
        <name>Media Type Assignment</name>
        <t>IANA is requested to add the following media types to the "Media Types"
registry <xref target="IANA.media-types"/>.</t>
        <section anchor="applicationcesrjson">
          <name>application/cesr+json</name>
          <t>This media type indicates the payload is a JSON formatted vLEI.</t>
          <t><em>Type name:</em></t>
          <ul spacing="normal">
            <li>
              <t>application</t>
            </li>
          </ul>
          <t><em>Subtype name:</em></t>
          <ul spacing="normal">
            <li>
              <t>cesr+json</t>
            </li>
          </ul>
          <t><em>Required parameters:</em></t>
          <ul spacing="normal">
            <li>
              <t>None</t>
            </li>
          </ul>
          <t><em>Optional parameters:</em></t>
          <ul spacing="normal">
            <li>
              <t><tt>profile</tt> — Indicates the payload conforms to a specific vLEI credential type.</t>
            </li>
            <li>
              <t><tt>encoding</tt> — Indicates the ACDC stream is text or binary.
If binary, encoding <bcp14>MUST</bcp14> make the payload text-safe (e.g., <tt>encoding=base64uri</tt>).
Defaults to <tt>text</tt>.</t>
            </li>
            <li>
              <t><tt>charset</tt> — Indicates character set for text encodings.
Defaults to UTF-8.</t>
            </li>
          </ul>
          <t><em>Encoding considerations:</em></t>
          <ul spacing="normal">
            <li>
              <t>8-bit; JSON text encoding defaults to UTF-8.</t>
            </li>
            <li>
              <t>Binary payloads are text-safe encoded for use in JSON streams.</t>
            </li>
          </ul>
          <t><em>Security considerations:</em></t>
          <ul spacing="normal">
            <li>
              <t>See <xref target="sec-sec"/>.</t>
            </li>
          </ul>
          <t><em>Interoperability considerations:</em></t>
          <ul spacing="normal">
            <li>
              <t>Binary payloads must be base64 encoded to make payloads compatible with text streams.</t>
            </li>
            <li>
              <t>Section 9.4 and 9.5 in the CESR specification (cold start) in CESR</t>
            </li>
            <li>
              <t>Section 11.5 Version String Field in CESR</t>
            </li>
          </ul>
          <t><em>Published specification:</em></t>
          <ul spacing="normal">
            <li>
              <t>RFCthis</t>
            </li>
            <li>
              <t>Key Event Receipt Infrastructure (KERI) — <xref target="KERI-Spec"/></t>
            </li>
            <li>
              <t>Authentictic Chained Data Containers (ACDC) — <xref target="ACDC-Spec"/></t>
            </li>
            <li>
              <t>Composable Event Streaming Representation (CESR) — <xref target="CESR-Spec"/></t>
            </li>
            <li>
              <t>GLEIF vLEI Credential Schema Registry — <xref target="GLEIF-vLEI-TechReq-Part3"/></t>
            </li>
          </ul>
          <t><em>Applications that use this media type:</em></t>
          <ul spacing="normal">
            <li>
              <t>GLEIF vLEI issuance and verification systems.</t>
            </li>
            <li>
              <t>SATP-compliant credential exchange platforms.</t>
            </li>
            <li>
              <t>Forensic credential chaining and audit systems.</t>
            </li>
          </ul>
          <t><em>Fragment identifier considerations:</em></t>
          <ul spacing="normal">
            <li>
              <t>None</t>
            </li>
          </ul>
          <t><em>Additional information:</em></t>
          <ul spacing="normal">
            <li>
              <t><em>Magic number(s):</em> None</t>
            </li>
            <li>
              <t><em>File extension(s):</em> <tt>.acdcjson</tt></t>
            </li>
            <li>
              <t><em>Macintosh file type code(s):</em> None</t>
            </li>
          </ul>
          <t><em>Person &amp; email address to contact for further information:</em></t>
          <ul spacing="normal">
            <li>
              <t>N. Smith <eref target="mailto:ned.smith.ietf@outlook.com">ned.smith.ietf@outlook.com</eref></t>
            </li>
            <li>
              <t>GLEIF IT Team <eref target="mailto:vlei-support@gleif.org">vlei-support@gleif.org</eref></t>
            </li>
          </ul>
          <t><em>Intended usage:</em></t>
          <ul spacing="normal">
            <li>
              <t>COMMON</t>
            </li>
          </ul>
          <t><em>Author:</em></t>
          <ul spacing="normal">
            <li>
              <t>N. Smith <eref target="mailto:ned.smith.ietf@outlook.com">ned.smith.ietf@outlook.com</eref></t>
            </li>
            <li>
              <t>GLEIF IT Team <eref target="mailto:vlei-support@gleif.org">vlei-support@gleif.org</eref></t>
            </li>
          </ul>
          <t><em>Change controller:</em></t>
          <ul spacing="normal">
            <li>
              <t>IETF / GLEIF</t>
            </li>
          </ul>
        </section>
        <section anchor="applicationcesrcbor">
          <name>application/cesr+cbor</name>
          <t><em>Type name:</em></t>
          <ul spacing="normal">
            <li>
              <t>application</t>
            </li>
          </ul>
          <t><em>Subtype name:</em></t>
          <ul spacing="normal">
            <li>
              <t>cesr+cbor</t>
            </li>
          </ul>
          <t><em>Required parameters:</em></t>
          <ul spacing="normal">
            <li>
              <t>None</t>
            </li>
          </ul>
          <t><em>Optional parameters:</em></t>
          <ul spacing="normal">
            <li>
              <t><tt>profile</tt> — Indicates the payload conforms to a specific vLEI credential type.</t>
            </li>
            <li>
              <t><tt>encoding</tt> — Indicates the ACDC stream is text or binary.
Defaults to <tt>cbor</tt>.</t>
            </li>
            <li>
              <t><tt>charset</tt> — Indicates character set for text encodings.
Defaults to UTF-8.</t>
            </li>
          </ul>
          <t><em>Encoding considerations:</em></t>
          <ul spacing="normal">
            <li>
              <t>ACDC streams are CBOR encoded for use with binary transports.
If the transport is a text stream the <tt>encoding</tt> option should be specified.</t>
            </li>
          </ul>
          <t><em>Security considerations:</em></t>
          <ul spacing="normal">
            <li>
              <t>See <xref target="sec-sec"/>.</t>
            </li>
          </ul>
          <t><em>Interoperability considerations:</em></t>
          <t>None.</t>
          <t><em>Published specification:</em></t>
          <ul spacing="normal">
            <li>
              <t>RFCthis</t>
            </li>
            <li>
              <t>Key Event Receipt Infrastructure (KERI) — <xref target="KERI-Spec"/></t>
            </li>
            <li>
              <t>Authentictic Chained Data Containers (ACDC) — <xref target="ACDC-Spec"/></t>
            </li>
            <li>
              <t>Composable Event Streaming Representation (CESR) — <xref target="CESR-Spec"/></t>
            </li>
            <li>
              <t>GLEIF vLEI Credential Schema Registry — <xref target="GLEIF-vLEI-TechReq-Part3"/></t>
            </li>
          </ul>
          <t><em>Applications that use this media type:</em></t>
          <ul spacing="normal">
            <li>
              <t>GLEIF vLEI issuance and verification systems</t>
            </li>
            <li>
              <t>SATP-compliant credential exchange platforms</t>
            </li>
            <li>
              <t>Forensic credential chaining and audit systems</t>
            </li>
          </ul>
          <t><em>Fragment identifier considerations:</em></t>
          <ul spacing="normal">
            <li>
              <t>None</t>
            </li>
          </ul>
          <t><em>Additional information:</em></t>
          <ul spacing="normal">
            <li>
              <t>Magic number(s): None</t>
            </li>
            <li>
              <t>File extension(s): <tt>.acdcbor</tt></t>
            </li>
            <li>
              <t>Macintosh file type code(s): None</t>
            </li>
          </ul>
          <t><em>Person &amp; email address to contact for further information:</em></t>
          <ul spacing="normal">
            <li>
              <t>N. Smith <eref target="mailto:ned.smith.ietf@outlook.com">ned.smith.ietf@outlook.com</eref></t>
            </li>
            <li>
              <t>GLEIF IT Team <eref target="mailto:vlei-support@gleif.org">vlei-support@gleif.org</eref></t>
            </li>
          </ul>
          <t><em>Intended usage:</em></t>
          <ul spacing="normal">
            <li>
              <t>COMMON</t>
            </li>
          </ul>
          <t><em>Author:</em></t>
          <ul spacing="normal">
            <li>
              <t>N. Smith <eref target="mailto:ned.smith.ietf@outlook.com">ned.smith.ietf@outlook.com</eref></t>
            </li>
            <li>
              <t>GLEIF IT Team <eref target="mailto:vlei-support@gleif.org">vlei-support@gleif.org</eref></t>
            </li>
          </ul>
          <t><em>Change controller:</em></t>
          <ul spacing="normal">
            <li>
              <t>IETF / GLEIF</t>
            </li>
          </ul>
        </section>
        <section anchor="applicationcesrmsgpk">
          <name>application/cesr+msgpk</name>
          <t><em>Type name:</em></t>
          <ul spacing="normal">
            <li>
              <t>application</t>
            </li>
          </ul>
          <t><em>Subtype name:</em></t>
          <ul spacing="normal">
            <li>
              <t>cesr+msgpk</t>
            </li>
          </ul>
          <t><em>Required parameters:</em></t>
          <ul spacing="normal">
            <li>
              <t>None</t>
            </li>
          </ul>
          <t><em>Optional parameters:</em></t>
          <ul spacing="normal">
            <li>
              <t><tt>profile</tt> — Indicates the payload conforms to a specific vLEI credential type.</t>
            </li>
            <li>
              <t><tt>encoding</tt> — Indicates the ACDC stream is text or binary.
Defaults to <tt>msgpk</tt>.</t>
            </li>
            <li>
              <t><tt>charset</tt> — Indicates character set for text encodings.
Defaults to UTF-8.</t>
            </li>
          </ul>
          <t><em>Encoding considerations:</em></t>
          <ul spacing="normal">
            <li>
              <t>ACDC streams are MSGPK encoded for use with binary transports.
If the transport is a text stream the <tt>encoding</tt> option should be specified.</t>
            </li>
          </ul>
          <t><em>Security considerations:</em></t>
          <ul spacing="normal">
            <li>
              <t>See <xref target="sec-sec"/>.</t>
            </li>
          </ul>
          <t><em>Interoperability considerations:</em></t>
          <t>None.</t>
          <t><em>Published specification:</em></t>
          <ul spacing="normal">
            <li>
              <t>RFCthis</t>
            </li>
            <li>
              <t>Key Event Receipt Infrastructure (KERI) — <xref target="KERI-Spec"/></t>
            </li>
            <li>
              <t>Authentictic Chained Data Containers (ACDC) — <xref target="ACDC-Spec"/></t>
            </li>
            <li>
              <t>Composable Event Streaming Representation (CESR) — <xref target="CESR-Spec"/></t>
            </li>
            <li>
              <t>GLEIF vLEI Credential Schema Registry — <xref target="GLEIF-vLEI-TechReq-Part3"/></t>
            </li>
          </ul>
          <t><em>Applications that use this media type:</em></t>
          <ul spacing="normal">
            <li>
              <t>GLEIF vLEI issuance and verification systems</t>
            </li>
            <li>
              <t>SATP-compliant credential exchange platforms</t>
            </li>
            <li>
              <t>Forensic credential chaining and audit systems</t>
            </li>
          </ul>
          <t><em>Fragment identifier considerations:</em></t>
          <ul spacing="normal">
            <li>
              <t>None</t>
            </li>
          </ul>
          <t><em>Additional information:</em></t>
          <ul spacing="normal">
            <li>
              <t>Magic number(s): None</t>
            </li>
            <li>
              <t>File extension(s): <tt>.acdcmsgpk</tt></t>
            </li>
            <li>
              <t>Macintosh file type code(s): None</t>
            </li>
          </ul>
          <t><em>Person &amp; email address to contact for further information:</em></t>
          <ul spacing="normal">
            <li>
              <t>N. Smith <eref target="mailto:ned.smith.ietf@outlook.com">ned.smith.ietf@outlook.com</eref></t>
            </li>
            <li>
              <t>GLEIF IT Team <eref target="mailto:vlei-support@gleif.org">vlei-support@gleif.org</eref></t>
            </li>
          </ul>
          <t><em>Intended usage:</em></t>
          <ul spacing="normal">
            <li>
              <t>COMMON</t>
            </li>
          </ul>
          <t><em>Author:</em></t>
          <ul spacing="normal">
            <li>
              <t>N. Smith <eref target="mailto:ned.smith.ietf@outlook.com">ned.smith.ietf@outlook.com</eref></t>
            </li>
            <li>
              <t>GLEIF IT Team <eref target="mailto:vlei-support@gleif.org">vlei-support@gleif.org</eref></t>
            </li>
          </ul>
          <t><em>Change controller:</em></t>
          <ul spacing="normal">
            <li>
              <t>IETF / GLEIF</t>
            </li>
          </ul>
        </section>
        <section anchor="applicationcesr">
          <name>application/cesr</name>
          <t><em>Type name:</em></t>
          <ul spacing="normal">
            <li>
              <t>application</t>
            </li>
          </ul>
          <t><em>Subtype name:</em></t>
          <ul spacing="normal">
            <li>
              <t>cesr</t>
            </li>
          </ul>
          <t><em>Required parameters:</em></t>
          <ul spacing="normal">
            <li>
              <t>None</t>
            </li>
          </ul>
          <t><em>Optional parameters:</em></t>
          <ul spacing="normal">
            <li>
              <t><tt>profile</tt> — Indicates the payload conforms to a specific vLEI credential type.</t>
            </li>
            <li>
              <t><tt>encoding</tt> — Indicates the CESR stream is text or binary.
Defaults to <tt>text</tt>.
<tt>encoding=binary</tt> indicates the CESR stream is binary encoded.</t>
            </li>
            <li>
              <t><tt>charset</tt> — Indicates character set for text encodings.
Defaults to UTF-8.</t>
            </li>
          </ul>
          <t><em>Encoding considerations:</em></t>
          <ul spacing="normal">
            <li>
              <t>CESR defaults to UTF-8 text encoding and is self-framing.</t>
            </li>
            <li>
              <t>CESR can also be a binary stream.
When used in binary mode the <tt>encoding</tt> option <bcp14>MUST</bcp14> be specified (e.g., <tt>encoding=binary</tt>).</t>
            </li>
          </ul>
          <t><em>Security considerations:</em></t>
          <ul spacing="normal">
            <li>
              <t>See <xref target="sec-iana"/>.</t>
            </li>
          </ul>
          <t><em>Interoperability considerations:</em></t>
          <t>None.</t>
          <t><em>Published specification:</em></t>
          <ul spacing="normal">
            <li>
              <t>RFCthis</t>
            </li>
            <li>
              <t>Key Event Receipt Infrastructure (KERI) — <xref target="KERI-Spec"/></t>
            </li>
            <li>
              <t>Authentictic Chained Data Containers (ACDC) — <xref target="ACDC-Spec"/></t>
            </li>
            <li>
              <t>Composable Event Streaming Representation (CESR) — <xref target="CESR-Spec"/></t>
            </li>
            <li>
              <t>GLEIF vLEI Credential Schema Registry — <xref target="GLEIF-vLEI-TechReq-Part3"/></t>
            </li>
          </ul>
          <t><em>Applications that use this media type:</em></t>
          <ul spacing="normal">
            <li>
              <t>GLEIF vLEI issuance and verification systems</t>
            </li>
            <li>
              <t>SATP-compliant credential exchange platforms</t>
            </li>
            <li>
              <t>Forensic credential chaining and audit systems</t>
            </li>
          </ul>
          <t><em>Fragment identifier considerations:</em></t>
          <ul spacing="normal">
            <li>
              <t>None</t>
            </li>
          </ul>
          <t><em>Additional information:</em></t>
          <ul spacing="normal">
            <li>
              <t>Magic number(s): None</t>
            </li>
            <li>
              <t>File extension(s): <tt>.acdccesr</tt></t>
            </li>
            <li>
              <t>Macintosh file type code(s): None</t>
            </li>
          </ul>
          <t><em>Person &amp; email address to contact for further information:</em></t>
          <ul spacing="normal">
            <li>
              <t>N. Smith <eref target="mailto:ned.smith.ietf@outlook.com">ned.smith.ietf@outlook.com</eref></t>
            </li>
            <li>
              <t>GLEIF IT Team <eref target="mailto:vlei-support@gleif.org">vlei-support@gleif.org</eref></t>
            </li>
          </ul>
          <t><em>Intended usage:</em></t>
          <ul spacing="normal">
            <li>
              <t>COMMON</t>
            </li>
          </ul>
          <t><em>Author:</em></t>
          <ul spacing="normal">
            <li>
              <t>N. Smith <eref target="mailto:ned.smith.ietf@outlook.com">ned.smith.ietf@outlook.com</eref></t>
            </li>
            <li>
              <t>GLEIF IT Team <eref target="mailto:vlei-support@gleif.org">vlei-support@gleif.org</eref></t>
            </li>
          </ul>
          <t><em>Change controller:</em></t>
          <ul spacing="normal">
            <li>
              <t>IETF / GLEIF</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="coap-content-format-id-assignments">
        <name>CoAP Content-Format ID Assignments</name>
        <t>IANA is requested to assign the following Content-Format numbers in the
"CoAP Content-Formats" sub-registry, within the "Constrained RESTful
Environments (CoRE) Parameters" Registry <xref target="IANA.core-parameters"/>:</t>
        <table align="left">
          <name>New Content-Formats</name>
          <thead>
            <tr>
              <th align="left">Content-Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/cesr+json</td>
              <td align="left">-</td>
              <td align="left">TBA1</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+cbor</td>
              <td align="left">-</td>
              <td align="left">TBD2</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+msgpk</td>
              <td align="left">-</td>
              <td align="left">TBD3</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr</td>
              <td align="left">-</td>
              <td align="left">TBD4</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+json;profile=urn:vlei:leid</td>
              <td align="left">-</td>
              <td align="left">TBA10</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+json;profile=urn:vlei:ecr</td>
              <td align="left">-</td>
              <td align="left">TBA11</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+json;profile=urn:vlei:oor</td>
              <td align="left">-</td>
              <td align="left">TBA12</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+json;profile=urn:vlei:lar</td>
              <td align="left">-</td>
              <td align="left">TBA13</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+json;profile=urn:vlei:qvi</td>
              <td align="left">-</td>
              <td align="left">TBA14</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+json;profile=urn:vlei:vra</td>
              <td align="left">-</td>
              <td align="left">TBA15</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+cbor;profile=urn:vlei:leid</td>
              <td align="left">-</td>
              <td align="left">TBA20</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+cbor;profile=urn:vlei:ecr</td>
              <td align="left">-</td>
              <td align="left">TBA21</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+cbor;profile=urn:vlei:oor</td>
              <td align="left">-</td>
              <td align="left">TBA22</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+cbor;profile=urn:vlei:lar</td>
              <td align="left">-</td>
              <td align="left">TBA23</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+cbor;profile=urn:vlei:qvi</td>
              <td align="left">-</td>
              <td align="left">TBA24</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+cbor;profile=urn:vlei:vra</td>
              <td align="left">-</td>
              <td align="left">TBA25</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+msgpk;profile=urn:vlei:leid</td>
              <td align="left">-</td>
              <td align="left">TBA30</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+msgpk;profile=urn:vlei:ecr</td>
              <td align="left">-</td>
              <td align="left">TBA31</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+msgpk;profile=urn:vlei:oor</td>
              <td align="left">-</td>
              <td align="left">TBA32</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+msgpk;profile=urn:vlei:lar</td>
              <td align="left">-</td>
              <td align="left">TBA33</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+msgpk;profile=urn:vlei:qvr</td>
              <td align="left">-</td>
              <td align="left">TBA34</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr+msgpk;profile=urn:vlei:vra</td>
              <td align="left">-</td>
              <td align="left">TBA35</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr;profile=urn:vlei:leid</td>
              <td align="left">-</td>
              <td align="left">TBA40</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr;profile=urn:vlei:ecr</td>
              <td align="left">-</td>
              <td align="left">TBA41</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr;profile=urn:vlei:oor</td>
              <td align="left">-</td>
              <td align="left">TBA42</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr;profile=urn:vlei:lar</td>
              <td align="left">-</td>
              <td align="left">TBA43</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr;profile=urn:vlei:qvr</td>
              <td align="left">-</td>
              <td align="left">TBA44</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/cesr;profile=urn:vlei:vra</td>
              <td align="left">-</td>
              <td align="left">TBA45</td>
              <td align="left">RFCthis</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="REQ-LEVEL">
          <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="I-D.ietf-satp-core">
          <front>
            <title>Secure Asset Transfer Protocol (SATP) Core</title>
            <author fullname="Martin Hargreaves" initials="M." surname="Hargreaves">
              <organization>Quant Network</organization>
            </author>
            <author fullname="Thomas Hardjono" initials="T." surname="Hardjono">
              <organization>MIT</organization>
            </author>
            <author fullname="Rafael Belchior" initials="R." surname="Belchior">
         </author>
            <author fullname="Venkatraman Ramakrishna" initials="V." surname="Ramakrishna">
              <organization>IBM</organization>
            </author>
            <author fullname="Alexandru Chiriac" initials="A." surname="Chiriac">
              <organization>Quant Network</organization>
            </author>
            <date day="7" month="August" year="2025"/>
            <abstract>
              <t>   This memo describes the Secure Asset Transfer (SAT) Protocol for
   digital assets.  SAT is a protocol operating between two gateways
   that conducts the transfer of a digital asset from one gateway to
   another, each representing their corresponding digital asset
   networks.  The protocol establishes a secure channel between the
   endpoints and implements a 2-phase commit (2PC) to ensure the
   properties of transfer atomicity, consistency, isolation and
   durability.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-satp-core-11"/>
        </reference>
        <reference anchor="RFC7159">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="March" year="2014"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7159"/>
          <seriesInfo name="DOI" value="10.17487/RFC7159"/>
        </reference>
        <reference anchor="RFC7517">
          <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="RFC2585">
          <front>
            <title>Internet X.509 Public Key Infrastructure Operational Protocols: FTP and HTTP</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="May" year="1999"/>
            <abstract>
              <t>The protocol conventions described in this document satisfy some of the operational requirements of the Internet Public Key Infrastructure (PKI). This document specifies the conventions for using the File Transfer Protocol (FTP) and the Hypertext Transfer Protocol (HTTP) to obtain certificates and certificate revocation lists (CRLs) from PKI repositories. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2585"/>
          <seriesInfo name="DOI" value="10.17487/RFC2585"/>
        </reference>
        <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="STD96">
          <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="STD91">
          <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>
        <reference anchor="RFC7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="GLEIF-vLEI-TechReq-Part1" target="https://www.gleif.org/organizational-identity/introducing-the-verifiable-lei-vlei/introducing-the-vlei-ecosystem-governance-framework/2025-04-16_vlei-egf-v3.0-technical-requirements-part-1-keri-infrastructure-2024_v1.3_final.pdf">
          <front>
            <title>Technical Requirements Part 1: KERI Infrastructure</title>
            <author>
              <organization>Global Legal Entity Identifier Foundation</organization>
            </author>
            <date year="2025" month="April" day="16"/>
          </front>
          <seriesInfo name="GLEIF" value="vLEI-EGF-TechReq-Part1-v1.3"/>
        </reference>
        <reference anchor="GLEIF-vLEI-TechReq-Part2" target="https://www.gleif.org/en/vlei/introducing-the-vlei-ecosystem-governance-framework">
          <front>
            <title>Technical Requirements Part 2: vLEI Credentials</title>
            <author>
              <organization>Global Legal Entity Identifier Foundation</organization>
            </author>
            <date year="2023" month="December" day="15"/>
          </front>
          <seriesInfo name="GLEIF" value="vLEI-EGF-TechReq-Part2-v1.1"/>
        </reference>
        <reference anchor="GLEIF-vLEI-TechReq-Part3" target="https://www.gleif.org/en/vlei/introducing-the-vlei-ecosystem-governance-framework">
          <front>
            <title>Technical Requirements Part 3: vLEI Credential Schema Registry</title>
            <author>
              <organization>Global Legal Entity Identifier Foundation</organization>
            </author>
            <date year="2023" month="December" day="15"/>
          </front>
          <seriesInfo name="GLEIF" value="vLEI-EGF-TechReq-Part3-v1.1"/>
        </reference>
        <reference anchor="ISO17442-3" target="https://www.iso.org/standard/85628.html">
          <front>
            <title>Financial services — Legal entity identifier (LEI) — Part 3: Verifiable LEIs (vLEIs)</title>
            <author>
              <organization>International Organization for Standardization</organization>
            </author>
            <date year="2024"/>
          </front>
          <seriesInfo name="ISO" value="17442-3:2024"/>
        </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>
        <reference anchor="IANA.media-types" target="https://www.iana.org/assignments/media-types">
          <front>
            <title>Media Types</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.core-parameters" target="https://www.iana.org/assignments/core-parameters">
          <front>
            <title>Constrained RESTful Environments (CoRE) Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-satp-architecture">
          <front>
            <title>Secure Asset Transfer (SAT) Interoperability Architecture</title>
            <author fullname="Thomas Hardjono" initials="T." surname="Hardjono">
              <organization>MIT</organization>
            </author>
            <author fullname="Martin Hargreaves" initials="M." surname="Hargreaves">
              <organization>Quant Network</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Intel</organization>
            </author>
            <author fullname="Venkatraman Ramakrishna" initials="V." surname="Ramakrishna">
              <organization>IBM</organization>
            </author>
            <date day="31" month="July" year="2025"/>
            <abstract>
              <t>   This document proposes an interoperability architecture for the
   secure transfer of assets between two networks or systems based on
   the gateway model.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-satp-architecture-08"/>
        </reference>
        <reference anchor="ISO17442-1" target="https://www.iso.org/standard/59771.html">
          <front>
            <title>Financial services — Legal entity identifier (LEI) — Part 1: Assignment</title>
            <author>
              <organization>International Organization for Standardization</organization>
            </author>
            <date year="2020"/>
          </front>
          <seriesInfo name="ISO" value="17442-1:2020"/>
        </reference>
        <reference anchor="KERI-Spec" target="https://trustoverip.github.io/tswg-keri-specification/">
          <front>
            <title>Key Event Receipt Infrastructure (KERI) Specification, v0.9, Draft</title>
            <author>
              <organization>Trust Over IP Foundation</organization>
            </author>
            <date year="2023"/>
          </front>
          <seriesInfo name="TOIP" value="TSWG-KERI-2023"/>
        </reference>
        <reference anchor="ACDC-Spec" target="https://trustoverip.github.io/tswg-acdc-specification">
          <front>
            <title>Authentic Chained Data Containers (ACDC) Specification, v0.9, Draft</title>
            <author>
              <organization>Trust Over IP Foundation</organization>
            </author>
            <date year="2023"/>
          </front>
          <seriesInfo name="TOIP" value="TSWG-ACDC-2023"/>
        </reference>
        <reference anchor="CESR-Spec" target="https://trustoverip.github.io/tswg-cesr-specification/">
          <front>
            <title>Composable Event Streaming Representation (CESR) Proof Format Specification, v0.9, Draft</title>
            <author>
              <organization>Trust Over IP Foundation</organization>
            </author>
            <date year="2023"/>
          </front>
          <seriesInfo name="TOIP" value="TSWG-CESR-2023"/>
        </reference>
        <reference anchor="GLEIF-vLEI-EGF" target="https://www.gleif.org/en/vlei/introducing-the-vlei-ecosystem-governance-framework">
          <front>
            <title>Verifiable LEI (vLEI) Ecosystem Governance Framework: Primary and Controlled Documents</title>
            <author>
              <organization>Global Legal Entity Identifier Foundation</organization>
            </author>
            <date year="2025" month="April" day="16"/>
          </front>
          <seriesInfo name="GLEIF" value="vLEI-EGF-v3.0"/>
        </reference>
        <reference anchor="ACM-Calculus" target="https://dl.acm.org/doi/10.1145/155183.155225">
          <front>
            <title>A Calculus for Access Control in Distributed Systems</title>
            <author initials="M." surname="Abadi" fullname="Martín Abadi">
              <organization/>
            </author>
            <author initials="M." surname="Burrows" fullname="Michael Burrows">
              <organization/>
            </author>
            <author initials="B." surname="Lampson" fullname="Butler Lampson">
              <organization/>
            </author>
            <author initials="G." surname="Plotkin" fullname="Gordon Plotkin">
              <organization/>
            </author>
            <date year="1993" month="October"/>
          </front>
          <seriesInfo name="ACM" value="TOPLAS 15(4), pp. 706–734"/>
        </reference>
        <reference anchor="RFC4949">
          <front>
            <title>Internet Security Glossary, Version 2</title>
            <author fullname="R. Shirey" initials="R." surname="Shirey"/>
            <date month="August" year="2007"/>
            <abstract>
              <t>This Glossary provides definitions, abbreviations, and explanations of terminology for information system security. The 334 pages of entries offer recommendations to improve the comprehensibility of written material that is generated in the Internet Standards Process (RFC 2026). The recommendations follow the principles that such writing should (a) use the same term or definition whenever the same concept is mentioned; (b) use terms in their plainest, dictionary sense; (c) use terms that are already well-established in open publications; and (d) avoid terms that either favor a particular vendor or favor a particular technology or mechanism over other, competing techniques that already exist or could be developed. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="FYI" value="36"/>
          <seriesInfo name="RFC" value="4949"/>
          <seriesInfo name="DOI" value="10.17487/RFC4949"/>
        </reference>
        <reference anchor="ISO17442-1_2020" target="https://www.iso.org/standard/78829.html">
          <front>
            <title>Financial services — Legal entity identifier (LEI) — Part 1: Assignment</title>
            <author>
              <organization>International Organization for Standardization</organization>
            </author>
            <date year="2020"/>
          </front>
          <seriesInfo name="ISO" value="17442-1:2020"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
      </references>
    </references>
    <?line 914?>

<section anchor="sec-autogen">
      <name>Full CDDL</name>
      <sourcecode type="cddl"><![CDATA[
start = satp-message

non-empty<M> = (M) .and ({ + any => any })

satp-message = {
  ? verifiedOriginatorEntityId: wrapped-vlei
  ? verifiedBeneficiaryEntityId: wrapped-vlei
  ? senderGatewayOwnerId: wrapped-vlei
  ? receiverGatewayOwnerId: wrapped-vlei

  ? senderGatewayId: wrapped-vlei
  ? recipientGatewayId: wrapped-vlei
  ? senderGatewayNetworkId: wrapped-vlei
  ? recipientGatewayNetworkId: wrapped-vlei

  ? originatorPubkey: wrapped-vlei / wrapped-key
  ? beneficiaryPubkey: wrapped-vlei / wrapped-key
  ? senderGatewaySignaturePublicKey: wrapped-vlei / wrapped-key
  ? receiverGatewaySignaturePublicKey: wrapped-vlei / wrapped-key
  ? senderGatewayDeviceIdentityPubkey: wrapped-vlei / wrapped-key
  ? receiverGatewayDeviceIdentityPubkey: wrapped-vlei / wrapped-key
}


wrapped-vlei = {
 content: content-ref
 payload: bstr / tstr
}

content-ref = non-empty<{ 
 ? mt: vlei-media-type ; TBA 
 ? cf: uint ; TBA content format id
 ? cbt: bool ; payload contains CBOR tagged content in the TN() range if true, if false not cbor tagged and "mt" is required
 ? oid: tstr ; generated from content-format-id e.g., "1.3.6.1.4.1.37476.2.1.5"
}>


wrapped-key = $key-type
$key-type /= cose-key
$key-type /= jwk-key
$key-type /= pkix-key

cose-key = {
 content: "application/cose;cose-type=cose-key" / uint,
 encoding: "cbor" / "base64uri" / "text",
 payload: bstr / tstr
}

jwk-key = {
  content: "application/jwk+json" / uint,
  payload: tstr
}

pkix-key = {
  content: "application/pkix-cert" / uint,
  encoding: "PEM" / "DER",
  payload: tstr / bstr
}

vlei-media-type =
  "application/cesr+json;profile=urn:vlei:leid" /
  "application/cesr+json;profile=urn:vlei:ecr" /
  "application/cesr+json;profile=urn:vlei:ecr;charset=utf-16le" /
  "application/cesr+json;profile=urn:vlei:oor" /
  "application/cesr+json;profile=urn:vlei:ecra" /
  "application/cesr+json;profile=urn:vlei:qvi" /
  "application/cesr+json;profile=urn:vlei:oora" /
  "application/cesr+json;profile=urn:vlei:oora;encoding=base64uri" /
  "application/cesr+cbor;profile=urn:vlei:leid" /
  "application/cesr+cbor;profile=urn:vlei:leid;encoding=text" /
  "application/cesr+cbor;profile=urn:vlei:ecr" /
  "application/cesr+cbor;profile=urn:vlei:ecr;encoding=base64uri" /
  "application/cesr+cbor;profile=urn:vlei:ecr;encoding=text" /
  "application/cesr+cbor;profile=urn:vlei:oor" /
  "application/cesr+cbor;profile=urn:vlei:oor;encoding=text" /
  "application/cesr+cbor;profile=urn:vlei:ecra" /
  "application/cesr+cbor;profile=urn:vlei:ecra;encoding=text" /
  "application/cesr+cbor;profile=urn:vlei:qvi" /
  "application/cesr+cbor;profile=urn:vlei:qvi;encoding=text" /
  "application/cesr+cbor;profile=urn:vlei:oora" /
  "application/cesr+cbor;profile=urn:vlei:oora;encoding=text" /
  "application/cesr+msgpk;profile=urn:vlei:leid" /
  "application/cesr+msgpk;profile=urn:vlei:leid;encoding=text" /
  "application/cesr+msgpk;profile=urn:vlei:ecr" /
  "application/cesr+msgpk;profile=urn:vlei:ecr;encoding=text" /
  "application/cesr+msgpk;profile=urn:vlei:oor" /
  "application/cesr+msgpk;profile=urn:vlei:oor;encoding=text" /
  "application/cesr+msgpk;profile=urn:vlei:ecra" /
  "application/cesr+msgpk;profile=urn:vlei:ecra;encoding=text" /
  "application/cesr+msgpk;profile=urn:vlei:qvi" /
  "application/cesr+msgpk;profile=urn:vlei:qvi;encoding=text" /
  "application/cesr+msgpk;profile=urn:vlei:oora" /
  "application/cesr+msgpk;profile=urn:vlei:oora;encoding=text" /
  "application/cesr;profile=urn:vlei:leid" /
  "application/cesr;profile=urn:vlei:leid;encoding=binary" /
  "application/cesr;profile=urn:vlei:leid;encoding=base64uri" /
  "application/cesr;profile=urn:vlei:leid;charset=utf-16le" /
  "application/cesr;profile=urn:vlei:ecr" /
  "application/cesr;profile=urn:vlei:ecr;encoding=binary" /
  "application/cesr;profile=urn:vlei:oor" /
  "application/cesr;profile=urn:vlei:oor;encoding=binary" /
  "application/cesr;profile=urn:vlei:ecra" /
  "application/cesr;profile=urn:vlei:ecra;encoding=binary" /
  "application/cesr;profile=urn:vlei:qvi" /
  "application/cesr;profile=urn:vlei:qvi;bencoding=binary" /
  "application/cesr;profile=urn:vlei:oora" /
  "application/cesr;profile=urn:vlei:oora;encoding=binary" 


]]></sourcecode>
    </section>
    <section anchor="examples-in-json">
      <name>Examples in JSON</name>
      <t>The following SATP wrapper examples show synthetic vLEI data:</t>
      <sourcecode type="json"><![CDATA[
{
  "verifiedOriginatorEntityId": {
    "content": {
      "mt": "application/cesr+json;profile=urn:vlei:leid"
      // JSON serialization of an ACDC credential (LEID profile)
    },
    "payload": "ACDC10JSON...SAID...i:did:keri:..."
    // literal ACDC JSON text, not base64
  }
}

]]></sourcecode>
      <sourcecode type="json"><![CDATA[
{
  "verifiedBeneficiaryEntityId": {
    "content": {
      "mt": "application/cesr;profile=urn:vlei:leid;encoding=binary"
    },
    "payload": "QUNEQzEwQ0JPUkJhc2U2NEVuY29kZWQvLi4u"
    // base64 of binary CESR serialization of SAID credential (LEID profile)
  }
}

]]></sourcecode>
      <sourcecode type="json"><![CDATA[
{
  "senderGatewayOwnerId": {
    "content": {
      "mt": "application/cesr+msgpk;profile=urn:vlei:leid"
      // cf, cbt, oid omitted here — optional in schema
    },
    "payload": "ACDC10MSGP...SAID...i:did:keri:..."
    // MessagePack serialization of an ACDC credential (LEID profile)
  }
}
]]></sourcecode>
      <sourcecode type="json"><![CDATA[
{
  "receiverGatewayOwnerId": {
    "content": {
      "mt": "application/cesr;profile=urn:vlei:leid;encoding=base64uri"
      // could also include cf, cbt, oid if known
    },
    "payload": "QUNEQzEwQ0VTUkJhc2U2NEVuY29kZWQvLi4u"
    // ⟶ Base64 of binary CESR stream encoding of SAID credential
  }
}

]]></sourcecode>
      <sourcecode type="json"><![CDATA[
{
  "senderGatewayId": {
    "content": {
      "mt": "application/cesr;profile=urn:vlei:ecr"
      // cf, cbt, oid omitted — optional in schema
    },
    "payload": "ACDC10CESR...SAID...i:did:keri:..."
    // CESR-encoded ACDC credential (ECR profile) as plain text
  }
}


]]></sourcecode>
      <sourcecode type="json"><![CDATA[
{
  "recipientGatewayId": {
    "content": {
      "mt": "application/cesr+cbor;profile=urn:vlei:ecr", // from vlei-media-type enum
      "cf": 0,
      "oid": "1.2.3.4.6" // actual OID for this credential type
    },
    "payload": "ACDC10CBORTESTSAIDi:did:keri:EXAMPLERGWNETID"
    // raw CBOR bytes or base64/base64url string, but not CBOR-tagged
  }
}

]]></sourcecode>
      <sourcecode type="json"><![CDATA[
{
  "senderGatewayNetworkId": {
    "content": {
      "mt": "application/cesr+cbor;profile=urn:vlei:ecr;encoding=base64uri",
      "cbt": false // no TN() CBOR tag; just base64 of raw CBOR
    },
    "payload": "oWJ0ZXN0LWVjci1jcmVkZW50aWFs..." 
    // base64 of the CBOR-encoded ACDC (ECR profile)
  }
}

]]></sourcecode>
      <sourcecode type="json"><![CDATA[
{
  "senderGatewayNetworkId": {
    "content": {
      "mt": "application/cesr+cbor;profile=urn:vlei:ecr;encoding=base64uri",
      "cbt": false // no TN() CBOR tag; just base64 of raw CBOR
    },
    "payload": "gEEBAQ..." 
    // base64 of CBOR-encoded ACDC (ECR profile)
  }
}

]]></sourcecode>
      <t>The following SATP wrapper examples show synthetic key data:</t>
      <sourcecode type="json"><![CDATA[
{
  "originatorPubkey": {
    "content": "application/jwk+json",
    "payload": "{ \"kty\": \"EC\", \"crv\": \"P-256\", \"x\": \"...\", \"y\": \"...\" }"
  },
  "beneficiaryPubkey": {
    "content": "application/cose;cose-type=cose-key",
    "encoding": "base64uri", // explicitly flagging representation
    "payload": "aEtNQnBRLi4u" // base64 of CBOR COSE_Key bytes
  },
  "senderGatewaySignaturePublicKey": {
    "content": "application/jwk+json",
    "payload": "{ \"kty\": \"RSA\", \"n\": \"...\", \"e\": \"AQAB\" }"
  },
  "receiverGatewaySignaturePublicKey": {
    "content": "application/cose;cose-type=cose-key",
    "encoding": "base64uri",
    "payload": "aEtNQ3BBLi4u"
  },
  "senderGatewayDeviceIdentityPubkey": {
    "content": "application/pkix-cert",
    "encoding": "PEM",
    "payload": "-----BEGIN CERTIFICATE-----\nMIIB...==\n-----END CERTIFICATE-----"
  },
  "receiverGatewayDeviceIdentityPubkey": {
    "content": "application/pkix-cert",
    "encoding": "DER",
    "payload": "MIIB..." // base64 DER
  }
}



]]></sourcecode>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
6e82SQg21a0poKJ1S9lu/H/a1XNgPaAAAA==

-->

</rfc>
