diff --git a/CR/2024-04-25/index.html b/transitions/CR/2024-04-25/index.html similarity index 100% rename from CR/2024-04-25/index.html rename to transitions/CR/2024-04-25/index.html diff --git a/transitions/CR2/2024-11-05/index.html b/transitions/CR2/2024-11-05/index.html new file mode 100644 index 00000000..e2bef7e4 --- /dev/null +++ b/transitions/CR2/2024-11-05/index.html @@ -0,0 +1,4944 @@ +
+ + + + + + + + +W3C Candidate Recommendation Snapshot
++ Copyright + © + 2024 + + World Wide Web Consortium. + W3C® + liability, + trademark and + permissive document license rules apply. +
++ This specification defines how to secure credentials and presentations + conforming to the Verifiable Credential data model [VC-DATA-MODEL-2.0] + with JSON Object Signing and Encryption + (JOSE), + Selective Disclosure for JWTs [SD-JWT], + and CBOR Object Signing and Encryption (COSE) [RFC9052]. + This enables the Verifiable Credential data model [VC-DATA-MODEL-2.0] + to be implemented with standards for signing and encryption that are + widely adopted. +
+This section describes the status of this + document at the time of its publication. A list of current W3C + publications and the latest revision of this technical report can be found + in the W3C technical reports index at + https://www.w3.org/TR/.
++ The Working Group is actively seeking implementation feedback for this + specification. In order to exit the Candidate Recommendation phase, the + Working Group has set the requirement of at least two independent + implementations for each mandatory feature in the specification. For + details on the conformance testing process, see the test suite listed in + the + implementation report. +
++ This document was published by the Verifiable Credentials Working Group as + a Candidate Recommendation Snapshot using the + Recommendation track. +
Publication as a Candidate Recommendation does not + imply endorsement by W3C and its Members. A Candidate Recommendation Snapshot has received + wide review, is intended to + gather + implementation experience, + and has commitments from Working Group members to + royalty-free licensing + for implementations.
+ This Candidate Recommendation is not expected to advance to Proposed + Recommendation any earlier than 19 December 2024. +
+ + This document was produced by a group + operating under the + W3C Patent + Policy. + + + W3C maintains a + public list of any patent disclosures + made in connection with the deliverables of + the group; that page also includes + instructions for disclosing a patent. An individual who has actual + knowledge of a patent which the individual believes contains + Essential Claim(s) + must disclose the information in accordance with + section 6 of the W3C Patent Policy. + +
+ This document is governed by the + 03 November 2023 W3C Process Document. +
+ This specification defines how to secure media types expressing + Verifiable Credentials and Verifiable Presentations as described in + [VC-DATA-MODEL-2.0] using approaches defined by the JOSE, OAuth, and + COSE working groups at the IETF. This includes JSON Web Signature (JWS) + [RFC7515], Selective Disclosure for JWTs [SD-JWT], + and CBOR Object Signing and Encryption (COSE) [RFC9052]. + It uses content types [RFC6838] to distinguish between the data types + of unsecured documents conforming to [VC-DATA-MODEL-2.0] and the data + types of secured documents conforming to [VC-DATA-MODEL-2.0]. +
++ JSON Web Signature (JWS) [RFC7515] defines a standard means of + digitally signing documents, including JSON documents, using JSON-based + data structures. It provides a means to ensure the integrity, + authenticity, and non-repudiation of the information contained in the + document. Selective Disclosure for JWTs (SD-JWT) [SD-JWT] builds on + JWS by also providing a mechanism enabling selective disclosure of + document elements. These properties make JWS and SD-JWT especially + well-suited to securing documents conforming to [VC-DATA-MODEL-2.0]. +
++ CBOR Object Signing and Encryption (COSE) [RFC9052] defines a standard + means of representing digitally signed data structures using + Concise Binary Object Representation (CBOR) [RFC8949]. Like JWS, COSE + provides a standardized way to secure the integrity, authenticity, and + confidentiality of information. It offers a flexible and extensible set + of cryptographic options, allowing for a wide range of algorithms + to be used for signing and encryption. +
++ COSE supports two main operations: signing and encryption. For signing, + COSE allows the creation of digital signatures over CBOR data using + various algorithms such as RSA, ECDSA, and EdDSA. These signatures + provide assurance of data integrity and authenticity. COSE also supports + encryption, enabling the confidentiality of CBOR data by encrypting it + with symmetric or asymmetric encryption algorithms. +
+As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
+ The key words MAY, MUST, MUST NOT, NOT RECOMMENDED, RECOMMENDED, SHOULD, and SHOULD NOT in this document + are to be interpreted as described in + BCP 14 + [RFC2119] [RFC8174] + when, and only when, they appear in all capitals, as shown here. +
++ A conforming JWS document is one that conforms to all of + the "MUST" statements in Section 3.1 With JOSE. +
++ A conforming JWS issuer implementation produces + conforming JWS documents and MUST secure them as described in + Section 3.1 With JOSE. +
+ A conforming JWS verifier implementation verifies + conforming JWS documents as described in Section + 3.1 With JOSE. +
++ A conforming SD-JWT document is one that conforms to all + of the "MUST" statements in Section 3.2 With SD-JWT. +
++ A conforming SD-JWT issuer implementation produces + conforming SD-JWT documents and MUST secure them as described + in Section 3.2 With SD-JWT. +
+ A conforming SD-JWT verifier implementation verifies + conforming SD-JWT documents as described in Section + 3.2 With SD-JWT. +
++ A conforming COSE document is one that conforms to all + of the "MUST" statements in Section 3.3 With COSE. +
++ A conforming COSE issuer implementation produces + conforming COSE documents and MUST secure them as described in + Section 3.3 With COSE. +
++ A conforming COSE verifier implementation verifies + conforming COSE documents as described in Section + 3.3 With COSE. +
+
+ The Verifiable Credentials Data Model v2.0
+ describes the approach taken by this specification to secure JSON
+ and CBOR claims by applying an enveloping proof
.
+
+ This specification defines how to secure different data structures
+ using various enveloping proof
mechanisms:
+
In the context of Verifiable Credentials:
++ In all cases, the underlying data model of the Verifiable Credential + or Presentation remains consistent with the [VC-DATA-MODEL-2.0], + but the encoding and security mechanisms differ. +
+
+ The normative statements in
+ Securing Mechanisms apply to securing
+ application/vc+jwt
and
+ application/vp+jwt
,
+ application/vc+sd-jwt
and
+ application/vp+sd-jwt
,
+ application/vc+cose
and
+ application/vp+cose
.
+
+ JSON Web Token implementers are advised to review + Implementation Requirements. +
+
+ Issuers, Holders, and Verifiers of JWTs MUST understand the effect
+ of the JSON Web Token header parameter setting of
+ "alg": "none"
when using JSON Web Tokens to secure
+ [VC-DATA-MODEL-2.0]. When content types from the
+ [VC-DATA-MODEL-2.0] are secured using JSON Web Tokens, the
+ header parameter setting of "alg": "none"
+ is used to communicate that a Verifiable Credential or
+ Verifiable Presentation encoded as a JWT Claims Set has no
+ integrity protection.
+
+ Issuers, Holders, and Verifiers MUST ignore all JWT Claims Sets + that have no integrity protection. +
+
+ The JWT Claim Names vc
and vp
+ MUST NOT be present in any JWT Claims Set that comprises a
+ verifiable credential or a verifiable presentation.
+
+ This specification uses Selective Disclosure for JWTs (SD-JWT) as + defined in the IETF draft [SD-JWT]. Implementers SHOULD refer to + this draft for the full details of the SD-JWT format and + processing requirements. +
++ This section defines the terms used in this specification. A link to + these terms is included whenever they appear in this specification. +
++ This section outlines how to secure documents conforming + to [VC-DATA-MODEL-2.0] using JOSE, SD-JWT, and COSE. +
++ Documents conforming to [VC-DATA-MODEL-2.0], + and their associated media types, rely on + JSON-LD, which is an extensible format for describing + linked data; see + JSON-LD Relationship to RDF. +
++ A benefit to this approach is that payloads can be made to conform + directly to [VC-DATA-MODEL-2.0] without any mappings or + transformation, while at the same time supporting registered + header parameters and claims that are understood in the context of JOSE, + SD-JWT, and COSE. +
++ It is RECOMMENDED that media types be used to distinguish + verifiable credentials + and verifiable presentations + from other kinds of secured JSON or CBOR. +
+
+ The most specific media type (or subtype) available SHOULD be used,
+ instead of more generic media types (or supertypes). For example, rather
+ than the general application/sd-jwt
,
+ application/vc+sd-jwt
SHOULD be used, unless there is a
+ more specific media type that would even better identify the secured
+ envelope format.
+
+ If implementations do not know which media type to use, media types + defined in this specification MUST be used. +
++ This section details how to use JOSE to secure + verifiable credentials conforming to [VC-DATA-MODEL-2.0]. +
++ A conforming JWS issuer implementation MUST use [RFC7515] to + secure this media type. The unsecured verifiable credential is + the unencoded JWS payload. +
+
+ The typ
header parameter SHOULD be vc+jwt
.
+ When present, the cty
header parameter SHOULD be
+ vc
.
+ The cty
header parameter value can be used to differentiate
+ between secured content of different types when using vc+jwt
.
+ See Registered Header Parameter Names
+ for additional details regarding usage of typ
and cty
.
+
+ A conforming JWS verifier implementation MUST use [RFC7515] to + verify conforming JWS documents that use this media type. +
++ To encrypt a secured verifiable credential when transmitting + over an insecure channel, implementers MAY use + JSON Web Encryption (JWE) [RFC7516] by nesting the secured + verifiable credential as the plaintext payload of a JWE, per the + description of Nested JWTs in [RFC7519]. +
+{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "id": "http://university.example/credentials/1872", + "type": [ + "VerifiableCredential", + "ExampleAlumniCredential" + ], + "issuer": "https://university.example/issuers/565049", + "validFrom": "2010-01-01T19:23:24Z", + "credentialSchema": { + "id": "https://example.org/examples/degree.json", + "type": "JsonSchema" + }, + "credentialSubject": { + "id": "did:example:123", + "degree": { + "type": "BachelorDegree", + "name": "Bachelor of Science and Arts" + } + } +}
{ + "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro", + "alg": "ES256" +} ++application/vc +
{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "id": "http://university.example/credentials/1872", + "type": [ + "VerifiableCredential", + "ExampleAlumniCredential" + ], + "issuer": "https://university.example/issuers/565049", + "validFrom": "2010-01-01T19:23:24Z", + "credentialSchema": { + "id": "https://example.org/examples/degree.json", + "type": "JsonSchema" + }, + "credentialSubject": { + "id": "did:example:123", + "degree": { + "type": "BachelorDegree", + "name": "Bachelor of Science and Arts" + } + } +} ++application/vc+jwt +
+ See Verifiable Credentials Data Model v2.0 + for more details regarding this example. +
++ This section details how to use JOSE to secure + verifiable presentations conforming to [VC-DATA-MODEL-2.0]. +
++ A conforming JWS issuer implementation MUST use [RFC7515] to + secure this media type. The unsecured verifiable presentation is + the unencoded JWS payload. +
+
+ The typ
header parameter SHOULD be vp+jwt
.
+ When present, the cty
header parameter SHOULD be
+ vp
.
+ The cty
header parameter value can be used to differentiate
+ between secured content of different types when using vp+jwt
.
+ See Registered Header Parameter Names
+ for additional details regarding usage of typ
and cty
.
+
+ A conforming JWS verifier implementation MUST use [RFC7515] to + verify conforming JWS documents that use this media type. +
++ Verifiable Credentials secured in + verifiable presentations + MUST use the + Enveloped Verifiable Credential + type defined by the [VC-DATA-MODEL-2.0]. +
++ Verifiable Presentations in + verifiable presentations + MUST use the + Enveloped Verifiable Presentation + type defined by the [VC-DATA-MODEL-2.0]. +
++ Credentials in verifiable presentations MUST be secured. + In this case, these credentials are secured using JWS. +
+
+ To encrypt a secured verifiable presentation when transmitting + over an insecure channel, implementers MAY use + JSON Web Encryption (JWE) [RFC7516] by nesting the secured + verifiable presentation as the plaintext payload of a JWE, + per the description of Nested JWTs in [RFC7519]. +
+{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "type": "VerifiablePresentation", + "verifiableCredential": [{ + "@context": ["https://www.w3.org/ns/credentials/v2"], + "type": ["EnvelopedVerifiableCredential"], + "id": "data:application/vc+jwt,eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMzODQifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaWQiOiJodHRwOi8vdW5pdmVyc2l0eS5leGFtcGxlL2NyZWRlbnRpYWxzLzE4NzIiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRXhhbXBsZUFsdW1uaUNyZWRlbnRpYWwiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDE5OjIzOjI0WiIsImNyZWRlbnRpYWxTY2hlbWEiOnsiaWQiOiJodHRwczovL2V4YW1wbGUub3JnL2V4YW1wbGVzL2RlZ3JlZS5qc29uIiwidHlwZSI6Ikpzb25TY2hlbWEifSwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6ZXhhbXBsZToxMjMiLCJkZWdyZWUiOnsidHlwZSI6IkJhY2hlbG9yRGVncmVlIiwibmFtZSI6IkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMifX19.d2k4O3FytQJf83kLh-HsXuPvh6yeOlhJELVo5TF71gu7elslQyOf2ZItAXrtbXF4Kz9WivNdztOayz4VUQ0Mwa8yCDZkP9B2pH-9S_tcAFxeoeJ6Z4XnFuL_DOfkR1fP" + }] +}
{ + "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro", + "alg": "ES256" +} ++application/vp +
{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "type": "VerifiablePresentation", + "verifiableCredential": [ + { + "@context": "https://www.w3.org/ns/credentials/v2", + "id": "data:application/vc+jwt,eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMzODQifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaWQiOiJodHRwOi8vdW5pdmVyc2l0eS5leGFtcGxlL2NyZWRlbnRpYWxzLzE4NzIiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRXhhbXBsZUFsdW1uaUNyZWRlbnRpYWwiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDE5OjIzOjI0WiIsImNyZWRlbnRpYWxTY2hlbWEiOnsiaWQiOiJodHRwczovL2V4YW1wbGUub3JnL2V4YW1wbGVzL2RlZ3JlZS5qc29uIiwidHlwZSI6Ikpzb25TY2hlbWEifSwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6ZXhhbXBsZToxMjMiLCJkZWdyZWUiOnsidHlwZSI6IkJhY2hlbG9yRGVncmVlIiwibmFtZSI6IkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMifX19.d2k4O3FytQJf83kLh-HsXuPvh6yeOlhJELVo5TF71gu7elslQyOf2ZItAXrtbXF4Kz9WivNdztOayz4VUQ0Mwa8yCDZkP9B2pH-9S_tcAFxeoeJ6Z4XnFuL_DOfkR1fP;data:application/vc+jwt,eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMzODQifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaWQiOiJodHRwOi8vdW5pdmVyc2l0eS5leGFtcGxlL2NyZWRlbnRpYWxzLzE4NzIiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRXhhbXBsZUFsdW1uaUNyZWRlbnRpYWwiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDE5OjIzOjI0WiIsImNyZWRlbnRpYWxTY2hlbWEiOnsiaWQiOiJodHRwczovL2V4YW1wbGUub3JnL2V4YW1wbGVzL2RlZ3JlZS5qc29uIiwidHlwZSI6Ikpzb25TY2hlbWEifSwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6ZXhhbXBsZToxMjMiLCJkZWdyZWUiOnsidHlwZSI6IkJhY2hlbG9yRGVncmVlIiwibmFtZSI6IkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMifX19.d2k4O3FytQJf83kLh-HsXuPvh6yeOlhJELVo5TF71gu7elslQyOf2ZItAXrtbXF4Kz9WivNdztOayz4VUQ0Mwa8yCDZkP9B2pH-9S_tcAFxeoeJ6Z4XnFuL_DOfkR1fP", + "type": "EnvelopedVerifiableCredential" + } + ] +} ++application/vp+jwt +
+ See Verifiable Credentials Data Model v2.0 for more + details regarding this example. +
+{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "type": "EnvelopedVerifiablePresentation", + "id": "data:application/vp+jwt,eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMzODQifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaWQiOiJodHRwOi8vdW5pdmVyc2l0eS5leGFtcGxlL2NyZWRlbnRpYWxzLzE4NzIiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRXhhbXBsZUFsdW1uaUNyZWRlbnRpYWwiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDE5OjIzOjI0WiIsImNyZWRlbnRpYWxTY2hlbWEiOnsiaWQiOiJodHRwczovL2V4YW1wbGUub3JnL2V4YW1wbGVzL2RlZ3JlZS5qc29uIiwidHlwZSI6Ikpzb25TY2hlbWEifSwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6ZXhhbXBsZToxMjMiLCJkZWdyZWUiOnsidHlwZSI6IkJhY2hlbG9yRGVncmVlIiwibmFtZSI6IkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMifX19.d2k4O3FytQJf83kLh-HsXuPvh6yeOlhJELVo5TF71gu7elslQyOf2ZItAXrtbXF4Kz9WivNdztOayz4VUQ0Mwa8yCDZkP9B2pH-9S_tcAFxeoeJ6Z4XnFuL_DOfkR1fP" +}
{ + "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro", + "alg": "ES256" +} ++application/vp +
{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "type": "EnvelopedVerifiablePresentation", + "id": "data:application/vp+jwt,eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMzODQifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaWQiOiJodHRwOi8vdW5pdmVyc2l0eS5leGFtcGxlL2NyZWRlbnRpYWxzLzE4NzIiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRXhhbXBsZUFsdW1uaUNyZWRlbnRpYWwiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDE5OjIzOjI0WiIsImNyZWRlbnRpYWxTY2hlbWEiOnsiaWQiOiJodHRwczovL2V4YW1wbGUub3JnL2V4YW1wbGVzL2RlZ3JlZS5qc29uIiwidHlwZSI6Ikpzb25TY2hlbWEifSwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6ZXhhbXBsZToxMjMiLCJkZWdyZWUiOnsidHlwZSI6IkJhY2hlbG9yRGVncmVlIiwibmFtZSI6IkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMifX19.d2k4O3FytQJf83kLh-HsXuPvh6yeOlhJELVo5TF71gu7elslQyOf2ZItAXrtbXF4Kz9WivNdztOayz4VUQ0Mwa8yCDZkP9B2pH-9S_tcAFxeoeJ6Z4XnFuL_DOfkR1fP" +} ++application/vp+jwt +
+ See Verifiable Credentials Data Model v2.0 + for more details regarding this example. +
++ Implementations MUST support the JWS compact serialization. + Use of the JWS JSON serialization is NOT RECOMMENDED. +
+This section is non-normative.
+ ++ When present in the JOSE Header + or the + JWT Claims Set, members + registered in the IANA + JSON Web Token Claims + registry or the IANA + JSON Web Signature and Encryption Header Parameters + registry are to be interpreted as defined by the specifications + referenced in the registries. +
++ The normative statements in + Registered Header Parameter Names, + JOSE Header, and + Replicating Claims as Header Parameters + apply to securing credentials and presentations. +
+
+ The unencoded JOSE Header is JSON (application/json
), not JSON-LD
+ (application/ld+json
).
+
+ It is RECOMMENDED to use the IANA
+ JSON Web Token Claims
+ registry and the IANA
+ JSON Web Signature and Encryption Header Parameters
+ registry to identify any claims and header parameters that might be
+ confused with members defined by [VC-DATA-MODEL-2.0].
+ These include but are not limited to: iss
,
+ kid
, alg
, iat
,
+ exp
, and cnf
.
+
+ When the iat
(Issued At) and/or
+ exp
(Expiration Time) JWT claims are present, they
+ represent the issuance and expiration time of the signature,
+ respectively.
+ Note that these are different from the validFrom
and
+ validUntil
properties defined in
+ Validity Period,
+ which represent the validity of the data that is being secured.
+ Use of the nbf
(Not Before) claim is NOT RECOMMENDED,
+ as it makes little sense to attempt to assign a future date to
+ a signature.
+
+ The claims and security provided by this specification are + independent of the data secured and semantics provided by the + [VC-DATA-MODEL-2.0]. + This means that while the security features + of this specification ensure data integrity and authenticity, + they do not dictate the interpretation of claim data. +
+
+ Implementers SHOULD avoid setting JWT claims to values that conflict
+ with the values of verifiable credential properties when a
+ claim and property pair refer to the same conceptual entity,
+ especially with pairs such as iss
and issuer
, jti
and id
,
+ and sub
and credentialSubject.id
.
+ For example, JWK claim iss
SHOULD NOT be set to a value which
+ conflicts with the value of verifiable credential property
+ issuer
.
+
+ The JWT Claim Names vc
and vp
MUST NOT be present.
+
+ Additional members may be present as header parameters and claims. + If they are not understood, they MUST be ignored. +
++ This section details how to use JOSE to secure + verifiable credentials conforming to [VC-DATA-MODEL-2.0]. +
++ A conforming SD-JWT issuer implementation MUST use [SD-JWT] + to secure this media type. + The unsecured verifiable credential is the input JWT Claims Set. + The Issuer then converts the input JWT Claims Set (i.e., the + unsecured verifiable credential) into an [SD-JWT] payload + according to + SD-JWT issuance instructions. +
+
+ The typ
header parameter SHOULD be vc+sd-jwt
.
+ When present, the cty
header parameter SHOULD be vc
.
+ The cty
header parameter value can be used to differentiate
+ between secured content of different types when using vc+sd-jwt
.
+ See Registered Header Parameter Names
+ for additional details regarding usage of typ
and cty
.
+
+ A conforming SD-JWT verifier implementation MUST use [SD-JWT] + to verify conforming JWS documents that use this media type. +
+
+ When securing verifiable credentials with [SD-JWT],
+ implementers SHOULD ensure that properties necessary for the
+ validation and verification of a credential are NOT selectively
+ disclosable (i.e., such properties SHOULD be disclosed).
+ These properties can include but are not limited to
+ @context
,
+ type
,
+ credentialStatus
,
+ credentialSchema
,
+ and relatedResource
.
+
+ To encrypt a secured verifiable credential when transmitting + over an insecure channel, implementers MAY use + JSON Web Encryption (JWE) [RFC7516] by nesting the secured + verifiable credential as the plaintext payload of a JWE, + per the instructions in Section 11.2 of [SD-JWT]. +
+{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "id": "http://university.example/credentials/1872", + "type": [ + "VerifiableCredential", + "ExampleAlumniCredential" + ], + "issuer": "https://university.example/issuers/565049", + "validFrom": "2010-01-01T19:23:24Z", + "credentialSchema": { + "id": "https://example.org/examples/degree.json", + "type": "JsonSchema" + }, + "credentialSubject": { + "id": "did:example:123", + "degree": { + "type": "BachelorDegree", + "name": "Bachelor of Science and Arts" + } + } +}
{+
"kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
"alg": "ES256"
}
{+
"_sd_alg": "sha-256",
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"issuer": "https://university.example/issuers/565049",
"validFrom": "2010-01-01T19:23:24Z",
"credentialSchema": {
"_sd": [
"Z4IZLcyee6yF2PfZOHqcFfhXkurXH5y14GqYDH5-naI",
"Zjfk3RHLP78_lTbazvlDxFXVUofQU_cbPDFak9GNmAI"
]
},
"credentialSubject": {
"degree": {
"name": "Bachelor of Science and Arts",
"_sd": [
"aP4fV89UO6Hx_Ewq-LuSb7sOt-6iwIPOJZldy2X7F5o"
]
},
"_sd": [
"RWcBRWI9im9zYtUCA_wCLGJJCrbU3I42wwjtMbxs1Ek"
]
},
"_sd": [
"AcTcsDArzaanoHcVbEUArQeT-o-4clcVvD2wIC8fVkU",
"hHusYvK_GfJA0A6h5lus_neDyv51Do6JD-s6Da-6k0I"
]
}
SHA-256 Hash: hHusYvK_GfJA0A6h5lus_neDyv51Do6JD-s6Da-6k0I
+Disclosure(s): WyJhWTJnUmxvRlBKcXY1d1g5RkJ6eG5RIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd
+Contents: [
"aY2gRloFPJqv5wX9FBzxnQ",
"id",
"http://university.example/credentials/1872"
]
SHA-256 Hash: AcTcsDArzaanoHcVbEUArQeT-o-4clcVvD2wIC8fVkU
+Disclosure(s): WyJxajNXNzEyWFY3ZHRwZEpEVk85QV9nIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d
+Contents: [
"qj3W712XV7dtpdJDVO9A_g",
"type",
[
"VerifiableCredential",
"ExampleAlumniCredential"
]
]
SHA-256 Hash: Z4IZLcyee6yF2PfZOHqcFfhXkurXH5y14GqYDH5-naI
+Disclosure(s): WyJRWDdLODZpUC1WeXZ2RzFaazAtSWV3IiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvZGVncmVlLmpzb24iXQ
+Contents: [
"QX7K86iP-VyvvG1Zk0-Iew",
"id",
"https://example.org/examples/degree.json"
]
SHA-256 Hash: Zjfk3RHLP78_lTbazvlDxFXVUofQU_cbPDFak9GNmAI
+Disclosure(s): WyJxYXc1Qm5ZQ19CNm5jb3JyNG1PTXFnIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd
+Contents: [
"qaw5BnYC_B6ncorr4mOMqg",
"type",
"JsonSchema"
]
SHA-256 Hash: RWcBRWI9im9zYtUCA_wCLGJJCrbU3I42wwjtMbxs1Ek
+Disclosure(s): WyJIamh2djlSZ29oOUlyblo1NjlrNjJBIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMyJd
+Contents: [
"Hjhvv9Rgoh9IrnZ569k62A",
"id",
"did:example:123"
]
SHA-256 Hash: aP4fV89UO6Hx_Ewq-LuSb7sOt-6iwIPOJZldy2X7F5o
+Disclosure(s): WyIxMVJVLTUtLXVuZkU5WVZucG1PTHVBIiwgInR5cGUiLCAiQmFjaGVsb3JEZWdyZWUiXQ
+Contents: [
"11RU-5--unfE9YVnpmOLuA",
"type",
"BachelorDegree"
]
+ See Verifiable Credentials Data Model v2.0 + for more details regarding this example. +
++ This section details how to use [SD-JWT] to secure + verifiable presentations conforming to [VC-DATA-MODEL-2.0]. +
++ A conforming SD-JWT issuer implementation MUST use [SD-JWT] to secure this media type. + The unsecured verifiable presentation is the unencoded [SD-JWT] payload. +
+
+ The typ
header parameter SHOULD be vp+sd-jwt
.
+ When present, the cty
header parameter SHOULD be vp
.
+ The cty
header parameter value can be used to differentiate
+ between secured content of different types when using vp+sd-jwt
.
+ See Registered Header Parameter Names
+ for additional details regarding usage of typ
and cty
.
+
+ A conforming SD-JWT verifier implementation MUST use [SD-JWT] + to verify conforming JWS documents that use this media type. +
++ Verifiable Credentials secured in + verifiable presentations + MUST use the + Enveloped Verifiable Credential + type defined by the [VC-DATA-MODEL-2.0]. +
++ Verifiable Presentations in + verifiable presentations + MUST use the + Enveloped Verifiable Presentation + type defined by the [VC-DATA-MODEL-2.0]. +
++ Credentials in verifiable presentations MUST be secured. + These credentials are secured using SD-JWT in this case. +
+
+ When securing verifiable presentations with [SD-JWT]
+ implementers SHOULD ensure that properties necessary for the
+ validation and verification of a credential are NOT selectively
+ disclosable (i.e., such properties SHOULD be disclosed).
+ These properties can include but are not limited to
+ @context
,
+ type
,
+ credentialStatus
,
+ credentialSchema
,
+ and relatedResource
.
+
+ To encrypt a secured verifiable presentation when transmitting + over an insecure channel, implementers MAY use + JSON Web Encryption (JWE) [RFC7516] by nesting the secured + verifiable presentation as the plaintext payload of a JWE, + per the instructions in Section 11.2 of [SD-JWT]. +
+{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "type": "VerifiablePresentation", + "verifiableCredential": [{ + "@context": "https://www.w3.org/ns/credentials/v2", + "type": "EnvelopedVerifiableCredential", + "id": "data:application/vc+sd-jwt,eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ.eyJfc2RfYWxnIjoic2hhLTI1NiIsIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzU2NTA0OSIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFNjaGVtYSI6eyJfc2QiOlsiNjVFLVZZbmE3UE5mSGVsUDN6THFwcE5ERXhSLWhjWkhSTnlxN2U0ZVdabyIsIjhJbEwtUGx4Ukt3S0hLaTMtTXhXMjM4d0FkTmQ0NHdabC1iY3NBc2JIQjAiXX0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImRlZ3JlZSI6eyJuYW1lIjoiQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyIsIl9zZCI6WyJMVXhqcWtsWS1hdDVSVmFoSXpxM3NJZ015dkdwVDlwdlUwdTRyU2ktMXl3Il19LCJfc2QiOlsiVmxZLW50ZklPOUI5RGRsUWp5U2REMldoVWI0bjc3Zl9HWDZ2U1dLQWpCNCJdfSwiX3NkIjpbIi1iREZ4Um94UUVlcEdjZFl6a250aTVGWXBsUTU5N0djaEdUTGVtLVJSY1UiLCJfREFVZ0xrTF9zVkVtLTBvcE8zaWhpeVFhS0ZzT08xUl9ONk1CUmprOWhFIl19.Kc083RKbBxc3Vr5qR3iEEPp3dKxTa6sPaWNsqtkIw8TvMRf9EZL2ajtgkWSBYzyzOzawOrCXryyp4rMTyI9vfA ~WyJiQ1RTaU9HNUo1VXhPY1QwUlNfd01nIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJTclNWMS01SjR6cWhOU3N3STIwaHdRIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyJKX294dDhtUGUtaDl4MkQzc29uT1N3IiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvZGVncmVlLmpzb24iXQ~WyJDMlpWektmZ185RUh1ajB2S1ExdWJnIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyJ6Szd5QlFPbFhfX2Q0X0VoYUc0Y0pRIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMyJd~WyJ6b1pzRzMzeXBMeVRGMm9aS3ZmMVFnIiwgInR5cGUiLCAiQmFjaGVsb3JEZWdyZWUiXQ~" + }] +}
{+
"kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
"alg": "ES256"
}
{+
"_sd_alg": "sha-256",
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"verifiableCredential": [
{
"@context": "https://www.w3.org/ns/credentials/v2",
"_sd": [
"OQJiXYSU8pulGLavsOvDOxtaYbtEVAUCmyompwz9TDQ",
"flNWppyMjR0fWg1aY9ENbspOPWZktywpgDb3nYoDZGs"
]
}
],
"_sd": [
"6Y1mWxIFyvcNGYJLOr09bnxytj55-gUfdAEfndR7TjQ"
]
}
SHA-256 Hash: 6Y1mWxIFyvcNGYJLOr09bnxytj55-gUfdAEfndR7TjQ
+Disclosure(s): WyJMa2diYUw0QXF2TUpqU2dlY3pJcVRBIiwgInR5cGUiLCAiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd
+Contents: [
"LkgbaL4AqvMJjSgeczIqTA",
"type",
"VerifiablePresentation"
]
SHA-256 Hash: OQJiXYSU8pulGLavsOvDOxtaYbtEVAUCmyompwz9TDQ
+Disclosure(s): WyJ3dmNYU0toY2ZIcEtXVFk3UEZZZjBnIiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZUNyZWRlbnRpYWwiXQ
+Contents: [
"wvcXSKhcfHpKWTY7PFYf0g",
"type",
"EnvelopedVerifiableCredential"
]
SHA-256 Hash: flNWppyMjR0fWg1aY9ENbspOPWZktywpgDb3nYoDZGs
+Disclosure(s): WyJRTm5rbXV0V3Y2TW90aUNnemZyZG1RIiwgImlkIiwgImRhdGE6YXBwbGljYXRpb24vdmMrc2Qtand0LCBleUpyYVdRaU9pSkZlRWhyUWsxWE9XWnRZbXQyVmpJMk5tMVNjSFZRTW5OVldWOU9YMFZYU1U0eGJHRndWWHBQT0hKdklpd2lZV3huSWpvaVJWTXlOVFlpZlEuZXlKZmMyUmZZV3huSWpvaWMyaGhMVEkxTmlJc0lrQmpiMjUwWlhoMElqcGJJbWgwZEhCek9pOHZkM2QzTG5jekxtOXlaeTl1Y3k5amNtVmtaVzUwYVdGc2N5OTJNaUlzSW1oMGRIQnpPaTh2ZDNkM0xuY3pMbTl5Wnk5dWN5OWpjbVZrWlc1MGFXRnNjeTlsZUdGdGNHeGxjeTkyTWlKZExDSnBjM04xWlhJaU9pSm9kSFJ3Y3pvdkwzVnVhWFpsY25OcGRIa3VaWGhoYlhCc1pTOXBjM04xWlhKekx6VTJOVEEwT1NJc0luWmhiR2xrUm5KdmJTSTZJakl3TVRBdE1ERXRNREZVTVRrNk1qTTZNalJhSWl3aVkzSmxaR1Z1ZEdsaGJGTmphR1Z0WVNJNmV5SmZjMlFpT2xzaU5qVkZMVlpaYm1FM1VFNW1TR1ZzVURONlRIRndjRTVFUlhoU0xXaGpXa2hTVG5seE4yVTBaVmRhYnlJc0lqaEpiRXd0VUd4NFVrdDNTMGhMYVRNdFRYaFhNak00ZDBGa1RtUTBOSGRhYkMxaVkzTkJjMkpJUWpBaVhYMHNJbU55WldSbGJuUnBZV3hUZFdKcVpXTjBJanA3SW1SbFozSmxaU0k2ZXlKdVlXMWxJam9pUW1GamFHVnNiM0lnYjJZZ1UyTnBaVzVqWlNCaGJtUWdRWEowY3lJc0lsOXpaQ0k2V3lKTVZYaHFjV3RzV1MxaGREVlNWbUZvU1hweE0zTkpaMDE1ZGtkd1ZEbHdkbFV3ZFRSeVUya3RNWGwzSWwxOUxDSmZjMlFpT2xzaVZteFpMVzUwWmtsUE9VSTVSR1JzVVdwNVUyUkVNbGRvVldJMGJqYzNabDlIV0RaMlUxZExRV3BDTkNKZGZTd2lYM05rSWpwYklpMWlSRVo0VW05NFVVVmxjRWRqWkZsNmEyNTBhVFZHV1hCc1VUVTVOMGRqYUVkVVRHVnRMVkpTWTFVaUxDSmZSRUZWWjB4clRGOXpWa1Z0TFRCdmNFOHphV2hwZVZGaFMwWnpUMDh4VWw5T05rMUNVbXByT1doRklsMTkuS2MwODNSS2JCeGMzVnI1cVIzaUVFUHAzZEt4VGE2c1BhV05zcXRrSXc4VHZNUmY5RVpMMmFqdGdrV1NCWXp5ek96YXdPckNYcnl5cDRyTVR5STl2ZkEgfld5SmlRMVJUYVU5SE5VbzFWWGhQWTFRd1VsTmZkMDFuSWl3Z0ltbGtJaXdnSW1oMGRIQTZMeTkxYm1sMlpYSnphWFI1TG1WNFlXMXdiR1V2WTNKbFpHVnVkR2xoYkhNdk1UZzNNaUpkfld5SlRjbE5XTVMwMVNqUjZjV2hPVTNOM1NUSXdhSGRSSWl3Z0luUjVjR1VpTENCYklsWmxjbWxtYVdGaWJHVkRjbVZrWlc1MGFXRnNJaXdnSWtWNFlXMXdiR1ZCYkhWdGJtbERjbVZrWlc1MGFXRnNJbDFkfld5SktYMjk0ZERodFVHVXRhRGw0TWtRemMyOXVUMU4zSWl3Z0ltbGtJaXdnSW1oMGRIQnpPaTh2WlhoaGJYQnNaUzV2Y21jdlpYaGhiWEJzWlhNdlpHVm5jbVZsTG1wemIyNGlYUX5XeUpETWxwV2VrdG1aMTg1UlVoMWFqQjJTMUV4ZFdKbklpd2dJblI1Y0dVaUxDQWlTbk52YmxOamFHVnRZU0pkfld5SjZTemQ1UWxGUGJGaGZYMlEwWDBWb1lVYzBZMHBSSWl3Z0ltbGtJaXdnSW1ScFpEcGxlR0Z0Y0d4bE9qRXlNeUpkfld5SjZiMXB6UnpNemVYQk1lVlJHTW05YVMzWm1NVkZuSWl3Z0luUjVjR1VpTENBaVFtRmphR1ZzYjNKRVpXZHlaV1VpWFF-Il0
+Contents: [
"QNnkmutWv6MotiCgzfrdmQ",
"id",
"data:application/vc+sd-jwt, eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ.eyJfc2RfYWxnIjoic2hhLTI1NiIsIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzU2NTA0OSIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFNjaGVtYSI6eyJfc2QiOlsiNjVFLVZZbmE3UE5mSGVsUDN6THFwcE5ERXhSLWhjWkhSTnlxN2U0ZVdabyIsIjhJbEwtUGx4Ukt3S0hLaTMtTXhXMjM4d0FkTmQ0NHdabC1iY3NBc2JIQjAiXX0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImRlZ3JlZSI6eyJuYW1lIjoiQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyIsIl9zZCI6WyJMVXhqcWtsWS1hdDVSVmFoSXpxM3NJZ015dkdwVDlwdlUwdTRyU2ktMXl3Il19LCJfc2QiOlsiVmxZLW50ZklPOUI5RGRsUWp5U2REMldoVWI0bjc3Zl9HWDZ2U1dLQWpCNCJdfSwiX3NkIjpbIi1iREZ4Um94UUVlcEdjZFl6a250aTVGWXBsUTU5N0djaEdUTGVtLVJSY1UiLCJfREFVZ0xrTF9zVkVtLTBvcE8zaWhpeVFhS0ZzT08xUl9ONk1CUmprOWhFIl19.Kc083RKbBxc3Vr5qR3iEEPp3dKxTa6sPaWNsqtkIw8TvMRf9EZL2ajtgkWSBYzyzOzawOrCXryyp4rMTyI9vfA ~WyJiQ1RTaU9HNUo1VXhPY1QwUlNfd01nIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJTclNWMS01SjR6cWhOU3N3STIwaHdRIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyJKX294dDhtUGUtaDl4MkQzc29uT1N3IiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvZGVncmVlLmpzb24iXQ~WyJDMlpWektmZ185RUh1ajB2S1ExdWJnIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyJ6Szd5QlFPbFhfX2Q0X0VoYUc0Y0pRIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMyJd~WyJ6b1pzRzMzeXBMeVRGMm9aS3ZmMVFnIiwgInR5cGUiLCAiQmFjaGVsb3JEZWdyZWUiXQ~"
]
+ See Verifiable Credentials Data Model v2.0 + for more details regarding this example. +
+{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "type": "EnvelopedVerifiablePresentation", + "id": "data:application/vp+sd-jwt,eyJhbGciOiJFUzM4NCIsImtpZCI6IlVRTV9fblE0UzZCTzhuUTRuT05YeHB4aHRob3lOeGI1M0xZZ1l6LTJBQnMiLCJ0eXAiOiJ2cCtsZCtqc29uK3NkLWp3dCIsImN0eSI6InZwK2xkK2pzb24ifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwidmVyaWZpYWJsZUNyZWRlbnRpYWwiOlt7IkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzU2NTA0OSIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiYWx1bW5pT2YiOnsibmFtZSI6IkV4YW1wbGUgVW5pdmVyc2l0eSIsIl9zZCI6WyJoek9LRzU2cDI5c1ByTGFDNUE4RndFdUczVU05dUlZU1p1cU9YczJlVGJBIl19LCJfc2QiOlsiWVdXVmVDRndxQmk4WDBqSF9jV0NWWU16STNhOHBjTEVYRWZicFNSQVlndyJdfSwiX3NkIjpbIjJJZjhhaUs4REZwVWJ4dEc1cGMwel9SaFJzbm1ybGFRMEhzcTk4WFNyYWsiLCJUeDZ4ZWZMVUdUZUpfYWtVUFdGeHNvbUhobGtWVnpfNzVoaVZ6eWpyYmVzIl19XSwiX3NkIjpbIjd2anl0VVN3ZEJ0MXQ5RktlOVFfS3JIRXhFWGxrTEFaTzBKM0Jpd200dlkiXSwiX3NkX2FsZyI6InNoYS0yNTYiLCJpYXQiOjE3MDY1NjI4NDksImV4cCI6MTczODE4NTI0OSwiY25mIjp7Imp3ayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMzg0IiwiYWxnIjoiRVMzODQiLCJ4IjoidWtEd1U2ZzlQUVRFUWhYaEgyckRZNndMQlg3UHFlUjZBcGlhVHBEUXowcl8tdDl6UXNxem54Z0hEcE5oekZlQyIsInkiOiJMQnhVYnBVdFNGMVVKVTVpYnJIdkpINjBUSG5YMk1xa0xHZGltU1l0UGR4RlkxOEdhcldiS3FZV0djUkZHVE9BIn19fQ.kYD63YtBNYnLUTw6Szf1vs_Ug3UBXhPwCyqpNmPnPDa3rXZQhQLdB1BgaoO8zgQ-c3B41fxaXMnLHYV9-B20uboSpJP0B-2Vre917eQt1cSDswDGA_Ytvn4BSqYVBB2J~WyJFMkFsRzhsY2p0QVFrcllIbjlIbnVRIiwgInR5cGUiLCAiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd~WyI5NldYMDRneno4cVZzOVZLU2wwYTVnIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJaekU2VFVaamtHMW1DWXBKMEhnc0l3IiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyItQ3NsS25GZGFYb2JiQWsyU0JBVGR3IiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd~WyJuRm1OWl9IczB3WWNoOFdkeTdnQUNRIiwgImlkIiwgImRpZDpleGFtcGxlOmMyNzZlMTJlYzIxZWJmZWIxZjcxMmViYzZmMSJd~" +}
{+
"kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
"alg": "ES256"
}
{+
"_sd_alg": "sha-256",
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"_sd": [
"OItIARDDn0cJiYy4VWTnbcUdDLi7VhEPWOXj4ig3JIk",
"dMndHnWpzo9rtHxT6OWjpDFqE0MOx7Sk6pbAHr64MF4"
]
}
SHA-256 Hash: dMndHnWpzo9rtHxT6OWjpDFqE0MOx7Sk6pbAHr64MF4
+Disclosure(s): WyJNYW9VeUlLUjh2MnJGWFliRzR4akR3IiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd
+Contents: [
"MaoUyIKR8v2rFXYbG4xjDw",
"type",
"EnvelopedVerifiablePresentation"
]
SHA-256 Hash: OItIARDDn0cJiYy4VWTnbcUdDLi7VhEPWOXj4ig3JIk
+Disclosure(s): WyJSaWp3S1FiY3dnZWk2bjhBZ0swME5RIiwgImlkIiwgImRhdGE6YXBwbGljYXRpb24vdnArc2Qtand0LCBleUpoYkdjaU9pSkZVek00TkNJc0ltdHBaQ0k2SWxWUlRWOWZibEUwVXpaQ1R6aHVVVFJ1VDA1WWVIQjRhSFJvYjNsT2VHSTFNMHhaWjFsNkxUSkJRbk1pTENKMGVYQWlPaUoyY0N0c1pDdHFjMjl1SzNOa0xXcDNkQ0lzSW1OMGVTSTZJblp3SzJ4a0sycHpiMjRpZlEuZXlKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3Zibk12WTNKbFpHVnVkR2xoYkhNdmRqSWlMQ0pvZEhSd2N6b3ZMM2QzZHk1M015NXZjbWN2Ym5NdlkzSmxaR1Z1ZEdsaGJITXZaWGhoYlhCc1pYTXZkaklpWFN3aWRtVnlhV1pwWVdKc1pVTnlaV1JsYm5ScFlXd2lPbHQ3SWtCamIyNTBaWGgwSWpwYkltaDBkSEJ6T2k4dmQzZDNMbmN6TG05eVp5OXVjeTlqY21Wa1pXNTBhV0ZzY3k5Mk1pSXNJbWgwZEhCek9pOHZkM2QzTG5jekxtOXlaeTl1Y3k5amNtVmtaVzUwYVdGc2N5OWxlR0Z0Y0d4bGN5OTJNaUpkTENKcGMzTjFaWElpT2lKb2RIUndjem92TDNWdWFYWmxjbk5wZEhrdVpYaGhiWEJzWlM5cGMzTjFaWEp6THpVMk5UQTBPU0lzSW5aaGJHbGtSbkp2YlNJNklqSXdNVEF0TURFdE1ERlVNVGs2TWpNNk1qUmFJaXdpWTNKbFpHVnVkR2xoYkZOMVltcGxZM1FpT25zaVlXeDFiVzVwVDJZaU9uc2libUZ0WlNJNklrVjRZVzF3YkdVZ1ZXNXBkbVZ5YzJsMGVTSXNJbDl6WkNJNld5Sm9lazlMUnpVMmNESTVjMUJ5VEdGRE5VRTRSbmRGZFVjelZVMDVkVWxaVTFwMWNVOVljekpsVkdKQklsMTlMQ0pmYzJRaU9sc2lXVmRYVm1WRFJuZHhRbWs0V0RCcVNGOWpWME5XV1UxNlNUTmhPSEJqVEVWWVJXWmljRk5TUVZsbmR5SmRmU3dpWDNOa0lqcGJJakpKWmpoaGFVczRSRVp3VldKNGRFYzFjR013ZWw5U2FGSnpibTF5YkdGUk1FaHpjVGs0V0ZOeVlXc2lMQ0pVZURaNFpXWk1WVWRVWlVwZllXdFZVRmRHZUhOdmJVaG9iR3RXVm5wZk56Vm9hVlo2ZVdweVltVnpJbDE5WFN3aVgzTmtJanBiSWpkMmFubDBWVk4zWkVKME1YUTVSa3RsT1ZGZlMzSklSWGhGV0d4clRFRmFUekJLTTBKcGQyMDBkbGtpWFN3aVgzTmtYMkZzWnlJNkluTm9ZUzB5TlRZaUxDSnBZWFFpT2pFM01EWTFOakk0TkRrc0ltVjRjQ0k2TVRjek9ERTROVEkwT1N3aVkyNW1JanA3SW1wM2F5STZleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TXpnMElpd2lZV3huSWpvaVJWTXpPRFFpTENKNElqb2lkV3RFZDFVMlp6bFFVVlJGVVdoWWFFZ3lja1JaTm5kTVFsZzNVSEZsVWpaQmNHbGhWSEJFVVhvd2NsOHRkRGw2VVhOeGVtNTRaMGhFY0U1b2VrWmxReUlzSW5raU9pSk1RbmhWWW5CVmRGTkdNVlZLVlRWcFluSklka3BJTmpCVVNHNVlNazF4YTB4SFpHbHRVMWwwVUdSNFJsa3hPRWRoY2xkaVMzRlpWMGRqVWtaSFZFOUJJbjE5ZlEua1lENjNZdEJOWW5MVVR3NlN6ZjF2c19VZzNVQlhoUHdDeXFwTm1QblBEYTNyWFpRaFFMZEIxQmdhb084emdRLWMzQjQxZnhhWE1uTEhZVjktQjIwdWJvU3BKUDBCLTJWcmU5MTdlUXQxY1NEc3dER0FfWXR2bjRCU3FZVkJCMkp-V3lKRk1rRnNSemhzWTJwMFFWRnJjbGxJYmpsSWJuVlJJaXdnSW5SNWNHVWlMQ0FpVm1WeWFXWnBZV0pzWlZCeVpYTmxiblJoZEdsdmJpSmR-V3lJNU5sZFlNRFJuZW5vNGNWWnpPVlpMVTJ3d1lUVm5JaXdnSW1sa0lpd2dJbWgwZEhBNkx5OTFibWwyWlhKemFYUjVMbVY0WVcxd2JHVXZZM0psWkdWdWRHbGhiSE12TVRnM01pSmR-V3lKYWVrVTJWRlZhYW10SE1XMURXWEJLTUVobmMwbDNJaXdnSW5SNWNHVWlMQ0JiSWxabGNtbG1hV0ZpYkdWRGNtVmtaVzUwYVdGc0lpd2dJa1Y0WVcxd2JHVkJiSFZ0Ym1sRGNtVmtaVzUwYVdGc0lsMWR-V3lJdFEzTnNTMjVHWkdGWWIySmlRV3N5VTBKQlZHUjNJaXdnSW1sa0lpd2dJbVJwWkRwbGVHRnRjR3hsT21WaVptVmlNV1kzTVRKbFltTTJaakZqTWpjMlpURXlaV015TVNKZH5XeUp1Um0xT1dsOUljekIzV1dOb09GZGtlVGRuUVVOUklpd2dJbWxrSWl3Z0ltUnBaRHBsZUdGdGNHeGxPbU15TnpabE1USmxZekl4WldKbVpXSXhaamN4TW1WaVl6Wm1NU0pkfiJd
+Contents: [
"RijwKQbcwgei6n8AgK00NQ",
"id",
"data:application/vp+sd-jwt, eyJhbGciOiJFUzM4NCIsImtpZCI6IlVRTV9fblE0UzZCTzhuUTRuT05YeHB4aHRob3lOeGI1M0xZZ1l6LTJBQnMiLCJ0eXAiOiJ2cCtsZCtqc29uK3NkLWp3dCIsImN0eSI6InZwK2xkK2pzb24ifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwidmVyaWZpYWJsZUNyZWRlbnRpYWwiOlt7IkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzU2NTA0OSIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiYWx1bW5pT2YiOnsibmFtZSI6IkV4YW1wbGUgVW5pdmVyc2l0eSIsIl9zZCI6WyJoek9LRzU2cDI5c1ByTGFDNUE4RndFdUczVU05dUlZU1p1cU9YczJlVGJBIl19LCJfc2QiOlsiWVdXVmVDRndxQmk4WDBqSF9jV0NWWU16STNhOHBjTEVYRWZicFNSQVlndyJdfSwiX3NkIjpbIjJJZjhhaUs4REZwVWJ4dEc1cGMwel9SaFJzbm1ybGFRMEhzcTk4WFNyYWsiLCJUeDZ4ZWZMVUdUZUpfYWtVUFdGeHNvbUhobGtWVnpfNzVoaVZ6eWpyYmVzIl19XSwiX3NkIjpbIjd2anl0VVN3ZEJ0MXQ5RktlOVFfS3JIRXhFWGxrTEFaTzBKM0Jpd200dlkiXSwiX3NkX2FsZyI6InNoYS0yNTYiLCJpYXQiOjE3MDY1NjI4NDksImV4cCI6MTczODE4NTI0OSwiY25mIjp7Imp3ayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMzg0IiwiYWxnIjoiRVMzODQiLCJ4IjoidWtEd1U2ZzlQUVRFUWhYaEgyckRZNndMQlg3UHFlUjZBcGlhVHBEUXowcl8tdDl6UXNxem54Z0hEcE5oekZlQyIsInkiOiJMQnhVYnBVdFNGMVVKVTVpYnJIdkpINjBUSG5YMk1xa0xHZGltU1l0UGR4RlkxOEdhcldiS3FZV0djUkZHVE9BIn19fQ.kYD63YtBNYnLUTw6Szf1vs_Ug3UBXhPwCyqpNmPnPDa3rXZQhQLdB1BgaoO8zgQ-c3B41fxaXMnLHYV9-B20uboSpJP0B-2Vre917eQt1cSDswDGA_Ytvn4BSqYVBB2J~WyJFMkFsRzhsY2p0QVFrcllIbjlIbnVRIiwgInR5cGUiLCAiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd~WyI5NldYMDRneno4cVZzOVZLU2wwYTVnIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJaekU2VFVaamtHMW1DWXBKMEhnc0l3IiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyItQ3NsS25GZGFYb2JiQWsyU0JBVGR3IiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd~WyJuRm1OWl9IczB3WWNoOFdkeTdnQUNRIiwgImlkIiwgImRpZDpleGFtcGxlOmMyNzZlMTJlYzIxZWJmZWIxZjcxMmViYzZmMSJd~"
]
+ See Verifiable Credentials Data Model v2.0 + for more details regarding this example. +
+
+ Implementations MUST support the compact serialization
+ (application/sd-jwt
) and MAY support the JSON
+ serialization (application/sd-jwt+json
).
+ If the JSON serialization is used, it is RECOMMENDED that a profile
+ be defined to ensure any additional JSON members are understood consistently.
+
+ COSE [RFC9052] is a common approach to encoding and securing + information using CBOR [RFC8949]. + Verifiable credentials MAY be secured using COSE [RFC9052] and + SHOULD be identified through use of content types as outlined in this section. +
++ This section details how to use COSE to secure + verifiable credentials conforming to [VC-DATA-MODEL-2.0]. +
++ A conforming COSE issuer implementation MUST use COSE_Sign1 as + specified in [RFC9052] to secure this media type. + The unsecured verifiable credential is the unencoded COSE_Sign1 payload. +
+
+ The typ
header parameter, as described in
+ COSE "typ" (type) Header Parameter,
+ SHOULD be application/vc+cose
.
+ When present, the content type (3)
header parameter
+ SHOULD be application/vc
.
+ The content type (3)
header parameter value can be used
+ to differentiate between secured content of different types when using
+ application/vc+cose
.
+ See Common COSE Header Parameters
+ for additional details.
+
+ A conforming COSE verifier implementation MUST use COSE_Sign1 as + specified in [RFC9052] to verify conforming COSE documents + that use this media type. +
++ When including verifiable credentials secured with COSE in + verifiable presentations as + Enveloped Verifiable Credentials, + the credentials MUST be encoded using base64 as specified in [RFC2397]. +
++ To encrypt a secured verifiable credential when transmitting + over an insecure channel, implementers MAY use COSE encryption, + as defined in Section 5 of [RFC9052], by nesting the secured + verifiable credential as the plaintext payload of an encrypted + COSE object. +
+{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "id": "http://university.example/credentials/1872", + "type": [ + "VerifiableCredential", + "ExampleAlumniCredential" + ], + "issuer": "https://university.example/issuers/565049", + "validFrom": "2010-01-01T19:23:24Z", + "credentialSchema": { + "id": "https://example.org/examples/degree.json", + "type": "JsonSchema" + }, + "credentialSubject": { + "id": "did:example:123", + "degree": { + "type": "BachelorDegree", + "name": "Bachelor of Science and Arts" + } + } +}
{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "id": "http://university.example/credentials/1872", + "type": [ + "VerifiableCredential", + "ExampleAlumniCredential" + ], + "issuer": "https://university.example/issuers/565049", + "validFrom": "2010-01-01T19:23:24Z", + "credentialSchema": { + "id": "https://example.org/examples/degree.json", + "type": "JsonSchema" + }, + "credentialSubject": { + "id": "did:example:123", + "degree": { + "type": "BachelorDegree", + "name": "Bachelor of Science and Arts" + } + } +} ++application/cbor-diagnostic +
/ cose-sign1 / 18([
+ / protected / << {
+ / alg / 1 : -35 / ES384 /
+ } >>,
+ / unprotected / {
+ },
+ / payload / h'7b224063...227d7d7d',
+ / signature / h'4f66977a...60bdc0e3'
+])
++ See Verifiable Credentials Data Model v2.0 + for more details regarding this example. +
++ This section details how to use COSE to secure + verifiable presentations conforming to [VC-DATA-MODEL-2.0]. +
++ A conforming COSE issuer implementation MUST use COSE_Sign1 as + specified in [RFC9052] to secure this media type. + The unsecured verifiable presentation is the unencoded COSE_Sign1 payload. +
+
+ The typ
header parameter SHOULD be application/vp+cose
.
+ When present, the content type (3)
header parameter SHOULD be application/vp
.
+ The content type (3)
header parameter value can be used to differentiate
+ between secured content of different types when using application/vp+cose
.
+ See Common COSE Header Parameters
+ for additional details.
+
+ A conforming COSE verifier implementation MUST use COSE_Sign1 as + specified in [RFC9052] to verify conforming COSE documents + that use this media type. +
++ Verifiable Credentials secured in + verifiable presentations + MUST use the + Enveloped Verifiable Credential + type defined by the [VC-DATA-MODEL-2.0]. +
++ Verifiable Presentations in + verifiable presentations + MUST use the + Enveloped Verifiable Presentation + type defined by the [VC-DATA-MODEL-2.0]. +
++ Credentials in verifiable presentations MUST be secured. + These credentials are secured using COSE in this case. +
+
+ To encrypt a secured verifiable presentation when transmitting + over an insecure channel, implementers MAY use COSE encryption, + as defined in Section 5 of [RFC9052], by nesting the secured + verifiable presentation as the plaintext payload of an encrypted + COSE object. +
+{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "type": "VerifiablePresentation", + "verifiableCredential": [{ + "@context": "https://www.w3.org/ns/credentials/v2", + "type": "EnvelopedVerifiableCredential", + "id": "data:application/vc+sd-jwt,eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ.eyJfc2RfYWxnIjoic2hhLTI1NiIsIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzU2NTA0OSIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFNjaGVtYSI6eyJfc2QiOlsiNWJBeDMteHBmQWxVS0ZJOXNuM2hWQ21wR2trcUlzWmMzLUxiMzNmWmpiayIsIlpjQXZIMDhsdEJySUpmSWh0OF9tS1BfYzNscG5YMWNHclltVG8wZ1lCeTgiXX0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImRlZ3JlZSI6eyJuYW1lIjoiQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyIsIl9zZCI6WyJST1Q3MUl0dTNMNlVXWFVqby1oWVdJQjY3bHVPTkVEUlNCaGxEVENxVU9RIl19LCJfc2QiOlsiTUVuZXNnMlhPUk5jY3NCTWVaXzE2MDJneTQwUi00WUJ2VlIweFE4b0Y4YyJdfSwiX3NkIjpbIkVlc2Jiay1mcGZwd2ZMOXdOczFxcjZ0aU43ZnEtSXQzWVM2V3ZCbl9iWG8iLCJab1I1ZGRhckdtZk15NEhuV0xVak5URnFURjNYRjZpdFBnZnlGQkhVX3FVIl19.gw3paxbkLjpi8CTsyRpXKbC7tpVa0q2sWKSD-_dcbuZ1LpZV3oQ8Ifzcm2bE8RY3fmJgbuyA9gbPL3sQBaTzkg ~WyJSeUQxVlB4VHBvbmtPeXZpczkta293IiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJfVjd1eTd3ay1RM3VZd2ZpZ0NvWUVBIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyJhazdqMTlnYVMtRDJLX2hzY3RVZGNRIiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvZGVncmVlLmpzb24iXQ~WyJUTjBXaXVZRkhXWkV2ZDZIQUJHQS1nIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyJVMnBzMkxYVERVbVh3MDcxRVBmRUpnIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMyJd~WyJsQ042eTNEaTNDUk9VX3JuXzRENWRnIiwgInR5cGUiLCAiQmFjaGVsb3JEZWdyZWUiXQ~" + }] +}
{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "type": "VerifiablePresentation", + "verifiableCredential": [ + { + "@context": "https://www.w3.org/ns/credentials/v2", + "id": "data:application/vc+sd-jwt,eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ.eyJfc2RfYWxnIjoic2hhLTI1NiIsIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzU2NTA0OSIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFNjaGVtYSI6eyJfc2QiOlsiNWJBeDMteHBmQWxVS0ZJOXNuM2hWQ21wR2trcUlzWmMzLUxiMzNmWmpiayIsIlpjQXZIMDhsdEJySUpmSWh0OF9tS1BfYzNscG5YMWNHclltVG8wZ1lCeTgiXX0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImRlZ3JlZSI6eyJuYW1lIjoiQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyIsIl9zZCI6WyJST1Q3MUl0dTNMNlVXWFVqby1oWVdJQjY3bHVPTkVEUlNCaGxEVENxVU9RIl19LCJfc2QiOlsiTUVuZXNnMlhPUk5jY3NCTWVaXzE2MDJneTQwUi00WUJ2VlIweFE4b0Y4YyJdfSwiX3NkIjpbIkVlc2Jiay1mcGZwd2ZMOXdOczFxcjZ0aU43ZnEtSXQzWVM2V3ZCbl9iWG8iLCJab1I1ZGRhckdtZk15NEhuV0xVak5URnFURjNYRjZpdFBnZnlGQkhVX3FVIl19.gw3paxbkLjpi8CTsyRpXKbC7tpVa0q2sWKSD-_dcbuZ1LpZV3oQ8Ifzcm2bE8RY3fmJgbuyA9gbPL3sQBaTzkg ~WyJSeUQxVlB4VHBvbmtPeXZpczkta293IiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJfVjd1eTd3ay1RM3VZd2ZpZ0NvWUVBIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyJhazdqMTlnYVMtRDJLX2hzY3RVZGNRIiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvZGVncmVlLmpzb24iXQ~WyJUTjBXaXVZRkhXWkV2ZDZIQUJHQS1nIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyJVMnBzMkxYVERVbVh3MDcxRVBmRUpnIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMyJd~WyJsQ042eTNEaTNDUk9VX3JuXzRENWRnIiwgInR5cGUiLCAiQmFjaGVsb3JEZWdyZWUiXQ~;data:application/vc+sd-jwt,eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ.eyJfc2RfYWxnIjoic2hhLTI1NiIsIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzU2NTA0OSIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFNjaGVtYSI6eyJfc2QiOlsiNWJBeDMteHBmQWxVS0ZJOXNuM2hWQ21wR2trcUlzWmMzLUxiMzNmWmpiayIsIlpjQXZIMDhsdEJySUpmSWh0OF9tS1BfYzNscG5YMWNHclltVG8wZ1lCeTgiXX0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImRlZ3JlZSI6eyJuYW1lIjoiQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyIsIl9zZCI6WyJST1Q3MUl0dTNMNlVXWFVqby1oWVdJQjY3bHVPTkVEUlNCaGxEVENxVU9RIl19LCJfc2QiOlsiTUVuZXNnMlhPUk5jY3NCTWVaXzE2MDJneTQwUi00WUJ2VlIweFE4b0Y4YyJdfSwiX3NkIjpbIkVlc2Jiay1mcGZwd2ZMOXdOczFxcjZ0aU43ZnEtSXQzWVM2V3ZCbl9iWG8iLCJab1I1ZGRhckdtZk15NEhuV0xVak5URnFURjNYRjZpdFBnZnlGQkhVX3FVIl19.gw3paxbkLjpi8CTsyRpXKbC7tpVa0q2sWKSD-_dcbuZ1LpZV3oQ8Ifzcm2bE8RY3fmJgbuyA9gbPL3sQBaTzkg ~WyJSeUQxVlB4VHBvbmtPeXZpczkta293IiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJfVjd1eTd3ay1RM3VZd2ZpZ0NvWUVBIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyJhazdqMTlnYVMtRDJLX2hzY3RVZGNRIiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvZGVncmVlLmpzb24iXQ~WyJUTjBXaXVZRkhXWkV2ZDZIQUJHQS1nIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyJVMnBzMkxYVERVbVh3MDcxRVBmRUpnIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMyJd~WyJsQ042eTNEaTNDUk9VX3JuXzRENWRnIiwgInR5cGUiLCAiQmFjaGVsb3JEZWdyZWUiXQ~", + "type": "EnvelopedVerifiableCredential" + } + ] +} ++application/cbor-diagnostic +
/ cose-sign1 / 18([
+ / protected / << {
+ / alg / 1 : -35 / ES384 /
+ } >>,
+ / unprotected / {
+ },
+ / payload / h'7b224063...227d5d7d',
+ / signature / h'9a17f16d...9e319d20'
+])
++ See Verifiable Credentials Data Model v2.0 for more + details regarding this example. +
+{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "type": "EnvelopedVerifiablePresentation", + "id": "data:application/vp+sd-jwt,eyJhbGciOiJFUzM4NCIsImtpZCI6IlVRTV9fblE0UzZCTzhuUTRuT05YeHB4aHRob3lOeGI1M0xZZ1l6LTJBQnMiLCJ0eXAiOiJ2cCtsZCtqc29uK3NkLWp3dCIsImN0eSI6InZwK2xkK2pzb24ifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwidmVyaWZpYWJsZUNyZWRlbnRpYWwiOlt7IkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzU2NTA0OSIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiYWx1bW5pT2YiOnsibmFtZSI6IkV4YW1wbGUgVW5pdmVyc2l0eSIsIl9zZCI6WyJoek9LRzU2cDI5c1ByTGFDNUE4RndFdUczVU05dUlZU1p1cU9YczJlVGJBIl19LCJfc2QiOlsiWVdXVmVDRndxQmk4WDBqSF9jV0NWWU16STNhOHBjTEVYRWZicFNSQVlndyJdfSwiX3NkIjpbIjJJZjhhaUs4REZwVWJ4dEc1cGMwel9SaFJzbm1ybGFRMEhzcTk4WFNyYWsiLCJUeDZ4ZWZMVUdUZUpfYWtVUFdGeHNvbUhobGtWVnpfNzVoaVZ6eWpyYmVzIl19XSwiX3NkIjpbIjd2anl0VVN3ZEJ0MXQ5RktlOVFfS3JIRXhFWGxrTEFaTzBKM0Jpd200dlkiXSwiX3NkX2FsZyI6InNoYS0yNTYiLCJpYXQiOjE3MDY1NjI4NDksImV4cCI6MTczODE4NTI0OSwiY25mIjp7Imp3ayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMzg0IiwiYWxnIjoiRVMzODQiLCJ4IjoidWtEd1U2ZzlQUVRFUWhYaEgyckRZNndMQlg3UHFlUjZBcGlhVHBEUXowcl8tdDl6UXNxem54Z0hEcE5oekZlQyIsInkiOiJMQnhVYnBVdFNGMVVKVTVpYnJIdkpINjBUSG5YMk1xa0xHZGltU1l0UGR4RlkxOEdhcldiS3FZV0djUkZHVE9BIn19fQ.kYD63YtBNYnLUTw6Szf1vs_Ug3UBXhPwCyqpNmPnPDa3rXZQhQLdB1BgaoO8zgQ-c3B41fxaXMnLHYV9-B20uboSpJP0B-2Vre917eQt1cSDswDGA_Ytvn4BSqYVBB2J~WyJFMkFsRzhsY2p0QVFrcllIbjlIbnVRIiwgInR5cGUiLCAiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd~WyI5NldYMDRneno4cVZzOVZLU2wwYTVnIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJaekU2VFVaamtHMW1DWXBKMEhnc0l3IiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyItQ3NsS25GZGFYb2JiQWsyU0JBVGR3IiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd~WyJuRm1OWl9IczB3WWNoOFdkeTdnQUNRIiwgImlkIiwgImRpZDpleGFtcGxlOmMyNzZlMTJlYzIxZWJmZWIxZjcxMmViYzZmMSJd~" +}
{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "type": "EnvelopedVerifiablePresentation", + "id": "data:application/vp+sd-jwt,eyJhbGciOiJFUzM4NCIsImtpZCI6IlVRTV9fblE0UzZCTzhuUTRuT05YeHB4aHRob3lOeGI1M0xZZ1l6LTJBQnMiLCJ0eXAiOiJ2cCtsZCtqc29uK3NkLWp3dCIsImN0eSI6InZwK2xkK2pzb24ifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwidmVyaWZpYWJsZUNyZWRlbnRpYWwiOlt7IkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzU2NTA0OSIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiYWx1bW5pT2YiOnsibmFtZSI6IkV4YW1wbGUgVW5pdmVyc2l0eSIsIl9zZCI6WyJoek9LRzU2cDI5c1ByTGFDNUE4RndFdUczVU05dUlZU1p1cU9YczJlVGJBIl19LCJfc2QiOlsiWVdXVmVDRndxQmk4WDBqSF9jV0NWWU16STNhOHBjTEVYRWZicFNSQVlndyJdfSwiX3NkIjpbIjJJZjhhaUs4REZwVWJ4dEc1cGMwel9SaFJzbm1ybGFRMEhzcTk4WFNyYWsiLCJUeDZ4ZWZMVUdUZUpfYWtVUFdGeHNvbUhobGtWVnpfNzVoaVZ6eWpyYmVzIl19XSwiX3NkIjpbIjd2anl0VVN3ZEJ0MXQ5RktlOVFfS3JIRXhFWGxrTEFaTzBKM0Jpd200dlkiXSwiX3NkX2FsZyI6InNoYS0yNTYiLCJpYXQiOjE3MDY1NjI4NDksImV4cCI6MTczODE4NTI0OSwiY25mIjp7Imp3ayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMzg0IiwiYWxnIjoiRVMzODQiLCJ4IjoidWtEd1U2ZzlQUVRFUWhYaEgyckRZNndMQlg3UHFlUjZBcGlhVHBEUXowcl8tdDl6UXNxem54Z0hEcE5oekZlQyIsInkiOiJMQnhVYnBVdFNGMVVKVTVpYnJIdkpINjBUSG5YMk1xa0xHZGltU1l0UGR4RlkxOEdhcldiS3FZV0djUkZHVE9BIn19fQ.kYD63YtBNYnLUTw6Szf1vs_Ug3UBXhPwCyqpNmPnPDa3rXZQhQLdB1BgaoO8zgQ-c3B41fxaXMnLHYV9-B20uboSpJP0B-2Vre917eQt1cSDswDGA_Ytvn4BSqYVBB2J~WyJFMkFsRzhsY2p0QVFrcllIbjlIbnVRIiwgInR5cGUiLCAiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd~WyI5NldYMDRneno4cVZzOVZLU2wwYTVnIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJaekU2VFVaamtHMW1DWXBKMEhnc0l3IiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyItQ3NsS25GZGFYb2JiQWsyU0JBVGR3IiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd~WyJuRm1OWl9IczB3WWNoOFdkeTdnQUNRIiwgImlkIiwgImRpZDpleGFtcGxlOmMyNzZlMTJlYzIxZWJmZWIxZjcxMmViYzZmMSJd~" +} ++application/cbor-diagnostic +
/ cose-sign1 / 18([
+ / protected / << {
+ / alg / 1 : -35 / ES384 /
+ } >>,
+ / unprotected / {
+ },
+ / payload / h'7b224063...3a5b5d7d',
+ / signature / h'd459de8d...51ecb60d'
+])
++ See Verifiable Credentials Data Model v2.0 + for more details regarding this example. +
++ When present in the COSE Header + or as CWT Claims, + members registered in the IANA + CBOR Web Token (CWT) Claims + registry or the IANA + COSE Header Parameters + registry are to be interpreted as defined by the specifications + referenced in those registries. CBOR Web Token (CWT) [RFC8392] + Claims MAY be included in a COSE header parameter, as specified in + I-D.ietf-cose-cwt-claims-in-headers. +
++ The normative statements in + Header Parameters, + Claims, and + CBOR Web Token (CWT) Claims in COSE Headers + apply to securing credentials and presentations. +
+
+ It is RECOMMENDED to use the IANA
+ CBOR Web Token Claims
+ registry and the IANA
+ COSE Header Parameters
+ registry to identify any claims and header parameters that might be
+ confused with members defined by [VC-DATA-MODEL-2.0].
+ These include but are not limited to: iss
,
+ kid
, alg
, iat
,
+ exp
, and cnf
.
+
+ When the iat
(Issued At) and/or
+ exp
(Expiration Time) CWT claims are present, they
+ represent the issuance and expiration time of the signature,
+ respectively.
+ Note that these are different from the
+ validFrom
and validUntil
properties
+ defined in
+ Validity Period,
+ which represent the validity of the data that is being secured.
+ Use of the nbf
(Not Before) claim is NOT RECOMMENDED,
+ as it makes little sense to attempt to assign a future date to
+ a signature.
+
+ Additional members may be present as header parameters and claims. + If they are not understood, they MUST be ignored. +
++ To complete the + verification process, + a verifier needs to + obtain the cryptographic keys used to secure the + credential. +
++ There are several different ways to discover the verification keys of + the issuers + and holders. +
++ These JOSE header parameters and JWT claims can be used by + verifiers to + discover verification keys. +
+
+ If kid
is present in the
+ JOSE Header or the
+ COSE Header,
+ a verifier can
+ use this parameter as a hint indicating which key was used to
+ secure the verifiable credential, when performing a
+ verification
+ process as defined in RFC7515.
+
+ kid
MUST be present when the key of the
+ issuer
+ or subject is
+ expressed as a DID URL.
+
+ If iss
is present in the
+ JOSE Header,
+ the JWT Claims,
+ or the COSE Header,
+ a verifier
+ can use this parameter to obtain a
+ JSON Web Key to use in the
+ verification process.
+
+ The value of the issuer
+ property can be either a string or an object.
+ When issuer
value is a string, iss
value,
+ if present, MUST match issuer
value. When
+ issuer
value is an object with an id
+ value, iss
value, if present, MUST match
+ issuer.id
value.
+
+ If kid
is also present in the
+ JOSE Header,
+ it is used to distinguish the specific key used.
+
+ If cnf
is present in the
+ JOSE Header,
+ the JWT Claims,
+ or the COSE Header,
+ a verifier MAY
+ use this parameter to identify a proof-of-possession key in the
+ manner described in [RFC7800] or [RFC8747] for use in the
+ verification process.
+
+ Use of a proof-of-possession key provided by the Holder to the + Issuer to establish a cryptographic binding to the Holder + in the Verifiable Credential that is verifiable by the + Verifier in the Verifiable Presentation is RECOMMENDED. +
++ When the issuer value is a URL using the HTTPS scheme, + issuer metadata including the issuer's public keys can + be retrieved using the mechanism defined in [SD-JWT-VC]. +
++ This normative statement depends on the IETF OAuth working group + draft [SD-JWT-VC]. This feature is at risk and will be removed + from the specification if at least two independent, interoperable + implementations are not demonstrated. +
{
+ "alg": "EdDSA",
+ "kid": "https://vendor.example/issuers/42/keys/urn:ietf:params:oauth:jwk-thumbprint:sha-256:NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9Xs"
+}
+ + When using controller documents with this specification, + the following requirements apply. +
+
+ The value of the type
property of the verification method MUST be
+ JsonWebKey
.
+
+ Verification material MUST be expressed in the publicKeyJwk
+ property of a JsonWebKey
.
+ This key material is retrieved based on hints in the JOSE or COSE message
+ envelopes, such as kid
or iss
.
+ At the time of writing, there is no standard way to retrieve a
+ public key in JWK format from a DID URL or controller document.
+
+ When iss is absent, and the + issuer is identified + as a [URL], the kid MUST be an absolute [URL] + to a verification method listed in a controller document or + a DID Document. +
+
+ When using [URL] identifiers, the kid
is RECOMMENDED to
+ be an absolute [URL] that includes a JWK Thumbprint URI as defined
+ in [RFC7638].
+ For example:
+ https://vendor.example/issuers/42/keys/urn:ietf:params:oauth:jwk-thumbprint:sha-256:NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9Xs
+
{
+ "issuer": {
+ "id": "https://university.example/issuers/565049"
+ }
+ // ...
+}
+ {
+ "alg": "ES384",
+ "kid": "https://university.example/issuers/565049#key-123
+}
+ + When the holder is + identified as a [URL], and iss is absent, the + kid MUST be an absolute [URL] to a + verification method listed in a controller document. +
+{
+ "holder": {
+ "id": "https://university.example/issuers/565049"
+ }
+ // ...
+}
+ {
+ "alg": "ES384",
+ "kid": "https://university.example/issuers/565049#key-123
+}
+ + This specification might be used with many different key discovery + protocols. Therefore, discovery of verification keys is described in + 4. Key Discovery, and is assumed to have succeeded prior + to beginning the verification process. +
++ As a general rule, verifiers SHOULD strive to minimize the processing of + untrusted data. + This includes minimizing any processing of the protected header, + unprotected header, or payload as part of the key discovery procedures. +
++ After verification has succeeded, additional validation checks SHOULD be + performed as described in Section 5.4 Validation +
++ The outputs for the following algorithms are: +
+status
: a boolean indicating the result of verification,
+ true
for success and false
for failure.
+ document
: a document conforming to the [VC-DATA-MODEL-2.0]
+ mediaType
: vc
or vp
+ + The inputs for this algorithm are: +
+inputMediaType
: vc+jwt
or vp+jwt
+ inputDocument
: the verifiable credential secured as a JWT [RFC7519]
+ + Upon receipt of the verifiable credential or presentation secured as + a JWT [RFC7519], the holder or verifier follows this algorithm: +
+status
to true
+ mediaType
to vc
or vp
+ document
to the decoded JWS payload.
+ status
to false
+ document
to null
+ mediaType
to null
+ + The inputs for this algorithm are: +
+inputMediaType
: vc+sd-jwt
+ inputDocument
: the verifiable credential secured with [SD-JWT]
+ + Upon receipt of the verifiable credential or presentation secured with + [SD-JWT], the holder or verifier follows this algorithm: +
+status
to true
+ mediaType
to vc
+ document
+ to the JWT Claims Set.
+ (For examples of the transition from JWT Claims Set to SD-JWT payload,
+ please see
+ SD-JWT examples).
+ status
to false
+ document
to null
+ mediaType
to null
+ + The inputs for this algorithm are: +
+inputMediaType
: vc+cose
or
+ vp+cose
+ inputDocument
: the verifiable credential or
+ verifiable presentation secured with CBOR Object Signing and Encryption (COSE): Structures and Process
+ + Upon receipt of the verifiable credential or presentation secured with + [RFC9052], the holder or verifier follows this algorithm: +
+status
to true
+ mediaType
to vc
or vp
+ document
to the decoded COSE_Sign1 payload.
+ status
to false
+ document
to null
+ mediaType
to null
+
+ All claims expected for the typ
MUST be present.
+ All claims that are understood MUST be evaluated according the
+ verifier's validation policies.
+ All claims that are not understood MUST be ignored.
+
+ The verified document
returned from verification MUST be a
+ well-formed compact JSON-LD document, as described in
+ Verifiable Credentials Data Model v2.0.
+
+ Schema extension mechanisms such as credentialSchema
+ SHOULD be checked.
+ If the extension mechanism type
is not understood,
+ this property MUST be ignored.
+
+ Status extension mechanisms such as credentialStatus
+ SHOULD be checked.
+ If the extension mechanism type
is not understood,
+ this property MUST be ignored.
+
+ Based on the validation policy of the verifier, the type of credentials, + and the type of securing mechanism, additional validation checks MAY be + applied. + For example, dependencies between multiple credentials, + ordering or timing information associated with multiple credentials, + and/or multiple presentations could cause an otherwise valid credential + or presentation to be considered invalid. +
+This section is non-normative.
+ +
+ This specification registers the application/vc+jwt
+ Media Type specifically for identifying a JSON Web Token (JWT)
+ with a payload conforming to the
+ Verifiable Credential Data Model.
+
Type name: | +application |
+
Subtype name: | +vc+jwt |
+
Required parameters: | +N/A | +
Optional parameters: | +N/A | +
Encoding considerations: | +
+ binary; application/jwt values are a series of base64url-encoded
+ values (some of which may be the empty string) separated by period ('.').
+ |
+
Security considerations: | +
+ + As defined in this specification. + See also the security considerations in [RFC7519]. + + |
+
Interoperability considerations: | +
+ As defined in this specification. + |
+
Published specification: | +https://w3.org/TR/vc-jose-cose | +
Applications that will use this media: | +
+ + W3C Verifiable Credential issuer, holder, and verifier software, + conforming to the [VC-DATA-MODEL-2.0], + are among the applications that will use the media types. + Conforming application types are described + here and here. + + |
+
Restrictions on usage: | +N/A | +
Additional information: | +
+
|
+
Author: | +Ivan Herman ivan@w3.org + | +
Intended usage: | +COMMON | +
Change controller: | ++ W3C Verifiable Credentials Working Group public-vc-wg@w3.org + | +
+ This specification registers the application/vp+jwt
+ Media Type specifically for identifying a JSON Web Token (JWT)
+ with a payload conforming to the
+
+ Verifiable Presentations definition in the Verifiable Credential Data Model.
+
Type name: | +application | +
Subtype name: | +vp+jwt | +
Required parameters: | +N/A | +
Optional parameters: | +N/A | +
Encoding considerations: | +
+ binary; application/jwt values are a series of base64url-encoded
+ values (some of which may be the empty string) separated by period ('.').
+ |
+
Security considerations: | +
+ + As defined in this specification. + See also the security considerations in [RFC7519]. + + |
+
Interoperability considerations: | +
+ As defined in this specification. + |
+
Published specification: | +https://w3.org/TR/vc-jose-cose | +
Applications that will use this media: | +
+ + W3C Verifiable Credential issuer, holder, and verifier software, + conforming to the [VC-DATA-MODEL-2.0], are among the + applications that will use the media types. + Conforming application types are described + here and here. + + |
+
Restrictions on usage: | +N/A | +
Additional information: | +
+
|
+
Author: | +Ivan Herman ivan@w3.org + | +
Intended usage: | +COMMON | +
Change controller: | ++ W3C Verifiable Credentials Working Group public-vc-wg@w3.org + | +
+ This specification registers the application/vc+sd-jwt
+ Media Type specifically for identifying a Selective Disclosure for JWTs (SD-JWT)
+ with a payload conforming to the
+ Verifiable Credential Data Model.
+
Type name: | +application |
+
Subtype name: | +vc+sd-jwt |
+
Required parameters: | +N/A | +
Optional parameters: | +N/A | +
Encoding considerations: | +
+ binary; application/sd-jwt values are a series of base64url-encoded
+ values (some of which may be the empty string) separated by
+ period ('.') and tilde ('~') characters.
+ |
+
Security considerations: | +
+ + As defined in this specification. + See also the security considerations in Selective Disclosure for JWTs (SD-JWT). + + |
+
Interoperability considerations: | +
+ As defined in this specification. + |
+
Published specification: | +https://w3.org/TR/vc-jose-cose | +
Applications that will use this media: | +
+ + W3C Verifiable Credential issuer, holder, and verifier software, + conforming to the [VC-DATA-MODEL-2.0], are among the + applications that will use the media types. + Conforming application types are described here + and here. + + |
+
Restrictions on usage: | +N/A | +
Additional information: | +
+
|
+
Author: | +Ivan Herman ivan@w3.org + | +
Intended usage: | +COMMON | +
Change controller: | ++ W3C Verifiable Credentials Working Group public-vc-wg@w3.org + | +
+ This specification registers the application/vp+sd-jwt
+ Media Type specifically for identifying a Selective Disclosure for JWTs (SD-JWT)
+ with a payload conforming to the
+
+ Verifiable Presentations definition in the Verifiable Credential Data Model.
+
Type name: | +application | +
Subtype name: | +vp+sd-jwt | +
Required parameters: | +N/A | +
Optional parameters: | +N/A | +
Encoding considerations: | +
+ binary; application/sd-jwt values are a series of base64url-encoded
+ values (some of which may be the empty string) separated by
+ period ('.') and tilde ('~') characters.
+ |
+
Security considerations: | +
+ + As defined in this specification. + See also the security considerations in Selective Disclosure for JWTs (SD-JWT). + + |
+
Interoperability considerations: | +
+ As defined in this specification. + |
+
Published specification: | +https://w3.org/TR/vc-jose-cose | +
Applications that will use this media: | +
+ + W3C Verifiable Credential issuer, holder, and verifier software, + conforming to the [VC-DATA-MODEL-2.0], + are among the applications that will use the media types. + Conforming application types are described + here and + here. + + |
+
Restrictions on usage: | +N/A | +
Additional information: | +
+
|
+
Author: | ++ Ivan Herman ivan@w3.org + | +
Intended usage: | +COMMON | +
Change controller: | ++ W3C Verifiable Credentials Working Group public-vc-wg@w3.org + | +
+ This specification registers the application/vc+cose
+ Media Type specifically for identifying a COSE object [RFC9052]
+ with a payload conforming to the
+ Verifiable Credential Data Model.
+
Type name: | +application |
+
Subtype name: | +vc+cose |
+
Required parameters: | +N/A | +
Optional parameters: | +N/A | +
Encoding considerations: | +binary (CBOR) | +
Security considerations: | +
+ + As defined in this specification. + See also the security considerations in [RFC9052]. + + |
+
Interoperability considerations: | +
+ As defined in this specification. + |
+
Published specification: | +https://w3.org/TR/vc-jose-cose | +
Applications that will use this media: | +
+ + W3C Verifiable Credential issuer, holder, and verifier software, + conforming to the [VC-DATA-MODEL-2.0], are among the + applications that will use the media types. Conforming + application types are described + here and + here. + + |
+
Restrictions on usage: | +N/A | +
Additional information: | +
+
|
+
Author: | +Ivan Herman ivan@w3.org + | +
Intended usage: | +COMMON | +
Change controller: | ++ W3C Verifiable Credentials Working Group public-vc-wg@w3.org + | +
+ This specification registers the application/vp+cose
+ Media Type specifically for identifying a COSE object [RFC9052]
+ with a payload conforming to the
+
+ Verifiable Presentations definition in the Verifiable Credential Data Model.
+
Type name: | +application |
+
Subtype name: | +vp+cose |
+
Required parameters: | +N/A | +
Optional parameters: | +N/A | +
Encoding considerations: | +binary (CBOR) | +
Security considerations: | +
+ + As defined in this specification. + See also the security considerations in [RFC9052]. + + |
+
Interoperability considerations: | +
+ As defined in this specification. + |
+
Published specification: | +https://w3.org/TR/vc-jose-cose | +
Applications that will use this media: | +
+ + W3C Verifiable Credential issuer, holder, and verifier software, + conforming to the [VC-DATA-MODEL-2.0], + are among the applications that will use the media types. + Conforming application types are described + here and + here. + + |
+
Restrictions on usage: | +N/A | +
Additional information: | +
+
|
+
Author: | +Ivan Herman ivan@w3.org + | +
Intended usage: | +COMMON | +
Change controller: | ++ W3C Verifiable Credentials Working Group public-vc-wg@w3.org + | +
This section is non-normative.
+ ++ Verifiable Credentials often contain sensitive information that + needs to be protected to ensure the privacy and security of + organizations and individuals. This section outlines some privacy + considerations relevant to implementers and users. +
++ Implementers are advised to note and abide by all privacy + considerations called out in [VC-DATA-MODEL-2.0]. +
++ Implementers are additionally advised to reference the + Privacy Consideration + section of the JWT specification and NIST Special Publication 800-122 + [[SP-800-122] "Guide to Protecting the Confidentiality of Personally + Identifiable Information (PII)" for privacy guidance. +
++ In addition to the privacy recommendations in the + [VC-DATA-MODEL-2.0], the following considerations are given: +
+ Minimization of data: It is considered best practice for + Verifiable Credentials to only contain the minimum amount of + data necessary to achieve their intended purpose. + This helps to limit the amount of sensitive information that is + shared or stored unnecessarily. +
++ Informed consent: It is considered best practice that + individuals be fully informed about how their data will be + used and provide the ability to consent to or decline the + use of their data. + This helps to ensure that individuals maintain control over their + own personal information. +
++ Data protection: It is considered best practice to protect + Verifiable Credentials using strong encryption and other + security measures to prevent unauthorized access, + modification, or disclosure. +
++ These considerations are not exhaustive, and implementers and + users are advised to consult additional privacy resources and + best practices to ensure the privacy and security of Verifiable + Credentials implemented using this specification. +
++ This section outlines security considerations for implementers + and users of this specification. + It is important to carefully consider these factors to ensure the + security and integrity of Verifiable Credentials when implemented + using JOSE or COSE. +
++ When implementing this specification, it is essential to address all + security issues relevant to broad cryptographic applications. + This especially includes protecting the user's asymmetric + private and symmetric secret keys, as well as employing + countermeasures against various attacks. + Failure to adequately address these issues could compromise the + security and integrity of Verifiable Credentials, potentially leading + to unauthorized access, modification, or disclosure of sensitive information. +
++ Implementers are advised to follow best practices and + established cryptographic standards to ensure the secure + handling of keys and other sensitive data. + Additionally, conduct regular security assessments and audits to + identify and address any vulnerabilities or threats. +
++ Follow all security considerations outlined in [RFC7515] and [RFC7519]. +
++ When utilizing JSON-LD, take special care around remote retrieval of + contexts and follow the additional security considerations noted in [JSON-LD11]. +
++ As noted in [RFC7515] when utilizing JSON [RFC7159], strict + validation is a security requirement. + If malformed JSON is received, it may be impossible to reliably + interpret the producer's intent, potentially leading to ambiguous or + exploitable situations. + To prevent these risks, it is essential to use a JSON parser that + strictly validates the syntax of all input data. + It is essential that any JSON inputs that do not conform to the + JSON-text syntax defined in [RFC7159] be rejected in their entirety by JSON parsers. + Failure to reject invalid input could compromise the security and + integrity of Verifiable Credentials. +
++ When implementing this specification, it is crucial for + technical implementers to consider various accessibility factors. + Ignoring accessibility concerns renders the information unusable for + a significant portion of the population. + To ensure equal access for all individuals, regardless of their abilities, + it is vital to adhere to accessibility guidelines and standards, + such as the Web Content Accessibility Guidelines (WCAG 2.1) [WCAG21]. + This becomes even more critical when establishing systems that involve + cryptography, as they have historically posed challenges for assistive technologies. +
++ Implementers are advised to note and abide by all accessibility + considerations called out in [VC-DATA-MODEL-2.0]. +
+This section is non-normative.
+ +{
+ "id": "https://vendor.example",
+}
+ {
+ "id": "https://university.example/issuers/565049",
+ "verificationMethod": [{
+ "id": "https://university.example/issuers/565049#key-123",
+ "type": "JsonWebKey",
+ "controller": "https://university.example/issuers/565049",
+ "publicKeyJwk": {
+ "kty": "EC",
+ "crv": "P-384",
+ "alg": "ES384",
+ "x": "PxgAmVYOQvSNcMYL2tOzoLwSWn4Ta3tIMPEUKR8pxeb-gmR11-DyKHBoIiY-2LhM",
+ "y": "BZEBTkImVdpwvxR9THIRw16eblnj5-tZa7m-ww5uVd4kyPJNRoWUn2aT9ZuarAe-"
+ }
+ }]
+}
+ {
+ "id": "https://university.example/issuers/565049",
+ "verificationMethod": [{
+ "id": "https://university.example/issuers/565049#key-123",
+ "type": "JsonWebKey",
+ "controller": "https://university.example/issuers/565049",
+ "publicKeyJwk": {
+ "kty": "EC",
+ "crv": "P-384",
+ "alg": "ES384",
+ "x": "PxgAmVYOQvSNcMYL2tOzoLwSWn4Ta3tIMPEUKR8pxeb-gmR11-DyKHBoIiY-2LhM",
+ "y": "BZEBTkImVdpwvxR9THIRw16eblnj5-tZa7m-ww5uVd4kyPJNRoWUn2aT9ZuarAe-"
+ }
+ }],
+ "authentication": ["https://university.example/issuers/565049#key-123"],
+ "assertionMethod": ["https://university.example/issuers/565049#key-123"]
+}
+ {
+ "@context": [
+ "https://www.w3.org/ns/did/v1",
+ "https://w3id.org/security/jwk/v1",
+ {
+ "@vocab": "https://vendor.example#"
+ }
+ ],
+ "id": "did:web:vendor.example",
+ "alsoKnownAs": ["https://vendor.example",
+ "did:jwk:eyJraWQiOiJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6andrLXRodW1icHJpbnQ6c2hhLTI1NjpGZk1iek9qTW1RNGVmVDZrdndUSUpqZWxUcWpsMHhqRUlXUTJxb2JzUk1NIiwia3R5IjoiT0tQIiwiY3J2IjoiRWQyNTUxOSIsImFsZyI6IkVkRFNBIiwieCI6IkFOUmpIX3p4Y0tCeHNqUlBVdHpSYnA3RlNWTEtKWFE5QVBYOU1QMWo3azQifQ"
+ ],
+ "verificationMethod": [{
+ "id": "#urn:ietf:params:oauth:jwk-thumbprint:sha-256:NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9Xs",
+ "type": "JsonWebKey",
+ "controller": "did:web:vendor.example",
+ "publicKeyJwk": {
+ "kty": "EC",
+ "crv": "P-521",
+ "alg": "ES512",
+ "x": "AFTyMw-fIYJNg6fBVJvOPOsLxmnNj8HgqMChyRL0swLaefVAc7wrWZ8okQJqMmvv03JRUp277meQZM3JcvXFkH1v",
+ "y": "ALn96CrD88b4TClmkl1sk0xk2FgAIda97ZF8TUOjbeWSzbKnN2KB6pqlpbuJ2xIRXvsn5BWQVlAT2JGpGwDNMyV1"
+ }
+ }, {
+ "id": "#z6MkhEdpG12jyQegrr62ACRmNY8gc531W2j9Xo39cHphuCEH",
+ "type": "JsonWebKey2020",
+ "controller": "https://vendor.example",
+ "publicKeyJwk": {
+ "kid": "urn:ietf:params:oauth:jwk-thumbprint:sha-256:FfMbzOjMmQ4efT6kvwTIJjelTqjl0xjEIWQ2qobsRMM",
+ "kty": "OKP",
+ "crv": "Ed25519",
+ "alg": "EdDSA",
+ "x": "ANRjH_zxcKBxsjRPUtzRbp7FSVLKJXQ9APX9MP1j7k4"
+ }
+ }, {
+ "id": "#subject-authentication",
+ "type": "JsonWebKey",
+ "controller": "did:web:vendor.example",
+ "publicKeyJwk": {
+ "kty": "EC",
+ "crv": "P-384",
+ "alg": "ES384",
+ "x": "PxgAmVYOQvSNcMYL2tOzoLwSWn4Ta3tIMPEUKR8pxeb-gmR11-DyKHBoIiY-2LhM",
+ "y": "BZEBTkImVdpwvxR9THIRw16eblnj5-tZa7m-ww5uVd4kyPJNRoWUn2aT9ZuarAe-"
+ }
+ }, {
+ "id": "#credential-issuance",
+ "type": "JsonWebKey",
+ "controller": "did:web:vendor.example",
+ "publicKeyJwk": {
+ "kty": "EC",
+ "crv": "P-256",
+ "alg": "ES256",
+ "x": "MYvnaI87pfrn3FpTqW-yNiFcF1K7fedJiqapm20_q7c",
+ "y": "9YEbT6Tyuc7xp9yRvhOUVKK_NIHkn5HpK9ZMgvK5pVw"
+ }
+ }, {
+ "id": "#key-agreement",
+ "type": "JsonWebKey",
+ "controller": "did:web:vendor.example",
+ "publicKeyJwk": {
+ "kty": "OKP",
+ "crv": "X25519",
+ "alg": "ECDH-ES+A128KW",
+ "x": "qLZkSTbstvMWPTivmiQglEFWG2Ff7gNDVoVisdZTr1I"
+ }
+ }],
+ "authentication": ["#subject-authentication"],
+ "assertionMethod": ["#credential-issuance"]
+}
+ { + "@context": ["https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "id": "https://contoso.example/credentials/23894672394", + "type": ["VerifiableCredential", "K9UnitCredential"], + "issuer": { + "id": "https://contoso.example" + }, + "validFrom": "2015-04-16T05:11:32.432Z", + "credentialStatus": { + "id": "https://contoso.example/credentials/status/4#273762", + "type": "StatusList2021Entry", + "statusPurpose": "revocation", + "statusListIndex": "273762", + "statusListCredential": "https://contoso.example/credentials/status/4" + }, + "credentialSubject": [{ + "id": "did:example:1312387641", + "type": "Person" + }, { + "id": "did:example:63888231", + "type": "Dog" + }] +}
{ + "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro", + "alg": "ES256" +} ++application/vc +
{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "id": "https://contoso.example/credentials/23894672394", + "type": [ + "VerifiableCredential", + "K9UnitCredential" + ], + "issuer": { + "id": "https://contoso.example" + }, + "validFrom": "2015-04-16T05:11:32.432Z", + "credentialStatus": { + "id": "https://contoso.example/credentials/status/4#273762", + "type": "StatusList2021Entry", + "statusPurpose": "revocation", + "statusListIndex": "273762", + "statusListCredential": "https://contoso.example/credentials/status/4" + }, + "credentialSubject": [ + { + "id": "did:example:1312387641", + "type": "Person" + }, + { + "id": "did:example:63888231", + "type": "Dog" + } + ] +} ++application/vc+jwt +
{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "id": "https://contoso.example/credentials/23894672394", + "type": [ + "VerifiableCredential", + "K9UnitCredential" + ], + "issuer": { + "id": "https://contoso.example" + }, + "validFrom": "2015-04-16T05:11:32.432Z", + "credentialStatus": { + "id": "https://contoso.example/credentials/status/4#273762", + "type": "StatusList2021Entry", + "statusPurpose": "revocation", + "statusListIndex": "273762", + "statusListCredential": "https://contoso.example/credentials/status/4" + }, + "credentialSubject": [ + { + "id": "did:example:1312387641", + "type": "Person" + }, + { + "id": "did:example:63888231", + "type": "Dog" + } + ] +} ++application/cbor-diagnostic +
/ cose-sign1 / 18([
+ / protected / << {
+ / alg / 1 : -35 / ES384 /
+ } >>,
+ / unprotected / {
+ },
+ / payload / h'7b224063...227d5d7d',
+ / signature / h'c56d2229...e085cc30'
+])
+{+
"kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
"alg": "ES256"
}
{+
"_sd_alg": "sha-256",
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"issuer": {
"_sd": [
"mnJnBoxo_ct4oz-NYzkIIwejhz-pmw1mT9jTvuxnyj4"
]
},
"validFrom": "2015-04-16T05:11:32.432Z",
"credentialStatus": {
"statusPurpose": "revocation",
"statusListIndex": "273762",
"statusListCredential": "https://contoso.example/credentials/status/4",
"_sd": [
"5rTlJO1pz_YzKNzQMSmb7uVrjI6MAIlKHmGkwsw90E4",
"XpJXBxIe6QtPwexVcQC_Qcv_i7dNBq3XnzYhVdXe3mY"
]
},
"credentialSubject": [
{
"_sd": [
"_Zc77VLwhmLldyiXurRvwVbkh7ScqTBTdfjB-GO5tHU",
"sL-24S2l5GGE7x2WbXI9xue0x2mU_rYFhbUu6_ZeKJo"
]
},
{
"_sd": [
"0kp5zL7EJJSU-qKh6izClCvCRfjrq5pUexXZef1Puy8",
"JYtU8e26sNdwsvvuYhW6flwOCT_2ouAw0-ZcuR6Nuys"
]
}
],
"_sd": [
"HCAjQ8hDuALI_0zpiNnMDItRQUweYdfAvdNO709aI9A",
"l0shv32Ny4Vuo5MqUIJfe2XBbkiBq0-zOOb_M4IC_gc"
]
}
SHA-256 Hash: HCAjQ8hDuALI_0zpiNnMDItRQUweYdfAvdNO709aI9A
+Disclosure(s): WyJxLUExYWxlU1BYcU9QbERObFBGM0xBIiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlL2NyZWRlbnRpYWxzLzIzODk0NjcyMzk0Il0
+Contents: [
"q-A1aleSPXqOPlDNlPF3LA",
"id",
"https://contoso.example/credentials/23894672394"
]
SHA-256 Hash: l0shv32Ny4Vuo5MqUIJfe2XBbkiBq0-zOOb_M4IC_gc
+Disclosure(s): WyJPSE5wckJtWVpJV2NQS3p5S0hvVzJnIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIks5VW5pdENyZWRlbnRpYWwiXV0
+Contents: [
"OHNprBmYZIWcPKzyKHoW2g",
"type",
[
"VerifiableCredential",
"K9UnitCredential"
]
]
SHA-256 Hash: mnJnBoxo_ct4oz-NYzkIIwejhz-pmw1mT9jTvuxnyj4
+Disclosure(s): WyJkTzB5VHVOam5mdl91Z3BoU1FFUXlBIiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlIl0
+Contents: [
"dO0yTuNjnfv_ugphSQEQyA",
"id",
"https://contoso.example"
]
SHA-256 Hash: 5rTlJO1pz_YzKNzQMSmb7uVrjI6MAIlKHmGkwsw90E4
+Disclosure(s): WyJCNUd4UTZWdlVES3pDRzJSclFzNzFBIiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlL2NyZWRlbnRpYWxzL3N0YXR1cy80IzI3Mzc2MiJd
+Contents: [
"B5GxQ6VvUDKzCG2RrQs71A",
"id",
"https://contoso.example/credentials/status/4#273762"
]
SHA-256 Hash: XpJXBxIe6QtPwexVcQC_Qcv_i7dNBq3XnzYhVdXe3mY
+Disclosure(s): WyJxR09EWnNDNk1uanVDeFZSbkxGZ2NBIiwgInR5cGUiLCAiU3RhdHVzTGlzdDIwMjFFbnRyeSJd
+Contents: [
"qGODZsC6MnjuCxVRnLFgcA",
"type",
"StatusList2021Entry"
]
SHA-256 Hash: sL-24S2l5GGE7x2WbXI9xue0x2mU_rYFhbUu6_ZeKJo
+Disclosure(s): WyJ3UzFyRG93eDctUWYwOTBqSmpBell3IiwgImlkIiwgImRpZDpleGFtcGxlOjEzMTIzODc2NDEiXQ
+Contents: [
"wS1rDowx7-Qf090jJjAzYw",
"id",
"did:example:1312387641"
]
SHA-256 Hash: _Zc77VLwhmLldyiXurRvwVbkh7ScqTBTdfjB-GO5tHU
+Disclosure(s): WyJQOEoza1paRkdKRFZuUllFV0hKV0h3IiwgInR5cGUiLCAiUGVyc29uIl0
+Contents: [
"P8J3kZZFGJDVnRYEWHJWHw",
"type",
"Person"
]
SHA-256 Hash: JYtU8e26sNdwsvvuYhW6flwOCT_2ouAw0-ZcuR6Nuys
+Disclosure(s): WyJiLVJtQTJIUlNET0F1Y2FaeUxqYUNnIiwgImlkIiwgImRpZDpleGFtcGxlOjYzODg4MjMxIl0
+Contents: [
"b-RmA2HRSDOAucaZyLjaCg",
"id",
"did:example:63888231"
]
SHA-256 Hash: 0kp5zL7EJJSU-qKh6izClCvCRfjrq5pUexXZef1Puy8
+Disclosure(s): WyJEa2pPVUVWRFRWWUxKTWlEc1NjblFnIiwgInR5cGUiLCAiRG9nIl0
+Contents: [
"DkjOUEVDTVYLJMiDsScnQg",
"type",
"Dog"
]
{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "id": "https://contoso.example/credentials/35327255", + "type": ["VerifiableCredential", "KYCExample"], + "issuer": "did:web:contoso.example", + "validFrom": "2019-05-25T03:10:16.992Z", + "validUntil": "2027-05-25T03:10:16.992Z", + "credentialSchema": { + "id": "https://contoso.example/bafybeigdyr...lqabf3oclgtqy55fbzdi", + "type": "JsonSchema" + }, + "credentialSubject": { + "id": "did:example:1231588", + "type": "Person" + } +}
{ + "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro", + "alg": "ES256" +} ++application/vc +
{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "id": "https://contoso.example/credentials/35327255", + "type": [ + "VerifiableCredential", + "KYCExample" + ], + "issuer": "did:web:contoso.example", + "validFrom": "2019-05-25T03:10:16.992Z", + "validUntil": "2027-05-25T03:10:16.992Z", + "credentialSchema": { + "id": "https://contoso.example/bafybeigdyr...lqabf3oclgtqy55fbzdi", + "type": "JsonSchema" + }, + "credentialSubject": { + "id": "did:example:1231588", + "type": "Person" + } +} ++application/vc+jwt +
{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "id": "https://contoso.example/credentials/35327255", + "type": [ + "VerifiableCredential", + "KYCExample" + ], + "issuer": "did:web:contoso.example", + "validFrom": "2019-05-25T03:10:16.992Z", + "validUntil": "2027-05-25T03:10:16.992Z", + "credentialSchema": { + "id": "https://contoso.example/bafybeigdyr...lqabf3oclgtqy55fbzdi", + "type": "JsonSchema" + }, + "credentialSubject": { + "id": "did:example:1231588", + "type": "Person" + } +} ++application/cbor-diagnostic +
/ cose-sign1 / 18([
+ / protected / << {
+ / alg / 1 : -35 / ES384 /
+ } >>,
+ / unprotected / {
+ },
+ / payload / h'7b224063...6e227d7d',
+ / signature / h'6c8e8ecb...d855e17e'
+])
+{+
"kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
"alg": "ES256"
}
{+
"_sd_alg": "sha-256",
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"issuer": "did:web:contoso.example",
"validFrom": "2019-05-25T03:10:16.992Z",
"validUntil": "2027-05-25T03:10:16.992Z",
"credentialSchema": {
"_sd": [
"MtKuLIyXqENywxt57a8WimhLHS2gHw4lYcgjHYtMfZM",
"OTRquNmLxJGwDTPNjUHJKOxPm6R63toVmM1FUw-cqLE"
]
},
"credentialSubject": {
"_sd": [
"ZfTj9b83GEG-vwLrlAeSamp9ggY7Ky2zcOGPDDYeIHE",
"pQp8bkcJ5YW1LHZxEbFqQInPI9Akw6DSI0Tb7z5tOuo"
]
},
"_sd": [
"8m-Hf_0PzVyGIxpRGxhjruXQf0rgs7MvePQJy-tqufk",
"XKCf-gQ3lhGAOsmScOP9Jl1gT1Y4kYq184p83c5mYTk"
]
}
SHA-256 Hash: XKCf-gQ3lhGAOsmScOP9Jl1gT1Y4kYq184p83c5mYTk
+Disclosure(s): WyJ2NnNrSDBsajRSbVFKcllPWEs2TmJRIiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlL2NyZWRlbnRpYWxzLzM1MzI3MjU1Il0
+Contents: [
"v6skH0lj4RmQJrYOXK6NbQ",
"id",
"https://contoso.example/credentials/35327255"
]
SHA-256 Hash: 8m-Hf_0PzVyGIxpRGxhjruXQf0rgs7MvePQJy-tqufk
+Disclosure(s): WyI0QlF0TjNwUzdDNnd1M3VXOE8tWHBnIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIktZQ0V4YW1wbGUiXV0
+Contents: [
"4BQtN3pS7C6wu3uW8O-Xpg",
"type",
[
"VerifiableCredential",
"KYCExample"
]
]
SHA-256 Hash: MtKuLIyXqENywxt57a8WimhLHS2gHw4lYcgjHYtMfZM
+Disclosure(s): WyJSOGFwcHFlZ3VtWGhTb0tyV3VOeERBIiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlL2JhZnliZWlnZHlyLi4ubHFhYmYzb2NsZ3RxeTU1ZmJ6ZGkiXQ
+Contents: [
"R8appqegumXhSoKrWuNxDA",
"id",
"https://contoso.example/bafybeigdyr...lqabf3oclgtqy55fbzdi"
]
SHA-256 Hash: OTRquNmLxJGwDTPNjUHJKOxPm6R63toVmM1FUw-cqLE
+Disclosure(s): WyI0Q1hxYTRXT2h0V3ZHM2JaNnJxQW9nIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd
+Contents: [
"4CXqa4WOhtWvG3bZ6rqAog",
"type",
"JsonSchema"
]
SHA-256 Hash: ZfTj9b83GEG-vwLrlAeSamp9ggY7Ky2zcOGPDDYeIHE
+Disclosure(s): WyJqR1RVZlRibHZRZ0cyX05LaFY2NWxBIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMzE1ODgiXQ
+Contents: [
"jGTUfTblvQgG2_NKhV65lA",
"id",
"did:example:1231588"
]
SHA-256 Hash: pQp8bkcJ5YW1LHZxEbFqQInPI9Akw6DSI0Tb7z5tOuo
+Disclosure(s): WyJ3ajhYSEh4dnk1QUo2WFFDVl9kMnZBIiwgInR5cGUiLCAiUGVyc29uIl0
+Contents: [
"wj8XHHxvy5AJ6XQCV_d2vA",
"type",
"Person"
]
{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "type": "VerifiablePresentation", + "verifiableCredential": [ + { + "@context": "https://www.w3.org/ns/credentials/v2", + "id": "data:application/vc+cose;base64,0oREo...+Q==", + "type": "EnvelopedVerifiableCredential" + }, + { + "@context": "https://www.w3.org/ns/credentials/v2", + "id": "data:application/vc+jwt,eyVjV...RMjU", + "type": "EnvelopedVerifiableCredential" + }, + { + "@context": "https://www.w3.org/ns/credentials/v2", + "id": "data:application/vc+sd-jwt,eyVjV...RMjU~", + "type": "EnvelopedVerifiableCredential" + } + ] +}
{ + "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro", + "alg": "ES256" +} ++application/vp +
{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "type": "VerifiablePresentation", + "verifiableCredential": [ + { + "@context": "https://www.w3.org/ns/credentials/v2", + "id": "data:application/vc+cose;base64url,YmFzZTY0LDBvUkVvLi4uK1E9PQ", + "type": "EnvelopedVerifiableCredential" + }, + { + "@context": "https://www.w3.org/ns/credentials/v2", + "id": "data:application/vc+jwt,eyVjV...RMjU;data:application/vc+jwt,eyVjV...RMjU", + "type": "EnvelopedVerifiableCredential" + }, + { + "@context": "https://www.w3.org/ns/credentials/v2", + "id": "data:application/vc+sd-jwt,eyVjV...RMjU~;data:application/vc+sd-jwt,eyVjV...RMjU~", + "type": "EnvelopedVerifiableCredential" + } + ] +} ++application/vp+jwt +
{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], + "type": "VerifiablePresentation", + "verifiableCredential": [ + { + "@context": "https://www.w3.org/ns/credentials/v2", + "id": "data:application/vc+cose;base64url,WW1GelpUWTBMREJ2VWtWdkxpNHVLMUU5UFE", + "type": "EnvelopedVerifiableCredential" + }, + { + "@context": "https://www.w3.org/ns/credentials/v2", + "id": "data:application/vc+jwt,eyVjV...RMjU;data:application/vc+jwt,eyVjV...RMjU", + "type": "EnvelopedVerifiableCredential" + }, + { + "@context": "https://www.w3.org/ns/credentials/v2", + "id": "data:application/vc+sd-jwt,eyVjV...RMjU~;data:application/vc+sd-jwt,eyVjV...RMjU~", + "type": "EnvelopedVerifiableCredential" + } + ] +} ++application/cbor-diagnostic +
/ cose-sign1 / 18([
+ / protected / << {
+ / alg / 1 : -35 / ES384 /
+ } >>,
+ / unprotected / {
+ },
+ / payload / h'7b224063...227d5d7d',
+ / signature / h'd2891c86...afc5ee71'
+])
+{+
"kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
"alg": "ES256"
}
{+
"_sd_alg": "sha-256",
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"verifiableCredential": [
{
"@context": "https://www.w3.org/ns/credentials/v2",
"_sd": [
"GZK1GMjVMMrtEKSLetzM_lE1clQ-Nxrv9Q4UNaV7yao",
"sOgNCOhjQL8U40h31msyfkT8VcoNHuPOjnn6_uQsV0M"
]
},
{
"@context": "https://www.w3.org/ns/credentials/v2",
"_sd": [
"4mI2_vqzQrX2VRrkf4VBuIR7x_pjEz1FmbfpRytamhE",
"TVAwganIb90dhnGmAgBAOjdITO5xtggUoj3uvwIu2ro"
]
},
{
"@context": "https://www.w3.org/ns/credentials/v2",
"_sd": [
"MKndWuIRNn_ncvUlg57bpJKae_lXojiuknyVcmbmwRs",
"jKnWHZ1zFauvC_mI6G1cfaI2UpDf1zCH6hrKgPUbgb0"
]
}
],
"_sd": [
"smNoKlExsK-VsOMRVRbt_F5TlCRDameKJURwgwPWVZE"
]
}
SHA-256 Hash: smNoKlExsK-VsOMRVRbt_F5TlCRDameKJURwgwPWVZE
+Disclosure(s): WyJmSUFESklzRUFmQUFvQ2NjOEtqc3h3IiwgInR5cGUiLCAiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd
+Contents: [
"fIADJIsEAfAAoCcc8Kjsxw",
"type",
"VerifiablePresentation"
]
SHA-256 Hash: sOgNCOhjQL8U40h31msyfkT8VcoNHuPOjnn6_uQsV0M
+Disclosure(s): WyI4a2llaWYyMi1Pa1ZFdmY1VXVBN2VBIiwgImlkIiwgImRhdGE6YXBwbGljYXRpb24vdmMrY29zZTtiYXNlNjR1cmwsIFdXMUdlbHBVV1RCTVJFSjJWV3RXZGt4cE5IVkxNVVU1VUZFIl0
+Contents: [
"8kieif22-OkVEvf5UuA7eA",
"id",
"data:application/vc+cose;base64url, WW1GelpUWTBMREJ2VWtWdkxpNHVLMUU5UFE"
]
SHA-256 Hash: GZK1GMjVMMrtEKSLetzM_lE1clQ-Nxrv9Q4UNaV7yao
+Disclosure(s): WyJxZGNGVmNESks4RUhVMzRsMlF4MUhBIiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZUNyZWRlbnRpYWwiXQ
+Contents: [
"qdcFVcDJK8EHU34l2Qx1HA",
"type",
"EnvelopedVerifiableCredential"
]
SHA-256 Hash: 4mI2_vqzQrX2VRrkf4VBuIR7x_pjEz1FmbfpRytamhE
+Disclosure(s): WyJRaTk3LWU4Y2stcUpRRDRVUHExaXdRIiwgImlkIiwgImRhdGE6YXBwbGljYXRpb24vdmMrand0LCBleVZqVi4uLlJNalU7ZGF0YTphcHBsaWNhdGlvbi92Yytqd3QsIGV5VmpWLi4uUk1qVSJd
+Contents: [
"Qi97-e8ck-qJQD4UPq1iwQ",
"id",
"data:application/vc+jwt, eyVjV...RMjU;data:application/vc+jwt, eyVjV...RMjU"
]
SHA-256 Hash: TVAwganIb90dhnGmAgBAOjdITO5xtggUoj3uvwIu2ro
+Disclosure(s): WyJzY2E0dXlCNVJkVi1OZHU4Q2x0clFBIiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZUNyZWRlbnRpYWwiXQ
+Contents: [
"sca4uyB5RdV-Ndu8CltrQA",
"type",
"EnvelopedVerifiableCredential"
]
SHA-256 Hash: MKndWuIRNn_ncvUlg57bpJKae_lXojiuknyVcmbmwRs
+Disclosure(s): WyIybDYwSEUyVEd6WDFJLVpZLTkxNGR3IiwgImlkIiwgImRhdGE6YXBwbGljYXRpb24vdmMrc2Qtand0LCBleVZqVi4uLlJNalV-O2RhdGE6YXBwbGljYXRpb24vdmMrc2Qtand0LCBleVZqVi4uLlJNalV-Il0
+Contents: [
"2l60HE2TGzX1I-ZY-914dw",
"id",
"data:application/vc+sd-jwt, eyVjV...RMjU~;data:application/vc+sd-jwt, eyVjV...RMjU~"
]
SHA-256 Hash: jKnWHZ1zFauvC_mI6G1cfaI2UpDf1zCH6hrKgPUbgb0
+Disclosure(s): WyJxQnJzME04cnFTU2tnaXN3U3YwSGxRIiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZUNyZWRlbnRpYWwiXQ
+Contents: [
"qBrs0M8rqSSkgiswSv0HlQ",
"type",
"EnvelopedVerifiableCredential"
]
data:application/vc+sd-jwt,eyJhbGciOiJFUzM4NCIsImtpZCI6IlNJM1JITm91aDhvODFOT09OUFFVQUw3RWdaLWtJNl94ajlvUkV2WDF4T3ciLCJ0eXAiOiJ2YytsZCtqc29uK3NkLWp3dCIsImN0eSI6InZjK2xkK2pzb24ifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDE5OjIzOjI0WiIsImNyZWRlbnRpYWxTY2hlbWEiOnsiX3NkIjpbIkU3dU1sSWFyS29iYXJTdEZGRjctZm5qaV9sQVdnM3BGMkV5dVc4dWFYakUiLCJYelRaSVgyNGdDSWxSQVFHclFoNU5FRm1XWkQtZ3Z3dkIybzB5Y0FwNFZzIl19LCJjcmVkZW50aWFsU3ViamVjdCI6eyJkZWdyZWUiOnsibmFtZSI6IkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMiLCJfc2QiOlsiT3oxUEZIMG0tWk9TdEhwUVZyeGlmVlpKRzhvNmlQQmNnLVZ2SXQwd2plcyJdfSwiX3NkIjpbIkVZQ1daMTZZMHB5X1VNNzRHU3NVYU9zT19mdDExTlVSaFFUTS1TT1lFTVEiXX0sIl9zZCI6WyJqT055NnZUbGNvVlAzM25oSTdERGN3ekVka3d2R3VVRXlLUjdrWEVLd3VVIiwid21BdHpwc0dRbDJveS1PY2JrSEVZcE8xb3BoX3VYcWVWVTRKekF0aFFibyJdLCJfc2RfYWxnIjoic2hhLTI1NiIsImlzcyI6Imh0dHBzOi8vdW5pdmVyc2l0eS5leGFtcGxlL2lzc3VlcnMvNTY1MDQ5IiwiaWF0IjoxNjk3Mjg5OTk2LCJleHAiOjE3Mjg5MTIzOTYsImNuZiI6eyJqd2siOnsia3R5IjoiRUMiLCJjcnYiOiJQLTM4NCIsImFsZyI6IkVTMzg0IiwieCI6InZFdV84WGxZT0ZFU2hTcVRpZ2JSYWduZ0ZGM1p5U0xrclNHekh3azFBT1loanhlazVhV21HY2UwZU05S0pWOEIiLCJ5IjoiRUpNY2czWXBzUTB3M2RLNHlVa25QczE1Z0lsY2Yyay03dzFKLTNlYlBiOERENmQtUkhBeGUwMDkzSWpfdTRCOSJ9fX0.rYzbxb6j1dwop8_s491iArVVJNm6A6C3b742gOm_qYO3zdkyQU4_VxxOSJ8ECcmWj2r5KyiCNC1ojfO4Yms-zBsjt7PoMYpYWBplsqXpiIvnehmM7D0eOLi40uHXki0X~WyJSWTg1YTZNMmEwX3VDWlFTVGZmTFdRIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJMeG5GYTBXVm8wRUluVy1QdS1fd1dRIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyJUQVdrakpCaVpxdC1rVU54X1EweUJBIiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvZGVncmVlLmpzb24iXQ~WyJTd2xuZFpPZzZEZ1ZERFp5X0RvYVFBIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyJuSnJlU3E1Nzg3RGZMSDJCbU03cXFRIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMyJd~WyIxMjNNd3hNcHRiek02YUk2aW03ME1RIiwgInR5cGUiLCAiQmFjaGVsb3JEZWdyZWUiXQ~
+ data:application/vp+sd-jwt,eyJhbGciOiJFUzM4NCIsImtpZCI6IlNJM1JITm91aDhvODFOT09OUFFVQUw3RWdaLWtJNl94ajlvUkV2WDF4T3ciLCJ0eXAiOiJ2YytsZCtqc29uK3NkLWp3dCIsImN0eSI6InZjK2xkK2pzb24ifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDE5OjIzOjI0WiIsImNyZWRlbnRpYWxTY2hlbWEiOnsiX3NkIjpbIkU3dU1sSWFyS29iYXJTdEZGRjctZm5qaV9sQVdnM3BGMkV5dVc4dWFYakUiLCJYelRaSVgyNGdDSWxSQVFHclFoNU5FRm1XWkQtZ3Z3dkIybzB5Y0FwNFZzIl19LCJjcmVkZW50aWFsU3ViamVjdCI6eyJkZWdyZWUiOnsibmFtZSI6IkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMiLCJfc2QiOlsiT3oxUEZIMG0tWk9TdEhwUVZyeGlmVlpKRzhvNmlQQmNnLVZ2SXQwd2plcyJdfSwiX3NkIjpbIkVZQ1daMTZZMHB5X1VNNzRHU3NVYU9zT19mdDExTlVSaFFUTS1TT1lFTVEiXX0sIl9zZCI6WyJqT055NnZUbGNvVlAzM25oSTdERGN3ekVka3d2R3VVRXlLUjdrWEVLd3VVIiwid21BdHpwc0dRbDJveS1PY2JrSEVZcE8xb3BoX3VYcWVWVTRKekF0aFFibyJdLCJfc2RfYWxnIjoic2hhLTI1NiIsImlzcyI6Imh0dHBzOi8vdW5pdmVyc2l0eS5leGFtcGxlL2lzc3VlcnMvNTY1MDQ5IiwiaWF0IjoxNjk3Mjg5OTk2LCJleHAiOjE3Mjg5MTIzOTYsImNuZiI6eyJqd2siOnsia3R5IjoiRUMiLCJjcnYiOiJQLTM4NCIsImFsZyI6IkVTMzg0IiwieCI6InZFdV84WGxZT0ZFU2hTcVRpZ2JSYWduZ0ZGM1p5U0xrclNHekh3azFBT1loanhlazVhV21HY2UwZU05S0pWOEIiLCJ5IjoiRUpNY2czWXBzUTB3M2RLNHlVa25QczE1Z0lsY2Yyay03dzFKLTNlYlBiOERENmQtUkhBeGUwMDkzSWpfdTRCOSJ9fX0.rYzbxb6j1dwop8_s491iArVVJNm6A6C3b742gOm_qYO3zdkyQU4_VxxOSJ8ECcmWj2r5KyiCNC1ojfO4Yms-zBsjt7PoMYpYWBplsqXpiIvnehmM7D0eOLi40uHXki0X~WyJTd2xuZFpPZzZEZ1ZERFp5X0RvYVFBIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyIxMjNNd3hNcHRiek02YUk2aW03ME1RIiwgInR5cGUiLCAiQmFjaGVsb3JEZWdyZWUiXQ~WyJMeG5GYTBXVm8wRUluVy1QdS1fd1dRIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyJSWTg1YTZNMmEwX3VDWlFTVGZmTFdRIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~eyJhbGciOiJFUzM4NCIsInR5cCI6ImtiK2p3dCJ9.eyJub25jZSI6IkVmeTROTFJPX3ZvSkszdDIzcUNfQlEiLCJhdWQiOiJodHRwczovL3ZlcmlmaWVyLmV4YW1wbGUiLCJpYXQiOjE2OTcyODk5OTZ9.6G-1nVcrDKFzR6BdbcFHcbtassEb8NZ7ZavTYz3SJ-e4pXleXs0tNcCkUCwMI70gsuOY0AXzeDPbHjp5GKyLDVuNWgWCt3Wo2VSaCwUkyfLyvhkCsmkF9kvFhMIOhp1i~
+ data:application/vp+cose;base64,0oREoQE4IqBZDSJ7IkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJ0eXBlIjoiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiIsInZlcmlmaWFibGVDcmVkZW50aWFsIjpbeyJAY29udGV4dCI6Imh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImlkIjoiZGF0YTphcHBsaWNhdGlvbi92Yy1sZCtzZC1qd3QsZXlKcmFXUWlPaUpGZUVoclFrMVhPV1p0WW10MlZqSTJObTFTY0hWUU1uTlZXVjlPWDBWWFNVNHhiR0Z3VlhwUE9ISnZJaXdpWVd4bklqb2lSVk15TlRZaWZRLmV5SmZjMlJmWVd4bklqb2ljMmhoTFRJMU5pSXNJa0JqYjI1MFpYaDBJanBiSW1oMGRIQnpPaTh2ZDNkM0xuY3pMbTl5Wnk5dWN5OWpjbVZrWlc1MGFXRnNjeTkyTWlJc0ltaDBkSEJ6T2k4dmQzZDNMbmN6TG05eVp5OXVjeTlqY21Wa1pXNTBhV0ZzY3k5bGVHRnRjR3hsY3k5Mk1pSmRMQ0pwYzNOMVpYSWlPaUpvZEhSd2N6b3ZMM1Z1YVhabGNuTnBkSGt1WlhoaGJYQnNaUzlwYzNOMVpYSnpMelUyTlRBME9TSXNJblpoYkdsa1JuSnZiU0k2SWpJd01UQXRNREV0TURGVU1UazZNak02TWpSYUlpd2lZM0psWkdWdWRHbGhiRk5qYUdWdFlTSTZleUpmYzJRaU9sc2lOV0pCZURNdGVIQm1RV3hWUzBaSk9YTnVNMmhXUTIxd1IydHJjVWx6V21NekxVeGlNek5tV21waWF5SXNJbHBqUVhaSU1EaHNkRUp5U1VwbVNXaDBPRjl0UzFCZll6TnNjRzVZTVdOSGNsbHRWRzh3WjFsQ2VUZ2lYWDBzSW1OeVpXUmxiblJwWVd4VGRXSnFaV04wSWpwN0ltUmxaM0psWlNJNmV5SnVZVzFsSWpvaVFtRmphR1ZzYjNJZ2IyWWdVMk5wWlc1alpTQmhibVFnUVhKMGN5SXNJbDl6WkNJNld5SlNUMVEzTVVsMGRUTk1ObFZYV0ZWcWJ5MW9XVmRKUWpZM2JIVlBUa1ZFVWxOQ2FHeEVWRU54VlU5UklsMTlMQ0pmYzJRaU9sc2lUVVZ1WlhObk1saFBVazVqWTNOQ1RXVmFYekUyTURKbmVUUXdVaTAwV1VKMlZsSXdlRkU0YjBZNFl5SmRmU3dpWDNOa0lqcGJJa1ZsYzJKaWF5MW1jR1p3ZDJaTU9YZE9jekZ4Y2paMGFVNDNabkV0U1hReldWTTJWM1pDYmw5aVdHOGlMQ0phYjFJMVpHUmhja2R0WmsxNU5FaHVWMHhWYWs1VVJuRlVSak5ZUmpacGRGQm5abmxHUWtoVlgzRlZJbDE5Lmd3M3BheGJrTGpwaThDVHN5UnBYS2JDN3RwVmEwcTJzV0tTRC1fZGNidVoxTHBaVjNvUThJZnpjbTJiRThSWTNmbUpnYnV5QTlnYlBMM3NRQmFUemtnIH5XeUpTZVVReFZsQjRWSEJ2Ym10UGVYWnBjemt0YTI5M0lpd2dJbWxrSWl3Z0ltaDBkSEE2THk5MWJtbDJaWEp6YVhSNUxtVjRZVzF3YkdVdlkzSmxaR1Z1ZEdsaGJITXZNVGczTWlKZH5XeUpmVmpkMWVUZDNheTFSTTNWWmQyWnBaME52V1VWQklpd2dJblI1Y0dVaUxDQmJJbFpsY21sbWFXRmliR1ZEY21Wa1pXNTBhV0ZzSWl3Z0lrVjRZVzF3YkdWQmJIVnRibWxEY21Wa1pXNTBhV0ZzSWwxZH5XeUpoYXpkcU1UbG5ZVk10UkRKTFgyaHpZM1JWWkdOUklpd2dJbWxrSWl3Z0ltaDBkSEJ6T2k4dlpYaGhiWEJzWlM1dmNtY3ZaWGhoYlhCc1pYTXZaR1ZuY21WbExtcHpiMjRpWFF+V3lKVVRqQlhhWFZaUmtoWFdrVjJaRFpJUVVKSFFTMW5JaXdnSW5SNWNHVWlMQ0FpU25OdmJsTmphR1Z0WVNKZH5XeUpWTW5Cek1reFlWRVJWYlZoM01EY3hSVkJtUlVwbklpd2dJbWxrSWl3Z0ltUnBaRHBsZUdGdGNHeGxPakV5TXlKZH5XeUpzUTA0MmVUTkVhVE5EVWs5VlgzSnVYelJFTldSbklpd2dJblI1Y0dVaUxDQWlRbUZqYUdWc2IzSkVaV2R5WldVaVhRfjtkYXRhOmFwcGxpY2F0aW9uL3ZjLWxkK3NkLWp3dCxleUpyYVdRaU9pSkZlRWhyUWsxWE9XWnRZbXQyVmpJMk5tMVNjSFZRTW5OVldWOU9YMFZYU1U0eGJHRndWWHBQT0hKdklpd2lZV3huSWpvaVJWTXlOVFlpZlEuZXlKZmMyUmZZV3huSWpvaWMyaGhMVEkxTmlJc0lrQmpiMjUwWlhoMElqcGJJbWgwZEhCek9pOHZkM2QzTG5jekxtOXlaeTl1Y3k5amNtVmtaVzUwYVdGc2N5OTJNaUlzSW1oMGRIQnpPaTh2ZDNkM0xuY3pMbTl5Wnk5dWN5OWpjbVZrWlc1MGFXRnNjeTlsZUdGdGNHeGxjeTkyTWlKZExDSnBjM04xWlhJaU9pSm9kSFJ3Y3pvdkwzVnVhWFpsY25OcGRIa3VaWGhoYlhCc1pTOXBjM04xWlhKekx6VTJOVEEwT1NJc0luWmhiR2xrUm5KdmJTSTZJakl3TVRBdE1ERXRNREZVTVRrNk1qTTZNalJhSWl3aVkzSmxaR1Z1ZEdsaGJGTmphR1Z0WVNJNmV5SmZjMlFpT2xzaU5XSkJlRE10ZUhCbVFXeFZTMFpKT1hOdU0yaFdRMjF3UjJ0cmNVbHpXbU16TFV4aU16Tm1XbXBpYXlJc0lscGpRWFpJTURoc2RFSnlTVXBtU1doME9GOXRTMUJmWXpOc2NHNVlNV05IY2xsdFZHOHdaMWxDZVRnaVhYMHNJbU55WldSbGJuUnBZV3hUZFdKcVpXTjBJanA3SW1SbFozSmxaU0k2ZXlKdVlXMWxJam9pUW1GamFHVnNiM0lnYjJZZ1UyTnBaVzVqWlNCaGJtUWdRWEowY3lJc0lsOXpaQ0k2V3lKU1QxUTNNVWwwZFROTU5sVlhXRlZxYnkxb1dWZEpRalkzYkhWUFRrVkVVbE5DYUd4RVZFTnhWVTlSSWwxOUxDSmZjMlFpT2xzaVRVVnVaWE5uTWxoUFVrNWpZM05DVFdWYVh6RTJNREpuZVRRd1VpMDBXVUoyVmxJd2VGRTRiMFk0WXlKZGZTd2lYM05rSWpwYklrVmxjMkppYXkxbWNHWndkMlpNT1hkT2N6RnhjalowYVU0M1puRXRTWFF6V1ZNMlYzWkNibDlpV0c4aUxDSmFiMUkxWkdSaGNrZHRaazE1TkVodVYweFZhazVVUm5GVVJqTllSalpwZEZCblpubEdRa2hWWDNGVklsMTkuZ3czcGF4YmtManBpOENUc3lScFhLYkM3dHBWYTBxMnNXS1NELV9kY2J1WjFMcFpWM29ROElmemNtMmJFOFJZM2ZtSmdidXlBOWdiUEwzc1FCYVR6a2cgfld5SlNlVVF4VmxCNFZIQnZibXRQZVhacGN6a3RhMjkzSWl3Z0ltbGtJaXdnSW1oMGRIQTZMeTkxYm1sMlpYSnphWFI1TG1WNFlXMXdiR1V2WTNKbFpHVnVkR2xoYkhNdk1UZzNNaUpkfld5SmZWamQxZVRkM2F5MVJNM1ZaZDJacFowTnZXVVZCSWl3Z0luUjVjR1VpTENCYklsWmxjbWxtYVdGaWJHVkRjbVZrWlc1MGFXRnNJaXdnSWtWNFlXMXdiR1ZCYkhWdGJtbERjbVZrWlc1MGFXRnNJbDFkfld5SmhhemRxTVRsbllWTXRSREpMWDJoelkzUlZaR05SSWl3Z0ltbGtJaXdnSW1oMGRIQnpPaTh2WlhoaGJYQnNaUzV2Y21jdlpYaGhiWEJzWlhNdlpHVm5jbVZsTG1wemIyNGlYUX5XeUpVVGpCWGFYVlpSa2hYV2tWMlpEWklRVUpIUVMxbklpd2dJblI1Y0dVaUxDQWlTbk52YmxOamFHVnRZU0pkfld5SlZNbkJ6TWt4WVZFUlZiVmgzTURjeFJWQm1SVXBuSWl3Z0ltbGtJaXdnSW1ScFpEcGxlR0Z0Y0d4bE9qRXlNeUpkfld5SnNRMDQyZVRORWFUTkRVazlWWDNKdVh6UkVOV1JuSWl3Z0luUjVjR1VpTENBaVFtRmphR1ZzYjNKRVpXZHlaV1VpWFF+IiwidHlwZSI6IkVudmVsb3BlZFZlcmlmaWFibGVDcmVkZW50aWFsIn1dfVhA4c9H+cu0VfS8NsItpzbB1mpvjP5y2DCxTCW+bY6/4SNPCaeP+uR+JRpJ+GzVNz7/W7ZlHoXguhgBBjWhlnhh+Q==
+ + These examples rely on + CBOR Diagnostic Notation. + Remember that all actual interchange always happens in the binary format. +
+{ / Protected /
+ 1: -35, / Algorithm /
+ 3: application/vc, / Content type /
+ 4: h'177f12cb...1933d554', / Key identifier /
+ 15: { / CWT Claims /
+ 1: urn:example:123, / Issuer /
+ 2: urn:example:456, / Subject /
+ },
+}
+ { / Protected /
+ 1: -35, / Algorithm /
+ 3: application/vp, / Content type /
+ 4: h'177f12cb...1933d554', / Key identifier /
+ 15: { / CWT Claims /
+ 1: urn:example:123, / Issuer /
+ 2: urn:example:456, / Subject /
+ },
+}
+ 18( / COSE Sign 1 /
+ [
+ h'a4013822...3a343536', / Protected Header /
+ {} / Unprotected Header /
+ h'0fbe22a0...3a009118', / Attached payload /
+ h'09772c7f...5c4e736f' / Signature /
+ ]
+)
+ + The payload can be either a credential or presentation as described in + Securing Mechanisms. +
+This section is non-normative.
+ ++ The Working Group thanks Orie Steele for his substantive intellectual + and content contributions to this specification. + It wouldn't be the same without them. +
+Referenced in:
+ +Referenced in:
+ +Referenced in:
+ +Referenced in:
+ +Referenced in:
+ +Referenced in:
+ +Referenced in:
+ +Referenced in:
+ +Referenced in:
+