使用 JOSE 和 COSE 保护可验证凭证的安全

W3C 推荐标准

关于本文档的更多详细信息
此版本:
https://www.w3.org/TR/2026/REC-vc-jose-cose-20261013/
最新发布版本:
https://www.w3.org/TR/vc-jose-cose/
最新编辑草案:
https://w3c.github.io/vc-jose-cose/
历史记录:
https://www.w3.org/standards/history/vc-jose-cose/
提交历史
实现报告:
https://w3c.github.io/vc-jose-cose-test-suite/
编辑:
Michael Jones(Self-Issued Consulting)
Michael Prorock,(Mesur.io)
Gabe Cohen,(受邀专家)
反馈:
GitHub w3c/vc-jose-cose (拉取请求, 新建议题, 未解决的议题)
勘误:
存在勘误。
相关文档
可验证凭证数据模型 v2.0
受控标识符 1.0

另请参阅 翻译版本。


摘要

本规范定义了如何保护符合 可验证凭证数据模型 [VC-DATA-MODEL-2.0] 的凭证和出示,具体使用 JSON 对象签名和加密 (JOSE)、 JWT 选择性披露 [SD-JWT], 以及 CBOR 对象签名和加密 (COSE) [RFC9052]。 这使得可验证凭证数据模型 [VC-DATA-MODEL-2.0] 能够使用已被 广泛采用的签名和加密标准来实现。

本文档状态

本节介绍 本文档发布时的状态。当前 W3C 出版物列表以及本技术报告的最新修订版可在 以下 W3C 标准与草案 索引中找到。

本文档由 可验证凭证工作 小组通过 W3C 推荐标准 流程发布为推荐标准。

W3C 建议将本规范作为 Web 标准 广泛部署。

W3C 推荐标准是经过广泛 共识形成过程后,获得 W3C 及其会员认可的规范,并且 工作小组成员承诺为其实现 提供免版税许可。

本文档由一个 遵循 W3C 专利 政策运作的小组制定。 W3C 维护一份 公开的专利披露列表, 其中列出了与该小组交付成果 相关的所有专利披露;该页面还包含 披露专利的说明。任何实际 知悉某项专利,并认为该专利包含 必要权利要求 的个人,都必须按照 W3C 专利政策第 6 节的规定披露相关信息。

本文档受 2025 年 8 月 18 日 W3C 流程文档管辖。

1. 引言

本规范定义了如何使用 IETF 的 JOSE、OAuth 和 COSE 工作小组 所定义的方法,保护表示 [VC-DATA-MODEL-2.0] 中所述 可验证凭证和可验证出示的媒体类型。 这些方法包括 JSON Web 签名 (JWS) [RFC7515]、JWT 选择性披露 [SD-JWT], 以及 CBOR 对象签名和加密 (COSE) [RFC9052]。 本规范使用内容类型 [RFC6838] 来区分 符合 [VC-DATA-MODEL-2.0] 的未保护文档的数据类型 与符合 [VC-DATA-MODEL-2.0] 的受保护文档的数据类型。

JSON Web 签名 (JWS) [RFC7515] 定义了一种使用基于 JSON 的 数据结构对包括 JSON 文档在内的文档进行数字签名的标准方法。 它提供了一种确保文档中所含信息的完整性、 真实性和不可否认性的方法。 JWT 选择性披露 (SD-JWT) [SD-JWT] 在 JWS 的基础上,还提供了一种允许选择性披露 文档元素的机制。这些特性使 JWS 和 SD-JWT 特别适合保护符合 [VC-DATA-MODEL-2.0] 的文档。

CBOR 对象签名和加密 (COSE) [RFC9052] 定义了一种 使用简明二进制对象表示 (CBOR) [RFC8949] 来表示经过数字签名的数据结构的标准方法。与 JWS 一样,COSE 提供了一种保护信息完整性、真实性和 机密性的标准化方法。它提供了一组灵活且可扩展的 密码学选项,允许使用多种不同的算法 进行签名和加密。

COSE 支持两种主要操作:签名和加密。对于签名, COSE 允许使用 RSA、ECDSA 和 EdDSA 等 各种算法为 CBOR 数据创建数字签名。这些签名 为数据的完整性和真实性提供保证。COSE 还支持 加密,通过使用对称或非对称加密算法 对 CBOR 数据进行加密来确保其机密性。

1.1 一致性

除标记为非规范性的章节外,本规范中的所有编写指南、图表、示例和注释 均为非规范性内容。本规范中的其他所有内容均为规范性内容。

本文档中的关键词 可以、必须、绝对 不得、不推荐、推荐、应该 和 不应该 应按照 BCP 14 [RFC2119] [RFC8174] 中的规定进行解释,但前提是且仅当这些关键词 如此处所示全部使用大写字母时。

1.1.1 一致性类别

符合规范的 JWS 文档是指符合 第 3.1 使用 JOSE 节中 所有“必须”声明的文档。

符合规范的 JWS 签发者实现会生成 符合规范的 JWS 文档,并且必须按照 第 3.1 使用 JOSE 节中的描述保护它们的安全。

符合规范的 JWS 验证者实现按照 第 符合规范的 JWS 文档中所述的方式验证文档, 3.1 使用 JOSE。

符合规范的 SD-JWT 文档是指符合 第 3.2 使用 SD-JWT 节中 所有“必须”声明的文档。

符合规范的 SD-JWT 签发者实现会生成 符合规范的 SD-JWT 文档,并且必须按照 第 3.2 使用 SD-JWT 节中的描述保护它们的安全。

符合规范的 SD-JWT 验证者实现按照 符合规范的 SD-JWT 文档中所述的方式验证文档, 第 3.2 使用 SD-JWT 节。

符合规范的 COSE 文档是指符合 第 3.3 使用 COSE 节中 所有“必须”声明的文档。

符合规范的 COSE 签发者实现会生成 符合规范的 COSE 文档,并且必须按照 第 3.3 使用 COSE 节中的描述保护它们的安全。

符合规范的 COSE 验证者实现按照 符合规范的 COSE 文档中所述的方式验证文档, 第 3.3 使用 COSE 节。

1.1.2 保护可验证 凭证的安全

可验证 凭证数据模型 v2.0 描述了本规范通过应用封装证明 来保护 JSON 和 CBOR 声明安全的方法。

本规范定义了如何使用不同的 封装证明机制来保护各种数据结构:

JSON Web 令牌 (JWT):
JWT 对整个 JWT 声明集提供安全保护。JWT 声明集 是一个 JSON 对象,其中包含关于某个实体 (通常是 JWT 主体)的一个或多个声明。如果需要披露 JWT 声明集的任何部分,就必须披露该集合中的所有声明; 无法选择只披露(或隐藏)部分 声明而隐藏(或披露)其他声明。
选择性披露 JSON Web 令牌 (SD-JWT):
SD-JWT 与 JWT 一样,用于保护 JWT 声明集, 但增加了选择性 披露或隐藏 JWT 声明集部分内容的能力。 JWT 声明集包含关于某个实体 (通常是 SD-JWT 主体)的一个或多个声明。
CBOR 对象签名和加密 (COSE):
COSE 用于保护 CBOR(简明二进制对象表示)数据结构的安全。 CBOR 是一种比 JSON 更紧凑的二进制数据格式, 专为资源受限环境设计。

在可验证凭证的上下文中:

  • 使用 JWT 时, 可验证凭证或出示会被编码为 JWT 声明集。
  • 使用 SD-JWT 时, 可验证凭证或出示会被编码为具有选择性 披露功能的 JWT 声明集。
  • 使用 COSE 时, 可验证凭证或出示会被编码为 CBOR 数据结构。

在所有情况下,可验证凭证 或出示的底层数据模型均与 [VC-DATA-MODEL-2.0] 保持一致, 但编码和安全机制有所不同。

安全 机制中的规范性声明适用于保护 application/vc+jwt 和 application/vp+jwt、 application/vc+sd-jwt 和 application/vp+sd-jwt、 application/vc+cose 和 application/vp+cose。

1.1.2.1 JWT 格式和 要求

建议 JSON Web 令牌的实现者查阅 实现要求。

JWT 的签发者、持有者和验证者必须理解 在使用 JSON Web 令牌保护 [VC-DATA-MODEL-2.0] 时, JSON Web 令牌标头参数设置 "alg": "none" 的影响。当 [VC-DATA-MODEL-2.0] 中的内容类型 使用 JSON Web 令牌进行保护时, 标头参数设置 "alg": "none" 用于表明编码为 JWT 声明集的可验证凭证或 可验证出示不具有 完整性保护。

签发者、持有者和验证者必须忽略所有 不具有完整性保护的 JWT 声明集。

JWT 声明名称 vc 和 vp 不得出现在任何构成 可验证凭证或可验证 出示的 JWT 声明集中。

1.1.2.2 SD-JWT 格式 和要求

本规范使用 IETF 草案 [SD-JWT] 中 定义的 JWT 选择性披露 (SD-JWT)。实现者应该参考 该草案,以了解 SD-JWT 格式和 处理要求的完整详细信息。

  • SD-JWT 由三个主要部分组成: SD-JWT 本身、可选的披露内容,以及可选的 KB-JWT(密钥 绑定 JWT)。这些部分使用波浪号 (~) 字符分隔。
  • 如果不存在 KB-JWT,SD-JWT 必须以 波浪号 (~) 字符结尾。这对于正确解析和 处理 SD-JWT 至关重要。
  • 选择性披露通过使用 披露对象实现。这些对象是经过 base64url 编码的 JSON 数组, 其中包含所披露声明的摘要、声明名称 和声明值。
  • 每个可披露声明在进行哈希计算之前 都会与盐值组合,以防止字典攻击。

2. 术语

本节定义了本规范中使用的术语。每当这些术语 出现在本规范中时,都会提供指向它们的链接。

公钥
一种密码学材料,可用于验证使用相应 私钥创建的数字证明。
私钥
一种可用于生成数字证明的密码学材料。
可验证凭证
一种用于表示可通过密码学验证的数字凭证的 标准数据模型和表示格式,由 W3C 可验证凭证规范 [VC-DATA-MODEL-2.0] 定义。
受控标识符文档
一种包含公开密码学材料的文档,如 受控 标识符 v1.0 规范中所定义。

3. 保护 VC 数据模型的安全

本节概述了如何使用 JOSE、SD-JWT 和 COSE 保护 符合 [VC-DATA-MODEL-2.0] 的文档。

符合 [VC-DATA-MODEL-2.0] 的文档 及其相关媒体类型依赖于 JSON-LD,这是一种用于描述 关联数据的可扩展格式;请参阅 JSON-LD 与 RDF 的关系。

这种方法的一个优点是,可以使载荷直接符合 [VC-DATA-MODEL-2.0],而无需进行任何映射或 转换,同时还支持 在 JOSE、SD-JWT 和 COSE 上下文中可识别的 已注册标头参数和声明。

推荐使用媒体类型来区分 可验证凭证 和可验证出示 与其他类型的受保护 JSON 或 CBOR。

应该使用可用的最具体媒体类型(或子类型), 而不是更通用的媒体类型(或超类型)。例如, 应该使用 application/vc+sd-jwt, 而不是通用的 application/sd-jwt, 除非存在能够更准确标识受保护 封装格式的媒体类型。

如果实现不知道应该使用哪种媒体类型, 则必须使用本规范定义的媒体类型。

3.1 使用 JOSE

3.1.1 使用 JOSE 保护 JSON-LD 可验证凭证 的安全

本节详细说明如何使用 JOSE 保护 符合 [VC-DATA-MODEL-2.0] 的 可验证凭证的安全。

符合规范的 JWS 签发者实现必须使用 [RFC7515] 来保护此媒体类型。未受保护的可验证凭证是 未编码的 JWS 载荷。

typ 标头参数应该为 vc+jwt。 如果存在,cty 标头参数应该为 vc。 使用 vc+jwt 时,可以使用 cty 标头参数值 来区分不同类型的受保护内容。 content type 标头参数是可选的,并且可以在存在 比 application/vc 更具体的媒体类型时用于表示该类型。 有关 typ 和 cty 用法的更多详细信息, 请参阅已注册的标头参数 名称。

符合规范的 JWS 验证者实现必须使用 [RFC7515] 来验证使用此媒体类型的 符合规范的 JWS 文档。

为了在通过不安全信道传输时加密受保护的 可验证凭证, 实现者可以使用 JSON Web 加密 (JWE) [RFC7516],将受保护的 可验证凭证嵌套为 JWE 的明文载荷,具体按照 [RFC7519] 中关于嵌套 JWT 的描述。

示例 1:使用 JOSE 保护可验证凭证 的简单示例
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": ["VerifiableCredential", "ExampleDegreeCredential", "ExamplePersonCredential"],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    },
    "alumniOf": {
      "name": "Example University"
    }
  },
  "credentialSchema": [{
    "id": "https://example.org/examples/degree.json",
    "type": "JsonSchema"
  },
  {
    "id": "https://example.org/examples/alumni.json",
    "type": "JsonSchema"
  }]
}
受保护的标头
{
  "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/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential",
    "ExamplePersonCredential"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    },
    "alumniOf": {
      "name": "Example University"
    }
  },
  "credentialSchema": [
    {
      "id": "https://example.org/examples/degree.json",
      "type": "JsonSchema"
    },
    {
      "id": "https://example.org/examples/alumni.json",
      "type": "JsonSchema"
    }
  ]
}
application/vc+jwt
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaWQiOiJodHRwOi8vdW5pdmVyc2l0eS5leGFtcGxlL2NyZWRlbnRpYWxzLzM3MzIiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRXhhbXBsZURlZ3JlZUNyZWRlbnRpYWwiLCJFeGFtcGxlUGVyc29uQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzE0IiwidmFsaWRGcm9tIjoiMjAxMC0wMS0wMVQxOToyMzoyNFoiLCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSIsImRlZ3JlZSI6eyJ0eXBlIjoiRXhhbXBsZUJhY2hlbG9yRGVncmVlIiwibmFtZSI6IkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMifSwiYWx1bW5pT2YiOnsibmFtZSI6IkV4YW1wbGUgVW5pdmVyc2l0eSJ9fSwiY3JlZGVudGlhbFNjaGVtYSI6W3siaWQiOiJodHRwczovL2V4YW1wbGUub3JnL2V4YW1wbGVzL2RlZ3JlZS5qc29uIiwidHlwZSI6Ikpzb25TY2hlbWEifSx7ImlkIjoiaHR0cHM6Ly9leGFtcGxlLm9yZy9leGFtcGxlcy9hbHVtbmkuanNvbiIsInR5cGUiOiJKc29uU2NoZW1hIn1dfQ .QrUx-tNDmMN6cdgA2dcIs81UPmDA2gkRPQDdgQ1P5gLzWL4vaR16Jwpb1SIrHXgwuQHEnmjmIYZPpI2l8MZ3WQ

有关此示例的更多详细信息,请参阅 可验证 凭证数据模型 v2.0。

3.1.2 使用 JOSE 保护 JSON-LD 可验证出示的安全

本节详细说明如何使用 JOSE 保护 符合 [VC-DATA-MODEL-2.0] 的 可验证 出示的安全。

符合规范的 JWS 签发者实现必须使用 [RFC7515] 来保护此媒体类型。未受保护的可验证 出示是 未编码的 JWS 载荷。

typ 标头参数应该为 vp+jwt。 如果存在,cty 标头参数应该为 vp。 使用 vp+jwt 时,可以使用 cty 标头参数值 来区分不同类型的受保护内容。 content type 标头参数是可选的,并且可以在存在 比 application/vc 更具体的媒体类型时用于表示该类型。 有关 typ 和 cty 用法的更多详细信息, 请参阅已注册的标头参数 名称。

符合规范的 JWS 验证者实现必须使用 [RFC7515] 来验证使用此媒体类型的 符合规范的 JWS 文档。

在可验证 出示中受到保护的可验证凭证 必须使用 [VC-DATA-MODEL-2.0] 定义的 封装的 可验证凭证类型。

可验证 出示中的可验证出示 必须使用 [VC-DATA-MODEL-2.0] 定义的 封装的 可验证出示类型。

可验证 出示中的凭证必须受到保护。 在此情况下,这些凭证使用 JWS 进行保护。

为了在通过不安全信道传输时加密受保护的 可验证 出示, 实现者可以使用 JSON Web 加密 (JWE) [RFC7516],将受保护的 可验证 出示嵌套为 JWE 的明文载荷, 具体按照 [RFC7519] 中关于嵌套 JWT 的描述。

示例 2:使用 EnvelopedVerifiableCredential 类型 并通过 JOSE 保护的可验证出示的简单示例
{
  "@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
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwidHlwZSI6IlZlcmlmaWFibGVQcmVzZW50YXRpb24iLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6W3siQGNvbnRleHQiOiJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJpZCI6ImRhdGE6YXBwbGljYXRpb24vdmMrand0LGV5SnJhV1FpT2lKRmVFaHJRazFYT1dadFltdDJWakkyTm0xU2NIVlFNbk5WV1Y5T1gwVlhTVTR4YkdGd1ZYcFBPSEp2SWl3aVlXeG5Jam9pUlZNek9EUWlmUS5leUpBWTI5dWRHVjRkQ0k2V3lKb2RIUndjem92TDNkM2R5NTNNeTV2Y21jdmJuTXZZM0psWkdWdWRHbGhiSE12ZGpJaUxDSm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3Zibk12WTNKbFpHVnVkR2xoYkhNdlpYaGhiWEJzWlhNdmRqSWlYU3dpYVdRaU9pSm9kSFJ3T2k4dmRXNXBkbVZ5YzJsMGVTNWxlR0Z0Y0d4bEwyTnlaV1JsYm5ScFlXeHpMekU0TnpJaUxDSjBlWEJsSWpwYklsWmxjbWxtYVdGaWJHVkRjbVZrWlc1MGFXRnNJaXdpUlhoaGJYQnNaVUZzZFcxdWFVTnlaV1JsYm5ScFlXd2lYU3dpYVhOemRXVnlJam9pYUhSMGNITTZMeTkxYm1sMlpYSnphWFI1TG1WNFlXMXdiR1V2YVhOemRXVnljeTgxTmpVd05Ea2lMQ0oyWVd4cFpFWnliMjBpT2lJeU1ERXdMVEF4TFRBeFZERTVPakl6T2pJMFdpSXNJbU55WldSbGJuUnBZV3hUWTJobGJXRWlPbnNpYVdRaU9pSm9kSFJ3Y3pvdkwyVjRZVzF3YkdVdWIzSm5MMlY0WVcxd2JHVnpMMlJsWjNKbFpTNXFjMjl1SWl3aWRIbHdaU0k2SWtwemIyNVRZMmhsYldFaWZTd2lZM0psWkdWdWRHbGhiRk4xWW1wbFkzUWlPbnNpYVdRaU9pSmthV1E2WlhoaGJYQnNaVG94TWpNaUxDSmtaV2R5WldVaU9uc2lkSGx3WlNJNklrSmhZMmhsYkc5eVJHVm5jbVZsSWl3aWJtRnRaU0k2SWtKaFkyaGxiRzl5SUc5bUlGTmphV1Z1WTJVZ1lXNWtJRUZ5ZEhNaWZYMTkuZDJrNE8zRnl0UUpmODNrTGgtSHNYdVB2aDZ5ZU9saEpFTFZvNVRGNzFndTdlbHNsUXlPZjJaSXRBWHJ0YlhGNEt6OVdpdk5kenRPYXl6NFZVUTBNd2E4eUNEWmtQOUIycEgtOVNfdGNBRnhlb2VKNlo0WG5GdUxfRE9ma1IxZlA7ZGF0YTphcHBsaWNhdGlvbi92Yytqd3QsZXlKcmFXUWlPaUpGZUVoclFrMVhPV1p0WW10MlZqSTJObTFTY0hWUU1uTlZXVjlPWDBWWFNVNHhiR0Z3VlhwUE9ISnZJaXdpWVd4bklqb2lSVk16T0RRaWZRLmV5SkFZMjl1ZEdWNGRDSTZXeUpvZEhSd2N6b3ZMM2QzZHk1M015NXZjbWN2Ym5NdlkzSmxaR1Z1ZEdsaGJITXZkaklpTENKb2RIUndjem92TDNkM2R5NTNNeTV2Y21jdmJuTXZZM0psWkdWdWRHbGhiSE12WlhoaGJYQnNaWE12ZGpJaVhTd2lhV1FpT2lKb2RIUndPaTh2ZFc1cGRtVnljMmwwZVM1bGVHRnRjR3hsTDJOeVpXUmxiblJwWVd4ekx6RTROeklpTENKMGVYQmxJanBiSWxabGNtbG1hV0ZpYkdWRGNtVmtaVzUwYVdGc0lpd2lSWGhoYlhCc1pVRnNkVzF1YVVOeVpXUmxiblJwWVd3aVhTd2lhWE56ZFdWeUlqb2lhSFIwY0hNNkx5OTFibWwyWlhKemFYUjVMbVY0WVcxd2JHVXZhWE56ZFdWeWN5ODFOalV3TkRraUxDSjJZV3hwWkVaeWIyMGlPaUl5TURFd0xUQXhMVEF4VkRFNU9qSXpPakkwV2lJc0ltTnlaV1JsYm5ScFlXeFRZMmhsYldFaU9uc2lhV1FpT2lKb2RIUndjem92TDJWNFlXMXdiR1V1YjNKbkwyVjRZVzF3YkdWekwyUmxaM0psWlM1cWMyOXVJaXdpZEhsd1pTSTZJa3B6YjI1VFkyaGxiV0VpZlN3aVkzSmxaR1Z1ZEdsaGJGTjFZbXBsWTNRaU9uc2lhV1FpT2lKa2FXUTZaWGhoYlhCc1pUb3hNak1pTENKa1pXZHlaV1VpT25zaWRIbHdaU0k2SWtKaFkyaGxiRzl5UkdWbmNtVmxJaXdpYm1GdFpTSTZJa0poWTJobGJHOXlJRzltSUZOamFXVnVZMlVnWVc1a0lFRnlkSE1pZlgxOS5kMms0TzNGeXRRSmY4M2tMaC1Ic1h1UHZoNnllT2xoSkVMVm81VEY3MWd1N2Vsc2xReU9mMlpJdEFYcnRiWEY0S3o5V2l2TmR6dE9heXo0VlVRME13YTh5Q0Raa1A5QjJwSC05U190Y0FGeGVvZUo2WjRYbkZ1TF9ET2ZrUjFmUCIsInR5cGUiOiJFbnZlbG9wZWRWZXJpZmlhYmxlQ3JlZGVudGlhbCJ9XX0 .vsK6a77s2kZD7wvNUzKnlSNAIijOYPPz3rf4t08_Mm4RF-e4LncPBLxCMjsn4PMe3axEEMUlvM9TsrtQUTOL5A

有关此示例的更多详细信息,请参阅 可验证 凭证数据模型 v2.0。

示例 3:使用 EnvelopedVerifiablePresentation 类型 并通过 JOSE 保护的可验证出示的简单示例
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "type": "EnvelopedVerifiablePresentation",
  "id": "data:application/vp+jwt,eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwidHlwZSI6IlZlcmlmaWFibGVQcmVzZW50YXRpb24iLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6W3siQGNvbnRleHQiOiJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJpZCI6ImRhdGE6YXBwbGljYXRpb24vdmMrand0LGV5SnJhV1FpT2lKRmVFaHJRazFYT1dadFltdDJWakkyTm0xU2NIVlFNbk5WV1Y5T1gwVlhTVTR4YkdGd1ZYcFBPSEp2SWl3aVlXeG5Jam9pUlZNek9EUWlmUS5leUpBWTI5dWRHVjRkQ0k2V3lKb2RIUndjem92TDNkM2R5NTNNeTV2Y21jdmJuTXZZM0psWkdWdWRHbGhiSE12ZGpJaUxDSm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3Zibk12WTNKbFpHVnVkR2xoYkhNdlpYaGhiWEJzWlhNdmRqSWlYU3dpYVdRaU9pSm9kSFJ3T2k4dmRXNXBkbVZ5YzJsMGVTNWxlR0Z0Y0d4bEwyTnlaV1JsYm5ScFlXeHpMekU0TnpJaUxDSjBlWEJsSWpwYklsWmxjbWxtYVdGaWJHVkRjbVZrWlc1MGFXRnNJaXdpUlhoaGJYQnNaVUZzZFcxdWFVTnlaV1JsYm5ScFlXd2lYU3dpYVhOemRXVnlJam9pYUhSMGNITTZMeTkxYm1sMlpYSnphWFI1TG1WNFlXMXdiR1V2YVhOemRXVnljeTgxTmpVd05Ea2lMQ0oyWVd4cFpFWnliMjBpT2lJeU1ERXdMVEF4TFRBeFZERTVPakl6T2pJMFdpSXNJbU55WldSbGJuUnBZV3hUWTJobGJXRWlPbnNpYVdRaU9pSm9kSFJ3Y3pvdkwyVjRZVzF3YkdVdWIzSm5MMlY0WVcxd2JHVnpMMlJsWjNKbFpTNXFjMjl1SWl3aWRIbHdaU0k2SWtwemIyNVRZMmhsYldFaWZTd2lZM0psWkdWdWRHbGhiRk4xWW1wbFkzUWlPbnNpYVdRaU9pSmthV1E2WlhoaGJYQnNaVG94TWpNaUxDSmtaV2R5WldVaU9uc2lkSGx3WlNJNklrSmhZMmhsYkc5eVJHVm5jbVZsSWl3aWJtRnRaU0k2SWtKaFkyaGxiRzl5SUc5bUlGTmphV1Z1WTJVZ1lXNWtJRUZ5ZEhNaWZYMTkuZDJrNE8zRnl0UUpmODNrTGgtSHNYdVB2aDZ5ZU9saEpFTFZvNVRGNzFndTdlbHNsUXlPZjJaSXRBWHJ0YlhGNEt6OVdpdk5kenRPYXl6NFZVUTBNd2E4eUNEWmtQOUIycEgtOVNfdGNBRnhlb2VKNlo0WG5GdUxfRE9ma1IxZlA7ZGF0YTphcHBsaWNhdGlvbi92Yytqd3QsZXlKcmFXUWlPaUpGZUVoclFrMVhPV1p0WW10MlZqSTJObTFTY0hWUU1uTlZXVjlPWDBWWFNVNHhiR0Z3VlhwUE9ISnZJaXdpWVd4bklqb2lSVk16T0RRaWZRLmV5SkFZMjl1ZEdWNGRDSTZXeUpvZEhSd2N6b3ZMM2QzZHk1M015NXZjbWN2Ym5NdlkzSmxaR1Z1ZEdsaGJITXZkaklpTENKb2RIUndjem92TDNkM2R5NTNNeTV2Y21jdmJuTXZZM0psWkdWdWRHbGhiSE12WlhoaGJYQnNaWE12ZGpJaVhTd2lhV1FpT2lKb2RIUndPaTh2ZFc1cGRtVnljMmwwZVM1bGVHRnRjR3hsTDJOeVpXUmxiblJwWVd4ekx6RTROeklpTENKMGVYQmxJanBiSWxabGNtbG1hV0ZpYkdWRGNtVmtaVzUwYVdGc0lpd2lSWGhoYlhCc1pVRnNkVzF1YVVOeVpXUmxiblJwWVd3aVhTd2lhWE56ZFdWeUlqb2lhSFIwY0hNNkx5OTFibWwyWlhKemFYUjVMbVY0WVcxd2JHVXZhWE56ZFdWeWN5ODFOalV3TkRraUxDSjJZV3hwWkVaeWIyMGlPaUl5TURFd0xUQXhMVEF4VkRFNU9qSXpPakkwV2lJc0ltTnlaV1JsYm5ScFlXeFRZMmhsYldFaU9uc2lhV1FpT2lKb2RIUndjem92TDJWNFlXMXdiR1V1YjNKbkwyVjRZVzF3YkdWekwyUmxaM0psWlM1cWMyOXVJaXdpZEhsd1pTSTZJa3B6YjI1VFkyaGxiV0VpZlN3aVkzSmxaR1Z1ZEdsaGJGTjFZbXBsWTNRaU9uc2lhV1FpT2lKa2FXUTZaWGhoYlhCc1pUb3hNak1pTENKa1pXZHlaV1VpT25zaWRIbHdaU0k2SWtKaFkyaGxiRzl5UkdWbmNtVmxJaXdpYm1GdFpTSTZJa0poWTJobGJHOXlJRzltSUZOamFXVnVZMlVnWVc1a0lFRnlkSE1pZlgxOS5kMms0TzNGeXRRSmY4M2tMaC1Ic1h1UHZoNnllT2xoSkVMVm81VEY3MWd1N2Vsc2xReU9mMlpJdEFYcnRiWEY0S3o5V2l2TmR6dE9heXo0VlVRME13YTh5Q0Raa1A5QjJwSC05U190Y0FGeGVvZUo2WjRYbkZ1TF9ET2ZrUjFmUCIsInR5cGUiOiJFbnZlbG9wZWRWZXJpZmlhYmxlQ3JlZGVudGlhbCJ9XX0.DiZfXw5jTXeDBobq5ZdcL3S3o8mioZJlqo3iHDtLcEww5L_n2ZJfAJU-a-SmqvMYM--7w4CmeOfq890UGsg_aQ"
}
受保护的标头
{
  "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,eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwidHlwZSI6IlZlcmlmaWFibGVQcmVzZW50YXRpb24iLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6W3siQGNvbnRleHQiOiJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJpZCI6ImRhdGE6YXBwbGljYXRpb24vdmMrand0LGV5SnJhV1FpT2lKRmVFaHJRazFYT1dadFltdDJWakkyTm0xU2NIVlFNbk5WV1Y5T1gwVlhTVTR4YkdGd1ZYcFBPSEp2SWl3aVlXeG5Jam9pUlZNek9EUWlmUS5leUpBWTI5dWRHVjRkQ0k2V3lKb2RIUndjem92TDNkM2R5NTNNeTV2Y21jdmJuTXZZM0psWkdWdWRHbGhiSE12ZGpJaUxDSm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3Zibk12WTNKbFpHVnVkR2xoYkhNdlpYaGhiWEJzWlhNdmRqSWlYU3dpYVdRaU9pSm9kSFJ3T2k4dmRXNXBkbVZ5YzJsMGVTNWxlR0Z0Y0d4bEwyTnlaV1JsYm5ScFlXeHpMekU0TnpJaUxDSjBlWEJsSWpwYklsWmxjbWxtYVdGaWJHVkRjbVZrWlc1MGFXRnNJaXdpUlhoaGJYQnNaVUZzZFcxdWFVTnlaV1JsYm5ScFlXd2lYU3dpYVhOemRXVnlJam9pYUhSMGNITTZMeTkxYm1sMlpYSnphWFI1TG1WNFlXMXdiR1V2YVhOemRXVnljeTgxTmpVd05Ea2lMQ0oyWVd4cFpFWnliMjBpT2lJeU1ERXdMVEF4TFRBeFZERTVPakl6T2pJMFdpSXNJbU55WldSbGJuUnBZV3hUWTJobGJXRWlPbnNpYVdRaU9pSm9kSFJ3Y3pvdkwyVjRZVzF3YkdVdWIzSm5MMlY0WVcxd2JHVnpMMlJsWjNKbFpTNXFjMjl1SWl3aWRIbHdaU0k2SWtwemIyNVRZMmhsYldFaWZTd2lZM0psWkdWdWRHbGhiRk4xWW1wbFkzUWlPbnNpYVdRaU9pSmthV1E2WlhoaGJYQnNaVG94TWpNaUxDSmtaV2R5WldVaU9uc2lkSGx3WlNJNklrSmhZMmhsYkc5eVJHVm5jbVZsSWl3aWJtRnRaU0k2SWtKaFkyaGxiRzl5SUc5bUlGTmphV1Z1WTJVZ1lXNWtJRUZ5ZEhNaWZYMTkuZDJrNE8zRnl0UUpmODNrTGgtSHNYdVB2aDZ5ZU9saEpFTFZvNVRGNzFndTdlbHNsUXlPZjJaSXRBWHJ0YlhGNEt6OVdpdk5kenRPYXl6NFZVUTBNd2E4eUNEWmtQOUIycEgtOVNfdGNBRnhlb2VKNlo0WG5GdUxfRE9ma1IxZlA7ZGF0YTphcHBsaWNhdGlvbi92Yytqd3QsZXlKcmFXUWlPaUpGZUVoclFrMVhPV1p0WW10MlZqSTJObTFTY0hWUU1uTlZXVjlPWDBWWFNVNHhiR0Z3VlhwUE9ISnZJaXdpWVd4bklqb2lSVk16T0RRaWZRLmV5SkFZMjl1ZEdWNGRDSTZXeUpvZEhSd2N6b3ZMM2QzZHk1M015NXZjbWN2Ym5NdlkzSmxaR1Z1ZEdsaGJITXZkaklpTENKb2RIUndjem92TDNkM2R5NTNNeTV2Y21jdmJuTXZZM0psWkdWdWRHbGhiSE12WlhoaGJYQnNaWE12ZGpJaVhTd2lhV1FpT2lKb2RIUndPaTh2ZFc1cGRtVnljMmwwZVM1bGVHRnRjR3hsTDJOeVpXUmxiblJwWVd4ekx6RTROeklpTENKMGVYQmxJanBiSWxabGNtbG1hV0ZpYkdWRGNtVmtaVzUwYVdGc0lpd2lSWGhoYlhCc1pVRnNkVzF1YVVOeVpXUmxiblJwWVd3aVhTd2lhWE56ZFdWeUlqb2lhSFIwY0hNNkx5OTFibWwyWlhKemFYUjVMbVY0WVcxd2JHVXZhWE56ZFdWeWN5ODFOalV3TkRraUxDSjJZV3hwWkVaeWIyMGlPaUl5TURFd0xUQXhMVEF4VkRFNU9qSXpPakkwV2lJc0ltTnlaV1JsYm5ScFlXeFRZMmhsYldFaU9uc2lhV1FpT2lKb2RIUndjem92TDJWNFlXMXdiR1V1YjNKbkwyVjRZVzF3YkdWekwyUmxaM0psWlM1cWMyOXVJaXdpZEhsd1pTSTZJa3B6YjI1VFkyaGxiV0VpZlN3aVkzSmxaR1Z1ZEdsaGJGTjFZbXBsWTNRaU9uc2lhV1FpT2lKa2FXUTZaWGhoYlhCc1pUb3hNak1pTENKa1pXZHlaV1VpT25zaWRIbHdaU0k2SWtKaFkyaGxiRzl5UkdWbmNtVmxJaXdpYm1GdFpTSTZJa0poWTJobGJHOXlJRzltSUZOamFXVnVZMlVnWVc1a0lFRnlkSE1pZlgxOS5kMms0TzNGeXRRSmY4M2tMaC1Ic1h1UHZoNnllT2xoSkVMVm81VEY3MWd1N2Vsc2xReU9mMlpJdEFYcnRiWEY0S3o5V2l2TmR6dE9heXo0VlVRME13YTh5Q0Raa1A5QjJwSC05U190Y0FGeGVvZUo2WjRYbkZ1TF9ET2ZrUjFmUCIsInR5cGUiOiJFbnZlbG9wZWRWZXJpZmlhYmxlQ3JlZGVudGlhbCJ9XX0.DiZfXw5jTXeDBobq5ZdcL3S3o8mioZJlqo3iHDtLcEww5L_n2ZJfAJU-a-SmqvMYM--7w4CmeOfq890UGsg_aQ"
}
application/vp+jwt
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwidHlwZSI6IkVudmVsb3BlZFZlcmlmaWFibGVQcmVzZW50YXRpb24iLCJpZCI6ImRhdGE6YXBwbGljYXRpb24vdnArand0LGV5SnJhV1FpT2lKRmVFaHJRazFYT1dadFltdDJWakkyTm0xU2NIVlFNbk5WV1Y5T1gwVlhTVTR4YkdGd1ZYcFBPSEp2SWl3aVlXeG5Jam9pUlZNeU5UWWlmUS5leUpBWTI5dWRHVjRkQ0k2V3lKb2RIUndjem92TDNkM2R5NTNNeTV2Y21jdmJuTXZZM0psWkdWdWRHbGhiSE12ZGpJaUxDSm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3Zibk12WTNKbFpHVnVkR2xoYkhNdlpYaGhiWEJzWlhNdmRqSWlYU3dpZEhsd1pTSTZJbFpsY21sbWFXRmliR1ZRY21WelpXNTBZWFJwYjI0aUxDSjJaWEpwWm1saFlteGxRM0psWkdWdWRHbGhiQ0k2VzNzaVFHTnZiblJsZUhRaU9pSm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3Zibk12WTNKbFpHVnVkR2xoYkhNdmRqSWlMQ0pwWkNJNkltUmhkR0U2WVhCd2JHbGpZWFJwYjI0dmRtTXJhbmQwTEdWNVNuSmhWMUZwVDJsS1JtVkZhSEpSYXpGWVQxZGFkRmx0ZERKV2Fra3lUbTB4VTJOSVZsRk5iazVXVjFZNVQxZ3dWbGhUVlRSNFlrZEdkMVpZY0ZCUFNFcDJTV2wzYVZsWGVHNUphbTlwVWxaTmVrOUVVV2xtVVM1bGVVcEJXVEk1ZFdSSFZqUmtRMGsyVjNsS2IyUklVbmRqZW05MlRETmtNMlI1TlROTmVUVjJZMjFqZG1KdVRYWlpNMHBzV2tkV2RXUkhiR2hpU0UxMlpHcEphVXhEU205a1NGSjNZM3B2ZGt3elpETmtlVFV6VFhrMWRtTnRZM1ppYmsxMldUTktiRnBIVm5Wa1IyeG9Za2hOZGxwWWFHaGlXRUp6V2xoTmRtUnFTV2xZVTNkcFlWZFJhVTlwU205a1NGSjNUMms0ZG1SWE5YQmtiVlo1WXpKc01HVlROV3hsUjBaMFkwZDRiRXd5VG5sYVYxSnNZbTVTY0ZsWGVIcE1la1UwVG5wSmFVeERTakJsV0VKc1NXcHdZa2xzV214amJXeHRZVmRHYVdKSFZrUmpiVlpyV2xjMU1HRlhSbk5KYVhkcFVsaG9hR0pZUW5OYVZVWnpaRmN4ZFdGVlRubGFWMUpzWW01U2NGbFhkMmxZVTNkcFlWaE9lbVJYVm5sSmFtOXBZVWhTTUdOSVRUWk1lVGt4WW0xc01scFlTbnBoV0ZJMVRHMVdORmxYTVhkaVIxVjJZVmhPZW1SWFZubGplVGd4VG1wVmQwNUVhMmxNUTBveVdWZDRjRnBGV25saU1qQnBUMmxKZVUxRVJYZE1WRUY0VEZSQmVGWkVSVFZQYWtsNlQycEpNRmRwU1hOSmJVNTVXbGRTYkdKdVVuQlpWM2hVV1RKb2JHSlhSV2xQYm5OcFlWZFJhVTlwU205a1NGSjNZM3B2ZGt3eVZqUlpWekYzWWtkVmRXSXpTbTVNTWxZMFdWY3hkMkpIVm5wTU1sSnNXak5LYkZwVE5YRmpNamwxU1dsM2FXUkliSGRhVTBrMlNXdHdlbUl5TlZSWk1taHNZbGRGYVdaVGQybFpNMHBzV2tkV2RXUkhiR2hpUms0eFdXMXdiRmt6VVdsUGJuTnBZVmRSYVU5cFNtdGhWMUUyV2xob2FHSllRbk5hVkc5NFRXcE5hVXhEU210YVYyUjVXbGRWYVU5dWMybGtTR3gzV2xOSk5rbHJTbWhaTW1oc1lrYzVlVkpIVm01amJWWnNTV2wzYVdKdFJuUmFVMGsyU1d0S2FGa3lhR3hpUnpsNVNVYzViVWxHVG1waFYxWjFXVEpWWjFsWE5XdEpSVVo1WkVoTmFXWllNVGt1WkRKck5FOHpSbmwwVVVwbU9ETnJUR2d0U0hOWWRWQjJhRFo1WlU5c2FFcEZURlp2TlZSR056Rm5kVGRsYkhOc1VYbFBaakphU1hSQldISjBZbGhHTkV0Nk9WZHBkazVrZW5SUFlYbDZORlpWVVRCTmQyRTRlVU5FV210UU9VSXljRWd0T1ZOZmRHTkJSbmhsYjJWS05sbzBXRzVHZFV4ZlJFOW1hMUl4WmxBN1pHRjBZVHBoY0hCc2FXTmhkR2x2Ymk5Mll5dHFkM1FzWlhsS2NtRlhVV2xQYVVwR1pVVm9jbEZyTVZoUFYxcDBXVzEwTWxacVNUSk9iVEZUWTBoV1VVMXVUbFpYVmpsUFdEQldXRk5WTkhoaVIwWjNWbGh3VUU5SVNuWkphWGRwV1ZkNGJrbHFiMmxTVmsxNlQwUlJhV1pSTG1WNVNrRlpNamwxWkVkV05HUkRTVFpYZVVwdlpFaFNkMk42YjNaTU0yUXpaSGsxTTAxNU5YWmpiV04yWW01TmRsa3pTbXhhUjFaMVpFZHNhR0pJVFhaa2FrbHBURU5LYjJSSVVuZGplbTkyVEROa00yUjVOVE5OZVRWMlkyMWpkbUp1VFhaWk0wcHNXa2RXZFdSSGJHaGlTRTEyV2xob2FHSllRbk5hV0UxMlpHcEphVmhUZDJsaFYxRnBUMmxLYjJSSVVuZFBhVGgyWkZjMWNHUnRWbmxqTW13d1pWTTFiR1ZIUm5SalIzaHNUREpPZVZwWFVteGlibEp3V1ZkNGVreDZSVFJPZWtscFRFTktNR1ZZUW14SmFuQmlTV3hhYkdOdGJHMWhWMFpwWWtkV1JHTnRWbXRhVnpVd1lWZEdjMGxwZDJsU1dHaG9ZbGhDYzFwVlJuTmtWekYxWVZWT2VWcFhVbXhpYmxKd1dWZDNhVmhUZDJsaFdFNTZaRmRXZVVscWIybGhTRkl3WTBoTk5reDVPVEZpYld3eVdsaEtlbUZZVWpWTWJWWTBXVmN4ZDJKSFZYWmhXRTU2WkZkV2VXTjVPREZPYWxWM1RrUnJhVXhEU2pKWlYzaHdXa1ZhZVdJeU1HbFBhVWw1VFVSRmQweFVRWGhNVkVGNFZrUkZOVTlxU1hwUGFra3dWMmxKYzBsdFRubGFWMUpzWW01U2NGbFhlRlJaTW1oc1lsZEZhVTl1YzJsaFYxRnBUMmxLYjJSSVVuZGplbTkyVERKV05GbFhNWGRpUjFWMVlqTktia3d5VmpSWlZ6RjNZa2RXZWt3eVVteGFNMHBzV2xNMWNXTXlPWFZKYVhkcFpFaHNkMXBUU1RaSmEzQjZZakkxVkZreWFHeGlWMFZwWmxOM2FWa3pTbXhhUjFaMVpFZHNhR0pHVGpGWmJYQnNXVE5SYVU5dWMybGhWMUZwVDJsS2EyRlhVVFphV0dob1lsaENjMXBVYjNoTmFrMXBURU5LYTFwWFpIbGFWMVZwVDI1emFXUkliSGRhVTBrMlNXdEthRmt5YUd4aVJ6bDVVa2RXYm1OdFZteEphWGRwWW0xR2RGcFRTVFpKYTBwb1dUSm9iR0pIT1hsSlJ6bHRTVVpPYW1GWFZuVlpNbFZuV1ZjMWEwbEZSbmxrU0UxcFpsZ3hPUzVrTW1zMFR6TkdlWFJSU21ZNE0ydE1hQzFJYzFoMVVIWm9ObmxsVDJ4b1NrVk1WbTgxVkVZM01XZDFOMlZzYzJ4UmVVOW1NbHBKZEVGWWNuUmlXRVkwUzNvNVYybDJUbVI2ZEU5aGVYbzBWbFZSTUUxM1lUaDVRMFJhYTFBNVFqSndTQzA1VTE5MFkwRkdlR1Z2WlVvMldqUllia1oxVEY5RVQyWnJVakZtVUNJc0luUjVjR1VpT2lKRmJuWmxiRzl3WldSV1pYSnBabWxoWW14bFEzSmxaR1Z1ZEdsaGJDSjlYWDAuRGlaZlh3NWpUWGVEQm9icTVaZGNMM1MzbzhtaW9aSmxxbzNpSER0TGNFd3c1TF9uMlpKZkFKVS1hLVNtcXZNWU0tLTd3NENtZU9mcTg5MFVHc2dfYVEiLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6W119 .5FgAB4w5gr-HMORL4-WYz8llyIiMGcJgREEKK4jla4Do6VZmBGnjbQ_OMQTcXJ0ylPBLkpoXWJZB72nIi5_oUQ

有关此示例的更多详细信息,请参阅 可验证 凭证数据模型 v2.0。

实现必须支持 JWS 紧凑序列化。 不推荐使用 JWS JSON 序列化。

3.1.3 JOSE 标头参数和 JWT 声明

本节为非规范性内容。

当 JOSE 标头 或 JWT 声明集中存在 已在 IANA JSON Web 令牌声明 注册表或 IANA JSON Web 签名和加密标头 参数 注册表中注册的成员时,应按照 注册表所引用规范中的定义进行解释。

已注册的标头参数 名称、 JOSE 标头以及 将声明复制为标头 参数中的规范性声明 适用于保护凭证和出示的安全。

未编码的 JOSE 标头是 JSON (application/json),而不是 JSON-LD (application/ld+json)。

推荐使用 IANA JSON Web 令牌声明 注册表和 IANA JSON Web 签名和加密标头 参数 注册表来识别可能与 [VC-DATA-MODEL-2.0] 定义的成员混淆的 声明和标头参数。 这些成员包括但不限于:iss、 kid、alg、iat、 exp 和 cnf。

当存在 iat(签发时间)和/或 exp(过期时间)JWT 声明时,它们 分别表示签名的签发时间和过期时间。 请注意,这些时间不同于 有效期中定义的 validFrom 和 validUntil 属性, 后者表示受保护数据的有效期。 不推荐使用 nbf(不得早于)声明, 因为试图为 签名指定未来日期几乎没有意义。

本规范提供的声明和安全保护 独立于 [VC-DATA-MODEL-2.0] 所保护的数据及其提供的语义。 这意味着,虽然本规范的安全功能 可以确保数据的完整性和真实性, 但它们并不规定如何解释声明数据。

当 JWT 声明和可验证凭证属性 指向同一概念实体时,实现者应该避免将 JWT 声明设置为 与可验证凭证 属性值冲突的值, 尤其是 iss 与 issuer、jti 与 id、 以及 sub 与 credentialSubject.id 等配对。 例如,JWK 声明 iss不应该被设置为 与可验证凭证的 issuer 属性值冲突的值。

JWT 声明名称 vc 和 vp不得 出现。

可以将其他成员作为标头参数和声明。 如果无法识别这些成员,则必须忽略它们。

3.2 使用 SD-JWT

3.2.1 使用 SD-JWT 保护 JSON-LD 可验证凭证 的安全

本节详细说明如何使用 JOSE 保护 符合 [VC-DATA-MODEL-2.0] 的 可验证凭证的安全。

符合规范的 SD-JWT 签发者实现必须使用 [SD-JWT] 来保护此媒体类型。 未受保护的可验证凭证是 输入的 JWT 声明集。 随后,签发者按照 SD-JWT 签发说明, 将输入的 JWT 声明集(即未受保护的 可验证凭证)转换为 [SD-JWT] 载荷。

typ 标头参数应该为 vc+sd-jwt。 如果存在,cty 标头参数应该为 vc。 使用 vc+sd-jwt 时,可以使用 cty 标头参数值 来区分不同类型的受保护内容。 content type 标头参数是可选的,并且可以在存在 比 application/vc 更具体的媒体类型时用于表示该类型。 有关 typ 和 cty 用法的更多详细信息, 请参阅已注册的标头参数 名称。

符合规范的 SD-JWT 验证者实现必须使用 [SD-JWT] 来验证使用此媒体类型的 符合规范的 JWS 文档。

使用 [SD-JWT] 保护可验证凭证时, 实现者应该确保验证凭证所必需的 属性不可选择性 披露(即这些属性应该被披露)。 这些属性可以包括但不限于 @context、 type、 credentialStatus、 credentialSchema 和relatedResource。

为了在通过不安全信道传输时加密受保护的 可验证凭证, 实现者可以使用 JSON Web 加密 (JWE) [RFC7516],将受保护的 可验证凭证嵌套为 JWE 的明文载荷, 具体按照 [SD-JWT] 第 11.2 节中的说明。

示例 4:使用 SD-JWT 保护可验证凭证 的简单示例
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": ["VerifiableCredential", "ExampleDegreeCredential", "ExamplePersonCredential"],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    },
    "alumniOf": {
      "name": "Example University"
    }
  },
  "credentialSchema": [{
    "id": "https://example.org/examples/degree.json",
    "type": "JsonSchema"
  },
  {
    "id": "https://example.org/examples/alumni.json",
    "type": "JsonSchema"
  }]
}
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJpYXQiOjE3OTE1MjU4MTUsImV4cCI6MTc5MjczNTQxNSwiX3NkX2FsZyI6InNoYS0yNTYiLCJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy8xNCIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiZGVncmVlIjp7Im5hbWUiOiJCYWNoZWxvciBvZiBTY2llbmNlIGFuZCBBcnRzIiwiX3NkIjpbInJoTVVwOTlsMTFMX201YWNsYW84ZWUtdm5PUXFXQ3RyVnZSSm1oRkhDLTAiXX0sImFsdW1uaU9mIjp7Im5hbWUiOiJFeGFtcGxlIFVuaXZlcnNpdHkifSwiX3NkIjpbIlVtaDRiX0RiWjB5Xy1LMWdSMjR3VVBEeHV4WkhvdURZTTdObElUT2RCNE0iXX0sImNyZWRlbnRpYWxTY2hlbWEiOlt7Il9zZCI6WyJJSDBvRmxYcHdGMVhuaE9aTDZFWTNyUE56R0FIM05rXy1tM0lhZ29vaDNVIiwia0oxVFlfMzZVTW5OR0t0dnFtWlktSWM5TjRjWm5zSzNoVkxMRzFHWkk5byJdfSx7Il9zZCI6WyI2dTR1OHhtRHJnQVFJT0d0YmJGdmQ1ZEwxMmFSR2REejhudF9ZdjU5dzZRIiwiTWtCMkNhRVJPWjJQbXNyZzBtdXJfOGF3Sy1oVWhpSjJ4RkxTUkRCUHVadyJdfV0sIl9zZCI6WyIwWGNlRlhOQ1l6NWN1b0dtT3czd3dRMVFfZ2pDMWhQYjRKNDNlNi00WXNFIiwiYlQ0UkwxNWdBWGY0VXlKTWlvU1RJN3lFNVBJQkxtcW9HSjh1NFY1dFlacyJdfQ .orlnf8WBU7Iea-LkDjTRuY8Yqy11aabm8QGaTMbvV_Tf2c4qKn1hGCICz6-V3T_lgV1835LVd4wtAPW-LUSCag ~WyItZUhiTmNnQXZRUk9kc0RqOEY0eGNRIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMzczMiJd~WyI1Mk12Q0Y1NS0zaE1vQVJKVU5YWThBIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVEZWdyZWVDcmVkZW50aWFsIiwgIkV4YW1wbGVQZXJzb25DcmVkZW50aWFsIl1d~WyJnTkhaLTZDaXYzWkdwY2RSZnI2RVBnIiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd~WyJKdFFSbm1pbF9rb3BRbXVQcTk0VmZnIiwgInR5cGUiLCAiRXhhbXBsZUJhY2hlbG9yRGVncmVlIl0~WyJOYXY3UkhoMF9xakZJcHZrRzBtUmZRIiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvZGVncmVlLmpzb24iXQ~WyJCaWZWNHRJdHo3d3BXWUlaLWs5dDR3IiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyJWd1ZWUkQ3OVk5bFA0bmdRUE9uczVRIiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvYWx1bW5pLmpzb24iXQ~WyJCc1JRUEd3d1B3VlVuemF4dWFfRDZBIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
{
  "iat": 1791525815,
  "exp": 1792735415,
  "_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/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "degree": {
      "name": "Bachelor of Science and Arts",
      "_sd": [
        "rhMUp99l11L_m5aclao8ee-vnOQqWCtrVvRJmhFHC-0"
      ]
    },
    "alumniOf": {
      "name": "Example University"
    },
    "_sd": [
      "Umh4b_DbZ0y_-K1gR24wUPDxuxZHouDYM7NlITOdB4M"
    ]
  },
  "credentialSchema": [
    {
      "_sd": [
        "IH0oFlXpwF1XnhOZL6EY3rPNzGAH3Nk_-m3Iagooh3U",
        "kJ1TY_36UMnNGKtvqmZY-Ic9N4cZnsK3hVLLG1GZI9o"
      ]
    },
    {
      "_sd": [
        "6u4u8xmDrgAQIOGtbbFvd5dL12aRGdDz8nt_Yv59w6Q",
        "MkB2CaEROZ2Pmsrg0mur_8awK-hUhiJ2xFLSRDBPuZw"
      ]
    }
  ],
  "_sd": [
    "0XceFXNCYz5cuoGmOw3wwQ1Q_gjC1hPb4J43e6-4YsE",
    "bT4RL15gAXf4UyJMioSTI7yE5PIBLmqoGJ8u4V5tYZs"
  ]
}

声明: id

SHA-256 哈希值: bT4RL15gAXf4UyJMioSTI7yE5PIBLmqoGJ8u4V5tYZs

披露内容: WyItZUhiTmNnQXZRUk9kc0RqOEY0eGNRIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMzczMiJd

内容: [
  "-eHbNcgAvQROdsDj8F4xcQ",
  "id",
  "http://university.example/credentials/3732"
]

声明: type

SHA-256 哈希值: 0XceFXNCYz5cuoGmOw3wwQ1Q_gjC1hPb4J43e6-4YsE

披露内容: WyI1Mk12Q0Y1NS0zaE1vQVJKVU5YWThBIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVEZWdyZWVDcmVkZW50aWFsIiwgIkV4YW1wbGVQZXJzb25DcmVkZW50aWFsIl1d

内容: [
  "52MvCF55-3hMoARJUNXY8A",
  "type",
  [
    "VerifiableCredential",
    "ExampleDegreeCredential",
    "ExamplePersonCredential"
  ]
]

声明: id

SHA-256 哈希值: Umh4b_DbZ0y_-K1gR24wUPDxuxZHouDYM7NlITOdB4M

披露内容: WyJnTkhaLTZDaXYzWkdwY2RSZnI2RVBnIiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd

内容: [
  "gNHZ-6Civ3ZGpcdRfr6EPg",
  "id",
  "did:example:ebfeb1f712ebc6f1c276e12ec21"
]

声明: type

SHA-256 哈希值: rhMUp99l11L_m5aclao8ee-vnOQqWCtrVvRJmhFHC-0

披露内容: WyJKdFFSbm1pbF9rb3BRbXVQcTk0VmZnIiwgInR5cGUiLCAiRXhhbXBsZUJhY2hlbG9yRGVncmVlIl0

内容: [
  "JtQRnmil_kopQmuPq94Vfg",
  "type",
  "ExampleBachelorDegree"
]

声明: id

SHA-256 哈希值: IH0oFlXpwF1XnhOZL6EY3rPNzGAH3Nk_-m3Iagooh3U

披露内容: WyJOYXY3UkhoMF9xakZJcHZrRzBtUmZRIiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvZGVncmVlLmpzb24iXQ

内容: [
  "Nav7RHh0_qjFIpvkG0mRfQ",
  "id",
  "https://example.org/examples/degree.json"
]

声明: type

SHA-256 哈希值: kJ1TY_36UMnNGKtvqmZY-Ic9N4cZnsK3hVLLG1GZI9o

披露内容: WyJCaWZWNHRJdHo3d3BXWUlaLWs5dDR3IiwgInR5cGUiLCAiSnNvblNjaGVtYSJd

内容: [
  "BifV4tItz7wpWYIZ-k9t4w",
  "type",
  "JsonSchema"
]

声明: id

SHA-256 哈希值: MkB2CaEROZ2Pmsrg0mur_8awK-hUhiJ2xFLSRDBPuZw

披露内容: WyJWd1ZWUkQ3OVk5bFA0bmdRUE9uczVRIiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvYWx1bW5pLmpzb24iXQ

内容: [
  "VwVVRD79Y9lP4ngQPOns5Q",
  "id",
  "https://example.org/examples/alumni.json"
]

声明: type

SHA-256 哈希值: 6u4u8xmDrgAQIOGtbbFvd5dL12aRGdDz8nt_Yv59w6Q

披露内容: WyJCc1JRUEd3d1B3VlVuemF4dWFfRDZBIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd

内容: [
  "BsRQPGwwPwVUnzaxua_D6A",
  "type",
  "JsonSchema"
]

有关此示例的更多详细信息,请参阅 可验证 凭证数据模型 v2.0。

3.2.2 使用 SD-JWT 保护 JSON-LD 可验证 出示的安全

本节详细说明如何使用 [SD-JWT] 保护 符合 [VC-DATA-MODEL-2.0] 的 可验证 出示的安全。

符合规范的 SD-JWT 签发者实现必须使用 [SD-JWT] 保护此媒体类型。 未受保护的可验证 出示是未编码的 [SD-JWT] 载荷。

typ 标头参数应该为 vp+sd-jwt。 如果存在,cty 标头参数应该为 vp。 使用 vp+sd-jwt 时,可以使用 cty 标头参数值 来区分不同类型的受保护内容。 content type 标头参数是可选的,并且可以在存在 比 application/vc 更具体的媒体类型时用于表示该类型。 有关 typ 和 cty 用法的更多详细信息, 请参阅已注册的标头参数 名称。

符合规范的 SD-JWT 验证者实现必须使用 [SD-JWT] 来验证使用此媒体类型的 符合规范的 JWS 文档。

在可验证 出示中受到保护的可验证凭证 必须使用 [VC-DATA-MODEL-2.0] 定义的 封装的 可验证凭证类型。

可验证 出示中的可验证出示 必须使用 [VC-DATA-MODEL-2.0] 定义的 封装的 可验证出示类型。

可验证 出示中的凭证必须受到保护。 在此情况下,这些凭证使用 SD-JWT 进行保护。

使用 [SD-JWT] 保护可验证 出示时, 实现者应该确保验证凭证所必需的 属性不可选择性 披露(即这些属性应该被披露)。 这些属性可以包括但不限于 @context、 type、 credentialStatus、 credentialSchema 和relatedResource。

为了在通过不安全信道传输时加密受保护的 可验证 出示, 实现者可以使用 JSON Web 加密 (JWE) [RFC7516],将受保护的 可验证 出示嵌套为 JWE 的明文载荷, 具体按照 [SD-JWT] 第 11.2 节中的说明。

示例 5:使用 EnvelopedVerifiableCredential 类型 并通过 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~"
  }]
}
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJpYXQiOjE3OTE1MjU4MTUsImV4cCI6MTc5MjczNTQxNSwiX3NkX2FsZyI6InNoYS0yNTYiLCJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwidmVyaWZpYWJsZUNyZWRlbnRpYWwiOlt7IkBjb250ZXh0IjoiaHR0cHM6Ly93d3cudzMub3JnL25zL2NyZWRlbnRpYWxzL3YyIiwiX3NkIjpbIjdWZWdHaWI3anZSX01UZTgyQjAzVkhUVFpEM19Cb1B6bkJHdnpWR1o4TGciLCJValRrOWtfWVpkZDNsd1RsZEJFRGpoRkd6MUgzdGRkNTJ5MGtWbGt1OVk0Il19XSwiX3NkIjpbImRPZU1DeVNVOEU3NURodTl2MmxPTVBXVmpPbTZiY19LeUd3aTRVVGlFWmMiXX0 .EagTjM2S1IruE8QXnI7dEqISrRPn2iGzeXfJ4xRBxkPztZThzr5mVQicK7g4YCSmPlFVIyUM1mqpPvI_VyZUkw ~WyJfNm05ckJuTllRSlJtUmxnaVowdzZ3IiwgInR5cGUiLCAiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd~WyJ0S1hEZlRiYjRRUl9qNG9qcHI3aGpnIiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZUNyZWRlbnRpYWwiXQ~WyJJSjJvLTZ4U3QzNG85dGZyZTJiMVBnIiwgImlkIiwgImRhdGE6YXBwbGljYXRpb24vdmMrc2Qtand0LCBleUpyYVdRaU9pSkZlRWhyUWsxWE9XWnRZbXQyVmpJMk5tMVNjSFZRTW5OVldWOU9YMFZYU1U0eGJHRndWWHBQT0hKdklpd2lZV3huSWpvaVJWTXlOVFlpZlEuZXlKZmMyUmZZV3huSWpvaWMyaGhMVEkxTmlJc0lrQmpiMjUwWlhoMElqcGJJbWgwZEhCek9pOHZkM2QzTG5jekxtOXlaeTl1Y3k5amNtVmtaVzUwYVdGc2N5OTJNaUlzSW1oMGRIQnpPaTh2ZDNkM0xuY3pMbTl5Wnk5dWN5OWpjbVZrWlc1MGFXRnNjeTlsZUdGdGNHeGxjeTkyTWlKZExDSnBjM04xWlhJaU9pSm9kSFJ3Y3pvdkwzVnVhWFpsY25OcGRIa3VaWGhoYlhCc1pTOXBjM04xWlhKekx6VTJOVEEwT1NJc0luWmhiR2xrUm5KdmJTSTZJakl3TVRBdE1ERXRNREZVTVRrNk1qTTZNalJhSWl3aVkzSmxaR1Z1ZEdsaGJGTmphR1Z0WVNJNmV5SmZjMlFpT2xzaU5qVkZMVlpaYm1FM1VFNW1TR1ZzVURONlRIRndjRTVFUlhoU0xXaGpXa2hTVG5seE4yVTBaVmRhYnlJc0lqaEpiRXd0VUd4NFVrdDNTMGhMYVRNdFRYaFhNak00ZDBGa1RtUTBOSGRhYkMxaVkzTkJjMkpJUWpBaVhYMHNJbU55WldSbGJuUnBZV3hUZFdKcVpXTjBJanA3SW1SbFozSmxaU0k2ZXlKdVlXMWxJam9pUW1GamFHVnNiM0lnYjJZZ1UyTnBaVzVqWlNCaGJtUWdRWEowY3lJc0lsOXpaQ0k2V3lKTVZYaHFjV3RzV1MxaGREVlNWbUZvU1hweE0zTkpaMDE1ZGtkd1ZEbHdkbFV3ZFRSeVUya3RNWGwzSWwxOUxDSmZjMlFpT2xzaVZteFpMVzUwWmtsUE9VSTVSR1JzVVdwNVUyUkVNbGRvVldJMGJqYzNabDlIV0RaMlUxZExRV3BDTkNKZGZTd2lYM05rSWpwYklpMWlSRVo0VW05NFVVVmxjRWRqWkZsNmEyNTBhVFZHV1hCc1VUVTVOMGRqYUVkVVRHVnRMVkpTWTFVaUxDSmZSRUZWWjB4clRGOXpWa1Z0TFRCdmNFOHphV2hwZVZGaFMwWnpUMDh4VWw5T05rMUNVbXByT1doRklsMTkuS2MwODNSS2JCeGMzVnI1cVIzaUVFUHAzZEt4VGE2c1BhV05zcXRrSXc4VHZNUmY5RVpMMmFqdGdrV1NCWXp5ek96YXdPckNYcnl5cDRyTVR5STl2ZkEgfld5SmlRMVJUYVU5SE5VbzFWWGhQWTFRd1VsTmZkMDFuSWl3Z0ltbGtJaXdnSW1oMGRIQTZMeTkxYm1sMlpYSnphWFI1TG1WNFlXMXdiR1V2WTNKbFpHVnVkR2xoYkhNdk1UZzNNaUpkfld5SlRjbE5XTVMwMVNqUjZjV2hPVTNOM1NUSXdhSGRSSWl3Z0luUjVjR1VpTENCYklsWmxjbWxtYVdGaWJHVkRjbVZrWlc1MGFXRnNJaXdnSWtWNFlXMXdiR1ZCYkhWdGJtbERjbVZrWlc1MGFXRnNJbDFkfld5SktYMjk0ZERodFVHVXRhRGw0TWtRemMyOXVUMU4zSWl3Z0ltbGtJaXdnSW1oMGRIQnpPaTh2WlhoaGJYQnNaUzV2Y21jdlpYaGhiWEJzWlhNdlpHVm5jbVZsTG1wemIyNGlYUX5XeUpETWxwV2VrdG1aMTg1UlVoMWFqQjJTMUV4ZFdKbklpd2dJblI1Y0dVaUxDQWlTbk52YmxOamFHVnRZU0pkfld5SjZTemQ1UWxGUGJGaGZYMlEwWDBWb1lVYzBZMHBSSWl3Z0ltbGtJaXdnSW1ScFpEcGxlR0Z0Y0d4bE9qRXlNeUpkfld5SjZiMXB6UnpNemVYQk1lVlJHTW05YVMzWm1NVkZuSWl3Z0luUjVjR1VpTENBaVFtRmphR1ZzYjNKRVpXZHlaV1VpWFF-Il0~
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
{
  "iat": 1791525815,
  "exp": 1792735415,
  "_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": [
        "7VegGib7jvR_MTe82B03VHTTZD3_BoPznBGvzVGZ8Lg",
        "UjTk9k_YZdd3lwTldBEDjhFGz1H3tdd52y0kVlku9Y4"
      ]
    }
  ],
  "_sd": [
    "dOeMCySU8E75Dhu9v2lOMPWVjOm6bc_KyGwi4UTiEZc"
  ]
}

声明: type

SHA-256 哈希值: dOeMCySU8E75Dhu9v2lOMPWVjOm6bc_KyGwi4UTiEZc

披露内容: WyJfNm05ckJuTllRSlJtUmxnaVowdzZ3IiwgInR5cGUiLCAiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd

内容: [
  "_6m9rBnNYQJRmRlgiZ0w6w",
  "type",
  "VerifiablePresentation"
]

声明: type

SHA-256 哈希值: 7VegGib7jvR_MTe82B03VHTTZD3_BoPznBGvzVGZ8Lg

披露内容: WyJ0S1hEZlRiYjRRUl9qNG9qcHI3aGpnIiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZUNyZWRlbnRpYWwiXQ

内容: [
  "tKXDfTbb4QR_j4ojpr7hjg",
  "type",
  "EnvelopedVerifiableCredential"
]

声明: id

SHA-256 哈希值: UjTk9k_YZdd3lwTldBEDjhFGz1H3tdd52y0kVlku9Y4

披露内容: WyJJSjJvLTZ4U3QzNG85dGZyZTJiMVBnIiwgImlkIiwgImRhdGE6YXBwbGljYXRpb24vdmMrc2Qtand0LCBleUpyYVdRaU9pSkZlRWhyUWsxWE9XWnRZbXQyVmpJMk5tMVNjSFZRTW5OVldWOU9YMFZYU1U0eGJHRndWWHBQT0hKdklpd2lZV3huSWpvaVJWTXlOVFlpZlEuZXlKZmMyUmZZV3huSWpvaWMyaGhMVEkxTmlJc0lrQmpiMjUwWlhoMElqcGJJbWgwZEhCek9pOHZkM2QzTG5jekxtOXlaeTl1Y3k5amNtVmtaVzUwYVdGc2N5OTJNaUlzSW1oMGRIQnpPaTh2ZDNkM0xuY3pMbTl5Wnk5dWN5OWpjbVZrWlc1MGFXRnNjeTlsZUdGdGNHeGxjeTkyTWlKZExDSnBjM04xWlhJaU9pSm9kSFJ3Y3pvdkwzVnVhWFpsY25OcGRIa3VaWGhoYlhCc1pTOXBjM04xWlhKekx6VTJOVEEwT1NJc0luWmhiR2xrUm5KdmJTSTZJakl3TVRBdE1ERXRNREZVTVRrNk1qTTZNalJhSWl3aVkzSmxaR1Z1ZEdsaGJGTmphR1Z0WVNJNmV5SmZjMlFpT2xzaU5qVkZMVlpaYm1FM1VFNW1TR1ZzVURONlRIRndjRTVFUlhoU0xXaGpXa2hTVG5seE4yVTBaVmRhYnlJc0lqaEpiRXd0VUd4NFVrdDNTMGhMYVRNdFRYaFhNak00ZDBGa1RtUTBOSGRhYkMxaVkzTkJjMkpJUWpBaVhYMHNJbU55WldSbGJuUnBZV3hUZFdKcVpXTjBJanA3SW1SbFozSmxaU0k2ZXlKdVlXMWxJam9pUW1GamFHVnNiM0lnYjJZZ1UyTnBaVzVqWlNCaGJtUWdRWEowY3lJc0lsOXpaQ0k2V3lKTVZYaHFjV3RzV1MxaGREVlNWbUZvU1hweE0zTkpaMDE1ZGtkd1ZEbHdkbFV3ZFRSeVUya3RNWGwzSWwxOUxDSmZjMlFpT2xzaVZteFpMVzUwWmtsUE9VSTVSR1JzVVdwNVUyUkVNbGRvVldJMGJqYzNabDlIV0RaMlUxZExRV3BDTkNKZGZTd2lYM05rSWpwYklpMWlSRVo0VW05NFVVVmxjRWRqWkZsNmEyNTBhVFZHV1hCc1VUVTVOMGRqYUVkVVRHVnRMVkpTWTFVaUxDSmZSRUZWWjB4clRGOXpWa1Z0TFRCdmNFOHphV2hwZVZGaFMwWnpUMDh4VWw5T05rMUNVbXByT1doRklsMTkuS2MwODNSS2JCeGMzVnI1cVIzaUVFUHAzZEt4VGE2c1BhV05zcXRrSXc4VHZNUmY5RVpMMmFqdGdrV1NCWXp5ek96YXdPckNYcnl5cDRyTVR5STl2ZkEgfld5SmlRMVJUYVU5SE5VbzFWWGhQWTFRd1VsTmZkMDFuSWl3Z0ltbGtJaXdnSW1oMGRIQTZMeTkxYm1sMlpYSnphWFI1TG1WNFlXMXdiR1V2WTNKbFpHVnVkR2xoYkhNdk1UZzNNaUpkfld5SlRjbE5XTVMwMVNqUjZjV2hPVTNOM1NUSXdhSGRSSWl3Z0luUjVjR1VpTENCYklsWmxjbWxtYVdGaWJHVkRjbVZrWlc1MGFXRnNJaXdnSWtWNFlXMXdiR1ZCYkhWdGJtbERjbVZrWlc1MGFXRnNJbDFkfld5SktYMjk0ZERodFVHVXRhRGw0TWtRemMyOXVUMU4zSWl3Z0ltbGtJaXdnSW1oMGRIQnpPaTh2WlhoaGJYQnNaUzV2Y21jdlpYaGhiWEJzWlhNdlpHVm5jbVZsTG1wemIyNGlYUX5XeUpETWxwV2VrdG1aMTg1UlVoMWFqQjJTMUV4ZFdKbklpd2dJblI1Y0dVaUxDQWlTbk52YmxOamFHVnRZU0pkfld5SjZTemQ1UWxGUGJGaGZYMlEwWDBWb1lVYzBZMHBSSWl3Z0ltbGtJaXdnSW1ScFpEcGxlR0Z0Y0d4bE9qRXlNeUpkfld5SjZiMXB6UnpNemVYQk1lVlJHTW05YVMzWm1NVkZuSWl3Z0luUjVjR1VpTENBaVFtRmphR1ZzYjNKRVpXZHlaV1VpWFF-Il0

内容: [
  "IJ2o-6xSt34o9tfre2b1Pg",
  "id",
  "data:application/vc+sd-jwt, eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ.eyJfc2RfYWxnIjoic2hhLTI1NiIsIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzU2NTA0OSIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFNjaGVtYSI6eyJfc2QiOlsiNjVFLVZZbmE3UE5mSGVsUDN6THFwcE5ERXhSLWhjWkhSTnlxN2U0ZVdabyIsIjhJbEwtUGx4Ukt3S0hLaTMtTXhXMjM4d0FkTmQ0NHdabC1iY3NBc2JIQjAiXX0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImRlZ3JlZSI6eyJuYW1lIjoiQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyIsIl9zZCI6WyJMVXhqcWtsWS1hdDVSVmFoSXpxM3NJZ015dkdwVDlwdlUwdTRyU2ktMXl3Il19LCJfc2QiOlsiVmxZLW50ZklPOUI5RGRsUWp5U2REMldoVWI0bjc3Zl9HWDZ2U1dLQWpCNCJdfSwiX3NkIjpbIi1iREZ4Um94UUVlcEdjZFl6a250aTVGWXBsUTU5N0djaEdUTGVtLVJSY1UiLCJfREFVZ0xrTF9zVkVtLTBvcE8zaWhpeVFhS0ZzT08xUl9ONk1CUmprOWhFIl19.Kc083RKbBxc3Vr5qR3iEEPp3dKxTa6sPaWNsqtkIw8TvMRf9EZL2ajtgkWSBYzyzOzawOrCXryyp4rMTyI9vfA ~WyJiQ1RTaU9HNUo1VXhPY1QwUlNfd01nIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJTclNWMS01SjR6cWhOU3N3STIwaHdRIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyJKX294dDhtUGUtaDl4MkQzc29uT1N3IiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvZGVncmVlLmpzb24iXQ~WyJDMlpWektmZ185RUh1ajB2S1ExdWJnIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyJ6Szd5QlFPbFhfX2Q0X0VoYUc0Y0pRIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMyJd~WyJ6b1pzRzMzeXBMeVRGMm9aS3ZmMVFnIiwgInR5cGUiLCAiQmFjaGVsb3JEZWdyZWUiXQ~"
]

有关此示例的更多详细信息,请参阅 可验证 凭证数据模型 v2.0。

示例 6:使用 EnvelopedVerifiablePresentation 类型 并通过 SD-JWT 保护的可验证出示的简单示例
{
  "@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~"
}
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJpYXQiOjE3OTE1MjU4MTUsImV4cCI6MTc5MjczNTQxNSwiX3NkX2FsZyI6InNoYS0yNTYiLCJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiX3NkIjpbImdnUE9zY2FxNGZfejdRN3l6ZGxqZGExaXRGMmtSM05YWEZLMGtzcE5oVVEiLCJ4WlFPckxBRU9SUWZzWkVBVVg0MzR5cnpMd01GSHlWTUhBUXgwQWRkWDNFIl19 .kcIjqeSTrABZRcpSjtg61pIMRcMN2oZQavAYGcZDsqM6FdVvHyNiozzEE9WI-80jTpxG48-WKG3R46DhhJNLBQ ~WyJPQkpmWFN6Z04xV1RyX1A1VFZ2aHZ3IiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd~WyJvV1BwRkdNY0pJai1IaFoxaXNZTG5RIiwgImlkIiwgImRhdGE6YXBwbGljYXRpb24vdnArc2Qtand0LCBleUpoYkdjaU9pSkZVek00TkNJc0ltdHBaQ0k2SWxWUlRWOWZibEUwVXpaQ1R6aHVVVFJ1VDA1WWVIQjRhSFJvYjNsT2VHSTFNMHhaWjFsNkxUSkJRbk1pTENKMGVYQWlPaUoyY0N0c1pDdHFjMjl1SzNOa0xXcDNkQ0lzSW1OMGVTSTZJblp3SzJ4a0sycHpiMjRpZlEuZXlKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3Zibk12WTNKbFpHVnVkR2xoYkhNdmRqSWlMQ0pvZEhSd2N6b3ZMM2QzZHk1M015NXZjbWN2Ym5NdlkzSmxaR1Z1ZEdsaGJITXZaWGhoYlhCc1pYTXZkaklpWFN3aWRtVnlhV1pwWVdKc1pVTnlaV1JsYm5ScFlXd2lPbHQ3SWtCamIyNTBaWGgwSWpwYkltaDBkSEJ6T2k4dmQzZDNMbmN6TG05eVp5OXVjeTlqY21Wa1pXNTBhV0ZzY3k5Mk1pSXNJbWgwZEhCek9pOHZkM2QzTG5jekxtOXlaeTl1Y3k5amNtVmtaVzUwYVdGc2N5OWxlR0Z0Y0d4bGN5OTJNaUpkTENKcGMzTjFaWElpT2lKb2RIUndjem92TDNWdWFYWmxjbk5wZEhrdVpYaGhiWEJzWlM5cGMzTjFaWEp6THpVMk5UQTBPU0lzSW5aaGJHbGtSbkp2YlNJNklqSXdNVEF0TURFdE1ERlVNVGs2TWpNNk1qUmFJaXdpWTNKbFpHVnVkR2xoYkZOMVltcGxZM1FpT25zaVlXeDFiVzVwVDJZaU9uc2libUZ0WlNJNklrVjRZVzF3YkdVZ1ZXNXBkbVZ5YzJsMGVTSXNJbDl6WkNJNld5Sm9lazlMUnpVMmNESTVjMUJ5VEdGRE5VRTRSbmRGZFVjelZVMDVkVWxaVTFwMWNVOVljekpsVkdKQklsMTlMQ0pmYzJRaU9sc2lXVmRYVm1WRFJuZHhRbWs0V0RCcVNGOWpWME5XV1UxNlNUTmhPSEJqVEVWWVJXWmljRk5TUVZsbmR5SmRmU3dpWDNOa0lqcGJJakpKWmpoaGFVczRSRVp3VldKNGRFYzFjR013ZWw5U2FGSnpibTF5YkdGUk1FaHpjVGs0V0ZOeVlXc2lMQ0pVZURaNFpXWk1WVWRVWlVwZllXdFZVRmRHZUhOdmJVaG9iR3RXVm5wZk56Vm9hVlo2ZVdweVltVnpJbDE5WFN3aVgzTmtJanBiSWpkMmFubDBWVk4zWkVKME1YUTVSa3RsT1ZGZlMzSklSWGhGV0d4clRFRmFUekJLTTBKcGQyMDBkbGtpWFN3aVgzTmtYMkZzWnlJNkluTm9ZUzB5TlRZaUxDSnBZWFFpT2pFM01EWTFOakk0TkRrc0ltVjRjQ0k2TVRjek9ERTROVEkwT1N3aVkyNW1JanA3SW1wM2F5STZleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TXpnMElpd2lZV3huSWpvaVJWTXpPRFFpTENKNElqb2lkV3RFZDFVMlp6bFFVVlJGVVdoWWFFZ3lja1JaTm5kTVFsZzNVSEZsVWpaQmNHbGhWSEJFVVhvd2NsOHRkRGw2VVhOeGVtNTRaMGhFY0U1b2VrWmxReUlzSW5raU9pSk1RbmhWWW5CVmRGTkdNVlZLVlRWcFluSklka3BJTmpCVVNHNVlNazF4YTB4SFpHbHRVMWwwVUdSNFJsa3hPRWRoY2xkaVMzRlpWMGRqVWtaSFZFOUJJbjE5ZlEua1lENjNZdEJOWW5MVVR3NlN6ZjF2c19VZzNVQlhoUHdDeXFwTm1QblBEYTNyWFpRaFFMZEIxQmdhb084emdRLWMzQjQxZnhhWE1uTEhZVjktQjIwdWJvU3BKUDBCLTJWcmU5MTdlUXQxY1NEc3dER0FfWXR2bjRCU3FZVkJCMkp-V3lKRk1rRnNSemhzWTJwMFFWRnJjbGxJYmpsSWJuVlJJaXdnSW5SNWNHVWlMQ0FpVm1WeWFXWnBZV0pzWlZCeVpYTmxiblJoZEdsdmJpSmR-V3lJNU5sZFlNRFJuZW5vNGNWWnpPVlpMVTJ3d1lUVm5JaXdnSW1sa0lpd2dJbWgwZEhBNkx5OTFibWwyWlhKemFYUjVMbVY0WVcxd2JHVXZZM0psWkdWdWRHbGhiSE12TVRnM01pSmR-V3lKYWVrVTJWRlZhYW10SE1XMURXWEJLTUVobmMwbDNJaXdnSW5SNWNHVWlMQ0JiSWxabGNtbG1hV0ZpYkdWRGNtVmtaVzUwYVdGc0lpd2dJa1Y0WVcxd2JHVkJiSFZ0Ym1sRGNtVmtaVzUwYVdGc0lsMWR-V3lJdFEzTnNTMjVHWkdGWWIySmlRV3N5VTBKQlZHUjNJaXdnSW1sa0lpd2dJbVJwWkRwbGVHRnRjR3hsT21WaVptVmlNV1kzTVRKbFltTTJaakZqTWpjMlpURXlaV015TVNKZH5XeUp1Um0xT1dsOUljekIzV1dOb09GZGtlVGRuUVVOUklpd2dJbWxrSWl3Z0ltUnBaRHBsZUdGdGNHeGxPbU15TnpabE1USmxZekl4WldKbVpXSXhaamN4TW1WaVl6Wm1NU0pkfiJd~
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
{
  "iat": 1791525815,
  "exp": 1792735415,
  "_sd_alg": "sha-256",
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "_sd": [
    "ggPOscaq4f_z7Q7yzdljda1itF2kR3NXXFK0kspNhUQ",
    "xZQOrLAEORQfsZEAUX434yrzLwMFHyVMHAQx0AddX3E"
  ]
}

声明: type

SHA-256 哈希值: ggPOscaq4f_z7Q7yzdljda1itF2kR3NXXFK0kspNhUQ

披露内容: WyJPQkpmWFN6Z04xV1RyX1A1VFZ2aHZ3IiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd

内容: [
  "OBJfXSzgN1WTr_P5TVvhvw",
  "type",
  "EnvelopedVerifiablePresentation"
]

声明: id

SHA-256 哈希值: xZQOrLAEORQfsZEAUX434yrzLwMFHyVMHAQx0AddX3E

披露内容: WyJvV1BwRkdNY0pJai1IaFoxaXNZTG5RIiwgImlkIiwgImRhdGE6YXBwbGljYXRpb24vdnArc2Qtand0LCBleUpoYkdjaU9pSkZVek00TkNJc0ltdHBaQ0k2SWxWUlRWOWZibEUwVXpaQ1R6aHVVVFJ1VDA1WWVIQjRhSFJvYjNsT2VHSTFNMHhaWjFsNkxUSkJRbk1pTENKMGVYQWlPaUoyY0N0c1pDdHFjMjl1SzNOa0xXcDNkQ0lzSW1OMGVTSTZJblp3SzJ4a0sycHpiMjRpZlEuZXlKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3Zibk12WTNKbFpHVnVkR2xoYkhNdmRqSWlMQ0pvZEhSd2N6b3ZMM2QzZHk1M015NXZjbWN2Ym5NdlkzSmxaR1Z1ZEdsaGJITXZaWGhoYlhCc1pYTXZkaklpWFN3aWRtVnlhV1pwWVdKc1pVTnlaV1JsYm5ScFlXd2lPbHQ3SWtCamIyNTBaWGgwSWpwYkltaDBkSEJ6T2k4dmQzZDNMbmN6TG05eVp5OXVjeTlqY21Wa1pXNTBhV0ZzY3k5Mk1pSXNJbWgwZEhCek9pOHZkM2QzTG5jekxtOXlaeTl1Y3k5amNtVmtaVzUwYVdGc2N5OWxlR0Z0Y0d4bGN5OTJNaUpkTENKcGMzTjFaWElpT2lKb2RIUndjem92TDNWdWFYWmxjbk5wZEhrdVpYaGhiWEJzWlM5cGMzTjFaWEp6THpVMk5UQTBPU0lzSW5aaGJHbGtSbkp2YlNJNklqSXdNVEF0TURFdE1ERlVNVGs2TWpNNk1qUmFJaXdpWTNKbFpHVnVkR2xoYkZOMVltcGxZM1FpT25zaVlXeDFiVzVwVDJZaU9uc2libUZ0WlNJNklrVjRZVzF3YkdVZ1ZXNXBkbVZ5YzJsMGVTSXNJbDl6WkNJNld5Sm9lazlMUnpVMmNESTVjMUJ5VEdGRE5VRTRSbmRGZFVjelZVMDVkVWxaVTFwMWNVOVljekpsVkdKQklsMTlMQ0pmYzJRaU9sc2lXVmRYVm1WRFJuZHhRbWs0V0RCcVNGOWpWME5XV1UxNlNUTmhPSEJqVEVWWVJXWmljRk5TUVZsbmR5SmRmU3dpWDNOa0lqcGJJakpKWmpoaGFVczRSRVp3VldKNGRFYzFjR013ZWw5U2FGSnpibTF5YkdGUk1FaHpjVGs0V0ZOeVlXc2lMQ0pVZURaNFpXWk1WVWRVWlVwZllXdFZVRmRHZUhOdmJVaG9iR3RXVm5wZk56Vm9hVlo2ZVdweVltVnpJbDE5WFN3aVgzTmtJanBiSWpkMmFubDBWVk4zWkVKME1YUTVSa3RsT1ZGZlMzSklSWGhGV0d4clRFRmFUekJLTTBKcGQyMDBkbGtpWFN3aVgzTmtYMkZzWnlJNkluTm9ZUzB5TlRZaUxDSnBZWFFpT2pFM01EWTFOakk0TkRrc0ltVjRjQ0k2TVRjek9ERTROVEkwT1N3aVkyNW1JanA3SW1wM2F5STZleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TXpnMElpd2lZV3huSWpvaVJWTXpPRFFpTENKNElqb2lkV3RFZDFVMlp6bFFVVlJGVVdoWWFFZ3lja1JaTm5kTVFsZzNVSEZsVWpaQmNHbGhWSEJFVVhvd2NsOHRkRGw2VVhOeGVtNTRaMGhFY0U1b2VrWmxReUlzSW5raU9pSk1RbmhWWW5CVmRGTkdNVlZLVlRWcFluSklka3BJTmpCVVNHNVlNazF4YTB4SFpHbHRVMWwwVUdSNFJsa3hPRWRoY2xkaVMzRlpWMGRqVWtaSFZFOUJJbjE5ZlEua1lENjNZdEJOWW5MVVR3NlN6ZjF2c19VZzNVQlhoUHdDeXFwTm1QblBEYTNyWFpRaFFMZEIxQmdhb084emdRLWMzQjQxZnhhWE1uTEhZVjktQjIwdWJvU3BKUDBCLTJWcmU5MTdlUXQxY1NEc3dER0FfWXR2bjRCU3FZVkJCMkp-V3lKRk1rRnNSemhzWTJwMFFWRnJjbGxJYmpsSWJuVlJJaXdnSW5SNWNHVWlMQ0FpVm1WeWFXWnBZV0pzWlZCeVpYTmxiblJoZEdsdmJpSmR-V3lJNU5sZFlNRFJuZW5vNGNWWnpPVlpMVTJ3d1lUVm5JaXdnSW1sa0lpd2dJbWgwZEhBNkx5OTFibWwyWlhKemFYUjVMbVY0WVcxd2JHVXZZM0psWkdWdWRHbGhiSE12TVRnM01pSmR-V3lKYWVrVTJWRlZhYW10SE1XMURXWEJLTUVobmMwbDNJaXdnSW5SNWNHVWlMQ0JiSWxabGNtbG1hV0ZpYkdWRGNtVmtaVzUwYVdGc0lpd2dJa1Y0WVcxd2JHVkJiSFZ0Ym1sRGNtVmtaVzUwYVdGc0lsMWR-V3lJdFEzTnNTMjVHWkdGWWIySmlRV3N5VTBKQlZHUjNJaXdnSW1sa0lpd2dJbVJwWkRwbGVHRnRjR3hsT21WaVptVmlNV1kzTVRKbFltTTJaakZqTWpjMlpURXlaV015TVNKZH5XeUp1Um0xT1dsOUljekIzV1dOb09GZGtlVGRuUVVOUklpd2dJbWxrSWl3Z0ltUnBaRHBsZUdGdGNHeGxPbU15TnpabE1USmxZekl4WldKbVpXSXhaamN4TW1WaVl6Wm1NU0pkfiJd

内容: [
  "oWPpFGMcJIj-HhZ1isYLnQ",
  "id",
  "data:application/vp+sd-jwt, eyJhbGciOiJFUzM4NCIsImtpZCI6IlVRTV9fblE0UzZCTzhuUTRuT05YeHB4aHRob3lOeGI1M0xZZ1l6LTJBQnMiLCJ0eXAiOiJ2cCtsZCtqc29uK3NkLWp3dCIsImN0eSI6InZwK2xkK2pzb24ifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwidmVyaWZpYWJsZUNyZWRlbnRpYWwiOlt7IkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzU2NTA0OSIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiYWx1bW5pT2YiOnsibmFtZSI6IkV4YW1wbGUgVW5pdmVyc2l0eSIsIl9zZCI6WyJoek9LRzU2cDI5c1ByTGFDNUE4RndFdUczVU05dUlZU1p1cU9YczJlVGJBIl19LCJfc2QiOlsiWVdXVmVDRndxQmk4WDBqSF9jV0NWWU16STNhOHBjTEVYRWZicFNSQVlndyJdfSwiX3NkIjpbIjJJZjhhaUs4REZwVWJ4dEc1cGMwel9SaFJzbm1ybGFRMEhzcTk4WFNyYWsiLCJUeDZ4ZWZMVUdUZUpfYWtVUFdGeHNvbUhobGtWVnpfNzVoaVZ6eWpyYmVzIl19XSwiX3NkIjpbIjd2anl0VVN3ZEJ0MXQ5RktlOVFfS3JIRXhFWGxrTEFaTzBKM0Jpd200dlkiXSwiX3NkX2FsZyI6InNoYS0yNTYiLCJpYXQiOjE3MDY1NjI4NDksImV4cCI6MTczODE4NTI0OSwiY25mIjp7Imp3ayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMzg0IiwiYWxnIjoiRVMzODQiLCJ4IjoidWtEd1U2ZzlQUVRFUWhYaEgyckRZNndMQlg3UHFlUjZBcGlhVHBEUXowcl8tdDl6UXNxem54Z0hEcE5oekZlQyIsInkiOiJMQnhVYnBVdFNGMVVKVTVpYnJIdkpINjBUSG5YMk1xa0xHZGltU1l0UGR4RlkxOEdhcldiS3FZV0djUkZHVE9BIn19fQ.kYD63YtBNYnLUTw6Szf1vs_Ug3UBXhPwCyqpNmPnPDa3rXZQhQLdB1BgaoO8zgQ-c3B41fxaXMnLHYV9-B20uboSpJP0B-2Vre917eQt1cSDswDGA_Ytvn4BSqYVBB2J~WyJFMkFsRzhsY2p0QVFrcllIbjlIbnVRIiwgInR5cGUiLCAiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd~WyI5NldYMDRneno4cVZzOVZLU2wwYTVnIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJaekU2VFVaamtHMW1DWXBKMEhnc0l3IiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyItQ3NsS25GZGFYb2JiQWsyU0JBVGR3IiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd~WyJuRm1OWl9IczB3WWNoOFdkeTdnQUNRIiwgImlkIiwgImRpZDpleGFtcGxlOmMyNzZlMTJlYzIxZWJmZWIxZjcxMmViYzZmMSJd~"
]

有关此示例的更多详细信息,请参阅 可验证 凭证数据模型 v2.0。

实现必须支持紧凑序列化 (application/sd-jwt),并且可以支持 JSON 序列化 (application/sd-jwt+json)。 如果使用 JSON 序列化,则推荐定义配置文件, 以确保所有附加 JSON 成员都得到一致的理解。

3.3 使用 COSE

COSE [RFC9052] 是一种 使用 CBOR [RFC8949] 编码和保护信息的常见方法。 可验证凭证可以使用 COSE [RFC9052] 进行保护,并且 应该按照本节概述使用内容类型进行标识。

3.3.1 使用 COSE 保护 JSON-LD 可验证凭证的安全

本节详细说明如何使用 COSE 保护 符合 [VC-DATA-MODEL-2.0] 的 可验证凭证的安全。

符合规范的 COSE 签发者实现必须使用 [RFC9052] 中规定的 COSE_Sign1 来保护此媒体类型。 未受保护的可验证凭证是 未编码的 COSE_Sign1 载荷。

如 COSE "typ"(类型)标头参数中所述, typ (16) 标头参数应该为 application/vc+cose。 content type (3) 标头参数应该为 application/vc。 content type (3) 标头参数是可选的,并且可以在存在 比 application/vc 更具体的媒体类型时用于表示该类型。 有关更多详细信息,请参阅通用 COSE 标头参数。

符合规范的 COSE 验证者实现必须使用 [RFC9052] 中规定的 COSE_Sign1 来验证 使用此媒体类型的符合规范的 COSE 文档。

当将使用 COSE 保护的 可验证凭证 作为 封装的 可验证凭证包含在 可验证 出示中时, 这些凭证必须按照 [RFC2397] 的规定使用 base64 编码。

为了在通过不安全信道传输时加密受保护的 可验证凭证, 实现者可以使用 COSE 加密, 如 [RFC9052] 第 5 节所定义, 方法是将受保护的 可验证凭证嵌套为 加密 COSE 对象的 明文载荷。

示例 7:使用 COSE 保护可验证凭证 的简单示例
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": ["VerifiableCredential", "ExampleDegreeCredential", "ExamplePersonCredential"],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    },
    "alumniOf": {
      "name": "Example University"
    }
  },
  "credentialSchema": [{
    "id": "https://example.org/examples/degree.json",
    "type": "JsonSchema"
  },
  {
    "id": "https://example.org/examples/alumni.json",
    "type": "JsonSchema"
  }]
}
application/vc
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "id": "http://university.example/credentials/3732",
  "type": [
    "VerifiableCredential",
    "ExampleDegreeCredential",
    "ExamplePersonCredential"
  ],
  "issuer": "https://university.example/issuers/14",
  "validFrom": "2010-01-01T19:23:24Z",
  "credentialSubject": {
    "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    "degree": {
      "type": "ExampleBachelorDegree",
      "name": "Bachelor of Science and Arts"
    },
    "alumniOf": {
      "name": "Example University"
    }
  },
  "credentialSchema": [
    {
      "id": "https://example.org/examples/degree.json",
      "type": "JsonSchema"
    },
    {
      "id": "https://example.org/examples/alumni.json",
      "type": "JsonSchema"
    }
  ]
}
application/vc+cose
d28444a1013822a059029e7b2240636f6e74657874223a5b2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f6578616d706c65732f7632225d2c226964223a22687474703a2f2f756e69766572736974792e6578616d706c652f63726564656e7469616c732f33373332222c2274797065223a5b2256657269666961626c6543726564656e7469616c222c224578616d706c6544656772656543726564656e7469616c222c224578616d706c65506572736f6e43726564656e7469616c225d2c22697373756572223a2268747470733a2f2f756e69766572736974792e6578616d706c652f697373756572732f3134222c2276616c696446726f6d223a22323031302d30312d30315431393a32333a32345a222c2263726564656e7469616c5375626a656374223a7b226964223a226469643a6578616d706c653a656266656231663731326562633666316332373665313265633231222c22646567726565223a7b2274797065223a224578616d706c6542616368656c6f72446567726565222c226e616d65223a2242616368656c6f72206f6620536369656e636520616e642041727473227d2c22616c756d6e694f66223a7b226e616d65223a224578616d706c6520556e6976657273697479227d7d2c2263726564656e7469616c536368656d61223a5b7b226964223a2268747470733a2f2f6578616d706c652e6f72672f6578616d706c65732f6465677265652e6a736f6e222c2274797065223a224a736f6e536368656d61227d2c7b226964223a2268747470733a2f2f6578616d706c652e6f72672f6578616d706c65732f616c756d6e692e6a736f6e222c2274797065223a224a736f6e536368656d61227d5d7d58401e02a4b8d0e254618818f64c472d2ae799e5d1235959f49ecd02b92aedae135df06810449f13c88c7a8df062dc669d6087b74bc290a1e59d3ccf8ca4f7108c9d

有关此示例的更多详细信息,请参阅 可验证 凭证数据模型 v2.0。

3.3.2 使用 COSE 保护 JSON-LD 可验证 出示的安全

本节详细说明如何使用 COSE 保护 符合 [VC-DATA-MODEL-2.0] 的 可验证 出示的安全。

符合规范的 COSE 签发者实现必须使用 [RFC9052] 中规定的 COSE_Sign1 来保护此媒体类型。 未受保护的可验证 出示是未编码的 COSE_Sign1 载荷。

如 COSE "typ"(类型)标头参数中所述, typ (16) 标头参数应该为 application/vp+cose。 content type (3) 标头参数应该为 application/vp。 content type (3) 标头参数是可选的,并且可以在存在 比 application/vp 更具体的媒体类型时用于表示该类型。 有关更多详细信息,请参阅通用 COSE 标头参数。

符合规范的 COSE 验证者实现必须使用 [RFC9052] 中规定的 COSE_Sign1 来验证 使用此媒体类型的符合规范的 COSE 文档。

在可验证 出示中受到保护的可验证凭证 必须使用 [VC-DATA-MODEL-2.0] 定义的 封装的 可验证凭证类型。

可验证 出示中的可验证出示 必须使用 [VC-DATA-MODEL-2.0] 定义的 封装的 可验证出示类型。

可验证 出示中的凭证必须受到保护。 在此情况下,这些凭证使用 COSE 进行保护。

为了在通过不安全信道传输时加密受保护的 可验证 出示, 实现者可以使用 COSE 加密, 如 [RFC9052] 第 5 节所定义, 方法是将受保护的 可验证 出示嵌套为加密 COSE 对象的明文载荷。

示例 8:使用 EnvelopedVerifiableCredential 类型 并通过 COSE 保护的可验证出示的简单示例
{
  "@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~"
  }]
}
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+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/vp+cose
d28444a1013822a0590d1c7b2240636f6e74657874223a5b2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f6578616d706c65732f7632225d2c2274797065223a2256657269666961626c6550726573656e746174696f6e222c2276657269666961626c6543726564656e7469616c223a5b7b2240636f6e74657874223a2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c226964223a22646174613a6170706c69636174696f6e2f76632b73642d6a77742c65794a72615751694f694a4665456872516b31584f575a74596d7432566a49324e6d3153634856514d6e4e565756394f583056585355347862474677565870504f484a76496977695957786e496a6f6952564d794e54596966512e65794a66633252665957786e496a6f69633268684c5449314e694973496b426a623235305a586830496a7062496d68306448427a4f693876643364334c6e637a4c6d39795a7939756379396a636d566b5a57353061574673637939324d694973496d68306448427a4f693876643364334c6e637a4c6d39795a7939756379396a636d566b5a573530615746736379396c654746746347786c637939324d694a644c434a7063334e315a5849694f694a6f64485277637a6f764c33567561585a6c636e4e7064486b755a586868625842735a53397063334e315a584a7a4c7a55324e5441304f534973496e5a6862476c6b526e4a7662534936496a49774d5441744d4445744d4446554d546b364d6a4d364d6a52614969776959334a6c5a47567564476c6862464e6a614756745953493665794a66633251694f6c73694e574a4265444d746548426d5157785653305a4a4f584e754d326857513231775232747263556c7a576d4d7a4c5578694d7a4e6d576d706961794973496c706a51585a494d44687364454a795355706d535768304f46397453314266597a4e73634735594d574e48636c6c74564738775a316c436554676958583073496d4e795a57526c626e52705957785464574a715a574e30496a7037496d526c5a334a6c5a53493665794a755957316c496a6f69516d466a61475673623349676232596755324e705a57356a5a534268626d516751584a3063794973496c397a5a43493657794a53543151334d556c3064544e4d4e6c5658574656716279316f5756644a516a593362485650546b5645556c4e436147784556454e7856553952496c31394c434a66633251694f6c7369545556755a584e6e4d6c6850556b356a59334e4354575661587a45324d444a6e655451775569303057554a32566c4977654645346230593459794a646653776958334e6b496a7062496b566c63324a696179316d63475a7764325a4d4f58644f637a4678636a5a30615534335a6e45745358517a57564d3256335a43626c3969574738694c434a61623149315a475268636b64745a6b31354e45687556307856616b3555526e4655526a4e59526a5a706446426e5a6e6c47516b685658334656496c31392e677733706178626b4c6a706938435473795270584b6243377470566130713273574b53442d5f646362755a314c705a56336f513849667a636d32624538525933666d4a6762757941396762504c3373514261547a6b67207e57794a5365555178566c423456484276626d745065585a70637a6b746132393349697767496d6c6b49697767496d6830644841364c793931626d6c325a584a7a615852354c6d5634595731776247557659334a6c5a47567564476c6862484d764d5467334d694a647e57794a66566a643165546433617931524d33565a64325a705a304e765755564249697767496e5235634755694c434262496c5a6c636d6c6d6157466962475644636d566b5a5735306157467349697767496b5634595731776247564262485674626d6c44636d566b5a57353061574673496c31647e57794a68617a64714d546c6e59564d7452444a4c5832687a593352565a474e5249697767496d6c6b49697767496d68306448427a4f6938765a586868625842735a533576636d63765a586868625842735a584d765a47566e636d566c4c6d707a6232346958517e57794a55546a42586158565a526b6858576b56325a445a4951554a485153316e49697767496e5235634755694c434169536e4e76626c4e6a6147567459534a647e57794a564d6e427a4d6b785956455256625668334d4463785256426d5255706e49697767496d6c6b49697767496d52705a44706c654746746347786c4f6a45794d794a647e57794a735130343265544e4561544e44556b395658334a75587a52454e57526e49697767496e5235634755694c434169516d466a6147567362334a455a5764795a57556958517e3b646174613a6170706c69636174696f6e2f76632b73642d6a77742c65794a72615751694f694a4665456872516b31584f575a74596d7432566a49324e6d3153634856514d6e4e565756394f583056585355347862474677565870504f484a76496977695957786e496a6f6952564d794e54596966512e65794a66633252665957786e496a6f69633268684c5449314e694973496b426a623235305a586830496a7062496d68306448427a4f693876643364334c6e637a4c6d39795a7939756379396a636d566b5a57353061574673637939324d694973496d68306448427a4f693876643364334c6e637a4c6d39795a7939756379396a636d566b5a573530615746736379396c654746746347786c637939324d694a644c434a7063334e315a5849694f694a6f64485277637a6f764c33567561585a6c636e4e7064486b755a586868625842735a53397063334e315a584a7a4c7a55324e5441304f534973496e5a6862476c6b526e4a7662534936496a49774d5441744d4445744d4446554d546b364d6a4d364d6a52614969776959334a6c5a47567564476c6862464e6a614756745953493665794a66633251694f6c73694e574a4265444d746548426d5157785653305a4a4f584e754d326857513231775232747263556c7a576d4d7a4c5578694d7a4e6d576d706961794973496c706a51585a494d44687364454a795355706d535768304f46397453314266597a4e73634735594d574e48636c6c74564738775a316c436554676958583073496d4e795a57526c626e52705957785464574a715a574e30496a7037496d526c5a334a6c5a53493665794a755957316c496a6f69516d466a61475673623349676232596755324e705a57356a5a534268626d516751584a3063794973496c397a5a43493657794a53543151334d556c3064544e4d4e6c5658574656716279316f5756644a516a593362485650546b5645556c4e436147784556454e7856553952496c31394c434a66633251694f6c7369545556755a584e6e4d6c6850556b356a59334e4354575661587a45324d444a6e655451775569303057554a32566c4977654645346230593459794a646653776958334e6b496a7062496b566c63324a696179316d63475a7764325a4d4f58644f637a4678636a5a30615534335a6e45745358517a57564d3256335a43626c3969574738694c434a61623149315a475268636b64745a6b31354e45687556307856616b3555526e4655526a4e59526a5a706446426e5a6e6c47516b685658334656496c31392e677733706178626b4c6a706938435473795270584b6243377470566130713273574b53442d5f646362755a314c705a56336f513849667a636d32624538525933666d4a6762757941396762504c3373514261547a6b67207e57794a5365555178566c423456484276626d745065585a70637a6b746132393349697767496d6c6b49697767496d6830644841364c793931626d6c325a584a7a615852354c6d5634595731776247557659334a6c5a47567564476c6862484d764d5467334d694a647e57794a66566a643165546433617931524d33565a64325a705a304e765755564249697767496e5235634755694c434262496c5a6c636d6c6d6157466962475644636d566b5a5735306157467349697767496b5634595731776247564262485674626d6c44636d566b5a57353061574673496c31647e57794a68617a64714d546c6e59564d7452444a4c5832687a593352565a474e5249697767496d6c6b49697767496d68306448427a4f6938765a586868625842735a533576636d63765a586868625842735a584d765a47566e636d566c4c6d707a6232346958517e57794a55546a42586158565a526b6858576b56325a445a4951554a485153316e49697767496e5235634755694c434169536e4e76626c4e6a6147567459534a647e57794a564d6e427a4d6b785956455256625668334d4463785256426d5255706e49697767496d6c6b49697767496d52705a44706c654746746347786c4f6a45794d794a647e57794a735130343265544e4561544e44556b395658334a75587a52454e57526e49697767496e5235634755694c434169516d466a6147567362334a455a5764795a57556958517e222c2274797065223a22456e76656c6f70656456657269666961626c6543726564656e7469616c227d5d7d58403e7eed69317c6ee664d8cf6e9e93143c7af6fc60b160f5fccf559efa307bf795f7c6bbfa478170b724b168b0079c2951192d0b9fa57f43d0a727ffa5b3736abc

有关此示例的更多详细信息,请参阅 可验证 凭证数据模型 v2.0。

示例 9:使用 EnvelopedVerifiablePresentation 类型 并通过 COSE 保护的可验证出示的简单示例
{
  "@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/vp
{
  "@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/vp+cose
d28444a1013822a05908837b2240636f6e74657874223a5b2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f6578616d706c65732f7632225d2c2274797065223a22456e76656c6f70656456657269666961626c6550726573656e746174696f6e222c226964223a22646174613a6170706c69636174696f6e2f76702b73642d6a77742c65794a68624763694f694a46557a4d344e434973496d74705a434936496c565254563966626c4530557a5a43547a68755554527554303559654842346148526f62336c4f654749314d30785a5a316c364c544a42516e4d694c434a30655841694f694a32634374735a437471633239754b334e6b4c57703364434973496d4e3065534936496e5a774b32786b4b32707a6232346966512e65794a4159323975644756346443493657794a6f64485277637a6f764c336433647935334d793576636d6376626e4d7659334a6c5a47567564476c6862484d76646a49694c434a6f64485277637a6f764c336433647935334d793576636d6376626e4d7659334a6c5a47567564476c6862484d765a586868625842735a584d76646a496958537769646d567961575a7059574a735a554e795a57526c626e5270595777694f6c7437496b426a623235305a586830496a7062496d68306448427a4f693876643364334c6e637a4c6d39795a7939756379396a636d566b5a57353061574673637939324d694973496d68306448427a4f693876643364334c6e637a4c6d39795a7939756379396a636d566b5a573530615746736379396c654746746347786c637939324d694a644c434a7063334e315a5849694f694a6f64485277637a6f764c33567561585a6c636e4e7064486b755a586868625842735a53397063334e315a584a7a4c7a55324e5441304f534973496e5a6862476c6b526e4a7662534936496a49774d5441744d4445744d4446554d546b364d6a4d364d6a52614969776959334a6c5a47567564476c6862464e31596d706c593351694f6e73695957783162573570543259694f6e7369626d46745a534936496b5634595731776247556756573570646d567963326c3065534973496c397a5a43493657794a6f656b394c527a55326344493563314279544746444e554534526e64466455637a5655303564556c5a5531703163553959637a4a6c56474a42496c31394c434a66633251694f6c736957566458566d5644526e6478516d6b34574442715346396a56304e575755313653544e684f48426a5445565952575a6963464e5351566c6e64794a646653776958334e6b496a7062496a4a4a5a6a68686155733452455a7756574a346445633163474d77656c395361464a7a626d3179624746524d45687a63546b3457464e79595773694c434a5565445a345a575a4d565564555a557066595774565546644765484e766255686f62477457566e70664e7a566f61565a3665577079596d567a496c31395853776958334e6b496a7062496a6432616e6c3056564e335a454a304d585135526b746c4f56466653334a49525868465747787254454661547a424b4d304a7064323030646c6b695853776958334e6b583246735a794936496e4e6f595330794e5459694c434a70595851694f6a45334d4459314e6a49344e446b73496d5634634349364d54637a4f4445344e5449304f5377695932356d496a7037496d70336179493665794a7264486b694f694a4651794973496d4e7964694936496c41744d7a6730496977695957786e496a6f6952564d7a4f4451694c434a34496a6f6964577445643155325a7a6c51555652465557685961456779636b525a4e6e644d516c67335548466c556a5a4263476c685648424555586f77636c387464446c3655584e78656d35345a3068456345356f656b5a6c51794973496e6b694f694a4d516e6856596e425664464e474d56564b56545670596e4a49646b70494e6a4255534735594d6b3178613078485a476c7455316c3055475234526c6b784f456468636c64695333465a5630646a556b5a4856453942496e313966512e6b594436335974424e596e4c55547736537a663176735f556733554258685077437971704e6d506e5044613372585a5168514c6442314267616f4f387a67512d6333423431667861584d6e4c485956392d42323075626f53704a5030422d325672653931376551743163534473774447415f5974766e3442537159564242324a7e57794a464d6b4673527a68735932703051564672636c6c49626a6c49626e565249697767496e5235634755694c434169566d567961575a7059574a735a5642795a584e6c626e526864476c7662694a647e577949354e6c64594d44526e656e6f3463565a7a4f565a4c553277775954566e49697767496d6c6b49697767496d6830644841364c793931626d6c325a584a7a615852354c6d5634595731776247557659334a6c5a47567564476c6862484d764d5467334d694a647e57794a61656b553256465661616d74484d5731445758424b4d45686e63306c3349697767496e5235634755694c434262496c5a6c636d6c6d6157466962475644636d566b5a5735306157467349697767496b5634595731776247564262485674626d6c44636d566b5a57353061574673496c31647e5779497451334e73533235475a47465962324a695157737955304a425647523349697767496d6c6b49697767496d52705a44706c654746746347786c4f6d56695a6d56694d5759334d544a6c596d4d325a6a466a4d6a63325a5445795a574d794d534a647e57794a75526d314f576c3949637a423357574e6f4f46646b6554646e51554e5249697767496d6c6b49697767496d52705a44706c654746746347786c4f6d4d794e7a5a6c4d544a6c597a49785a574a6d5a5749785a6a63784d6d5669597a5a6d4d534a647e222c2276657269666961626c6543726564656e7469616c223a5b5d7d584081d326e85a5b6ddd23f16eed67e79e4467bcddc90fdebb84a1c49225e446b2ee0d38ad1505ef504668952bb5f23565d1aa75e7512e975d15edea16fae335f2a7

有关此示例的更多详细信息,请参阅 可验证 凭证数据模型 v2.0。

3.3.3 COSE 标头参数和 CWT 声明

当 COSE 标头 中或作为CWT 声明 存在已在 IANA CBOR Web 令牌 (CWT) 声明 注册表或 IANA COSE 标头参数 注册表中注册的成员时,应按照 这些注册表所引用规范中的定义进行解释。CBOR Web 令牌 (CWT) [RFC8392] 声明可以按照 I-D.ietf-cose-cwt-claims-in-headers中的规定包含在 COSE 标头参数中。

标头参数、 声明以及 COSE 标头中的 CBOR Web 令牌 (CWT) 声明中的规范性声明 适用于保护凭证和出示的安全。

推荐使用 IANA CBOR Web 令牌声明 注册表和 IANA COSE 标头参数 注册表来识别可能与 [VC-DATA-MODEL-2.0] 定义的成员混淆的 声明和标头参数。 这些成员包括但不限于:iss、 kid、alg、iat、 exp 和 cnf。

当存在 iat(签发时间)和/或 exp(过期时间)CWT 声明时,它们 分别表示签名的签发时间和过期时间。 请注意,这些时间不同于 有效期中 定义的 validFrom 和 validUntil 属性, 后者表示受保护数据的有效期。 不推荐使用 nbf(不得早于)声明, 因为试图为 签名指定未来日期几乎没有意义。

可以将其他成员作为标头参数和声明。 如果无法识别这些成员,则必须忽略它们。

4. 密钥发现

为了完成 验证过程, 验证者需要 获取用于保护 凭证的密码学密钥。

有几种不同的方法可以发现 签发者 和持有者的验证密钥。

4.1 使用标头参数 和声明进行密钥发现

验证者可以使用这些 JOSE 标头参数和 JWT 声明 来发现验证密钥。

4.1.1 kid

如果 kid 存在于 JOSE 标头或 COSE 标头中, 验证者可以 使用此参数作为提示,指明使用哪个密钥 保护可验证凭证,以便 在执行 验证过程时, 按照 RFC7515 中的定义使用。

当 签发者 或主体的密钥 表示为 DID URL 时,kid必须存在。

4.1.2 iss

如果 iss 存在于 JOSE 标头、 JWT 声明 或COSE 标头中, 验证者 可以使用此参数获取 在验证过程中使用的 JSON Web 密钥。

issuer 属性的值可以是字符串或对象。 当 issuer 的值为字符串时,如果存在 iss, 其值必须与 issuer 的值匹配。当 issuer 的值为具有 id 值的对象时,如果存在 iss,其值必须与 issuer.id 的值匹配。

如果 kid 也存在于 JOSE 标头中, 则使用它来区分所使用的具体密钥。

4.1.3 cnf

如果 cnf 存在于 JOSE 标头、 JWT 声明 或COSE 标头中, 验证者可以 按照 [RFC7800] 或 [RFC8747] 中描述的方式,使用此参数标识 在验证过程中使用的持有证明密钥。

推荐使用由持有者提供给 签发者的 持有证明密钥,以在可验证凭证中 建立与持有者的密码学绑定, 该绑定可由 验证者在 可验证 出示中验证。

4.2 使用受控标识符 文档

在本规范中使用受控标识符 文档时, 以下要求适用。

验证方法的 type 属性值必须为 JsonWebKey。

验证材料必须通过 JsonWebKey 的 publicKeyJwk 属性表示。 此密钥材料根据 JOSE 或 COSE 消息 封装中的提示(例如 kid 或 iss)进行检索。 在撰写本文时,尚无标准方法可以从 DID URL 或受控标识符文档中 检索 JWK 格式的公钥。

当 iss 不存在,并且 签发者由 [URL] 标识时,kid必须 是一个指向 受控标识符文档或 DID 文档中列出的验证方法的绝对 [URL]。

使用 [URL] 标识符时,推荐将 kid 设置为 包含 JWK 指纹 URI 的绝对 [URL],如 [RFC7638] 中所定义。 例如: https://vendor.example/issuers/42/keys/urn:ietf:params:oauth:jwk-thumbprint:sha-256:NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9Xs

示例 10:由受控标识符 文档标识符标识的签发者
{
  "issuer": {
    "id": "https://university.example/issuers/565049"
  }
  // ...
}
示例 11:作为受控标识符文档 验证方法标识符的 kid
{
  "alg": "ES384",
  "kid": "https://university.example/issuers/565049#key-123
}

当持有者由 [URL] 标识,并且 iss 不存在时, kid必须是一个指向 受控标识符文档中列出的 验证方法的绝对 [URL]。

示例 12:由受控标识符 文档标识符标识的持有者
{
  "holder": {
    "id": "https://university.example/issuers/565049"
  }
  // ...
}
示例 13:作为受控标识符文档 验证方法标识符的 kid
{
  "alg": "ES384",
  "kid": "https://university.example/issuers/565049#key-123
}

5. 算法

本规范可以与许多不同的密钥发现 协议配合使用。因此,验证密钥的发现过程在 4. 密钥发现中描述,并假定 在开始验证过程之前 已成功完成。

一般而言,验证者应该尽量减少对 不可信数据的处理。 这包括在密钥发现过程中尽量减少对受保护标头、 未受保护标头或载荷的任何处理。

验证成功后,应该按照第 5.4 校验节中的描述 执行额外的校验检查。

以下算法的输出为:

5.1 验证使用 JOSE 保护的凭证或出示

此算法的输入为:

收到作为 JWT [RFC7519] 受到保护的可验证凭证或出示后,持有者或验证者执行以下算法:

  1. 执行 验证 JWT [RFC7519] 中定义的算法。
  2. 如果处理成功完成:
    1. 将 status 设置为 true
    2. 将 mediaType 设置为 vc 或 vp
    3. 将 document 设置为解码后的 JWS 载荷。
    4. 返回
  3. 如果处理因任何原因中止或 JWT 被拒绝:
    1. 将 status 设置为 false
    2. 将 document 设置为 null
    3. 将 mediaType 设置为 null
    4. 返回

5.2 验证使用 SD-JWT 保护的凭证或出示

此算法的输入为:

收到使用 [SD-JWT] 保护的可验证凭证或出示后,持有者或验证者 执行以下算法:

  1. 执行 SD-JWT 中定义的算法,以验证 SD-JWT。
  2. 如果处理成功完成:
    1. 将 status 设置为 true
    2. 将 mediaType 设置为 vc
    3. 通过逆向执行 [SD-JWT] 中的处理过程, 将 SD-JWT 载荷转换回 JWT 声明集。将 document 设置为 JWT 声明集。 (有关从 JWT 声明集转换为 SD-JWT 载荷的示例, 请参阅 SD-JWT 示例)。
    4. 返回
  3. 如果处理因任何原因中止或 SD-JWT 被拒绝:
    1. 将 status 设置为 false
    2. 将 document 设置为 null
    3. 将 mediaType 设置为 null
    4. 返回

5.3 验证使用 COSE 保护的凭证或出示

此算法的输入为:

收到使用 [RFC9052] 保护的可验证凭证或出示后,持有者或验证者执行以下算法:

  1. 执行 CBOR 对象签名和加密 (COSE): 结构与处理 [RFC9052] 中 COSE_Sign1 的签名和验证过程中定义的算法。
  2. 如果处理成功完成:
    1. 将 status 设置为 true
    2. 将 mediaType 设置为 vc 或 vp
    3. 将 document 设置为解码后的 COSE_Sign1 载荷。
    4. 返回
  3. 如果处理因任何原因中止:
    1. 将 status 设置为 false
    2. 将 document 设置为 null
    3. 将 mediaType 设置为 null
    4. 返回

5.4 校验

typ 所要求的所有声明必须存在。 所有可识别的声明必须按照 验证者的校验策略进行评估。 所有无法识别的声明必须被忽略。

验证过程返回的已验证 document必须是 格式良好的紧凑 JSON-LD 文档,如 可验证凭证数据模型 v2.0中所述。

应该检查 credentialSchema 等 模式扩展机制。 如果无法识别扩展机制的 type, 则必须忽略此属性。

应该检查 credentialStatus 等 状态扩展机制。 如果无法识别扩展机制的 type, 则必须忽略此属性。

根据验证者的校验策略、凭证类型 以及安全机制的类型,可以应用额外的 校验检查。 例如,多个凭证之间的依赖关系、 与多个凭证关联的排序或时间信息, 和/或多个出示可能导致原本有效的凭证 或出示被视为无效。

6. IANA 注意事项

本节为非规范性内容。

6.1 媒体类型

6.1.1 application/vc+jwt

本规范注册了 application/vc+jwt 媒体类型,专门用于标识其载荷符合 可验证凭证数据 模型的JSON Web 令牌 (JWT)。

类型名称: application
子类型名称: vc+jwt
必需参数: 不适用
可选参数: 不适用
编码注意事项: 二进制;application/jwt 的值是一系列经过 base64url 编码的 值(其中一些可能为空字符串),以句点 ('.') 分隔。
安全注意事项:

如本规范中所定义。 另请参阅 [RFC7519] 中的安全注意事项。

互操作性注意事项:

如本规范中所定义。

已发布规范: https://www.w3.org/TR/vc-jose-cose
使用此媒体类型的应用:

W3C 可验证凭证签发者、 持有者和验证者软件, 符合 [VC-DATA-MODEL-2.0], 是使用这些媒体类型的应用之一。 符合规范的应用类型在 此处和此处进行了描述。

使用限制: 不适用
附加信息:
  1. 此类型已弃用的别名:不适用
  2. 魔数:不适用
  3. 文件扩展名:不适用
  4. Macintosh 文件类型代码:不适用
  5. 对象标识符:不适用
作者: Ivan Herman ivan@w3.org
预期用途: 通用
变更控制方: W3C 可验证凭证工作小组 public-vc-wg@w3.org

6.1.2 application/vp+jwt

本规范注册了 application/vp+jwt 媒体类型,专门用于标识其载荷符合 可验证凭证数据模型中可验证出示定义的JSON Web 令牌 (JWT)。

类型名称: application
子类型名称: vp+jwt
必需参数: 不适用
可选参数: 不适用
编码注意事项: 二进制;application/jwt 的值是一系列经过 base64url 编码的 值(其中一些可能为空字符串),以句点 ('.') 分隔。
安全注意事项:

如本规范中所定义。 另请参阅 [RFC7519] 中的安全注意事项。

互操作性注意事项:

如本规范中所定义。

已发布规范: https://www.w3.org/TR/vc-jose-cose
使用此媒体类型的应用:

W3C 可验证凭证签发者、 持有者和验证者软件, 符合 [VC-DATA-MODEL-2.0], 是 使用这些媒体类型的应用之一。 符合规范的应用类型在 此处和此处进行了描述。

使用限制: 不适用
附加信息:
  1. 此类型已弃用的别名:不适用
  2. 魔数:不适用
  3. 文件扩展名:不适用
  4. Macintosh 文件类型代码:不适用
  5. 对象标识符:不适用
作者: Ivan Herman ivan@w3.org
预期用途: 通用
变更控制方: W3C 可验证凭证工作小组 public-vc-wg@w3.org

6.1.3 application/vc+sd-jwt

本规范注册了 application/vc+sd-jwt 媒体类型,专门用于标识其载荷符合 可验证凭证数据 模型的JWT 选择性披露 (SD-JWT)。

类型名称: application
子类型名称: vc+sd-jwt
必需参数: 不适用
可选参数: 不适用
编码注意事项: 二进制;application/sd-jwt 的值是一系列经过 base64url 编码的 值(其中一些可能为空字符串),以 句点 ('.') 和波浪号 ('~') 字符分隔。
安全注意事项:

如本规范中所定义。 另请参阅JWT 选择性披露 (SD-JWT)中的安全注意事项。

互操作性注意事项:

如本规范中所定义。

已发布规范: https://www.w3.org/TR/vc-jose-cose
使用此媒体类型的应用:

W3C 可验证凭证签发者、 持有者和验证者软件, 符合 [VC-DATA-MODEL-2.0], 是 使用这些媒体类型的应用之一。 符合规范的应用类型在此处 和此处进行了描述。

使用限制: 不适用
附加信息:
  1. 此类型已弃用的别名:不适用
  2. 魔数:不适用
  3. 文件扩展名:不适用
  4. Macintosh 文件类型代码:不适用
  5. 对象标识符:不适用
作者: Ivan Herman ivan@w3.org
预期用途: 通用
变更控制方: W3C 可验证凭证工作小组 public-vc-wg@w3.org

6.1.4 application/vp+sd-jwt

本规范注册了 application/vp+sd-jwt 媒体类型,专门用于标识其载荷符合 可验证凭证数据模型中可验证出示定义的JWT 选择性披露 (SD-JWT)。

类型名称: application
子类型名称: vp+sd-jwt
必需参数: 不适用
可选参数: 不适用
编码注意事项: 二进制;application/sd-jwt 的值是一系列经过 base64url 编码的 值(其中一些可能为空字符串),以 句点 ('.') 和波浪号 ('~') 字符分隔。
安全注意事项:

如本规范中所定义。 另请参阅JWT 选择性披露 (SD-JWT)中的安全注意事项。

互操作性注意事项:

如本规范中所定义。

已发布规范: https://www.w3.org/TR/vc-jose-cose
使用此媒体类型的应用:

W3C 可验证凭证签发者、 持有者和验证者软件, 符合 [VC-DATA-MODEL-2.0], 是使用这些媒体类型的应用之一。 符合规范的应用类型在 此处和 此处进行了描述。

使用限制: 不适用
附加信息:
  1. 此类型已弃用的别名:不适用
  2. 魔数:不适用
  3. 文件扩展名:不适用
  4. Macintosh 文件类型代码:不适用
  5. 对象标识符:不适用
作者: Ivan Herman ivan@w3.org
预期用途: 通用
变更控制方: W3C 可验证凭证工作小组 public-vc-wg@w3.org

6.1.5 application/vc+cose

本规范注册了 application/vc+cose 媒体类型,专门用于标识其载荷符合 可验证凭证数据 模型的 COSE 对象 [RFC9052]。

类型名称: application
子类型名称: vc+cose
必需参数: 不适用
可选参数: 不适用
编码注意事项: 二进制 (CBOR)
安全注意事项:

如本规范中所定义。 另请参阅 [RFC9052] 中的安全注意事项。

互操作性注意事项:

如本规范中所定义。

已发布规范: https://www.w3.org/TR/vc-jose-cose
使用此媒体类型的应用:

W3C 可验证凭证签发者、 持有者和验证者软件, 符合 [VC-DATA-MODEL-2.0], 是 使用这些媒体类型的应用之一。符合规范的 应用类型在 此处和 此处进行了描述。

使用限制: 不适用
附加信息:
  1. 此类型已弃用的别名:不适用
  2. 魔数:不适用
  3. 文件扩展名:不适用
  4. Macintosh 文件类型代码:不适用
  5. 对象标识符:不适用
作者: Ivan Herman ivan@w3.org
预期用途: 通用
变更控制方: W3C 可验证凭证工作小组 public-vc-wg@w3.org

6.1.6 application/vp+cose

本规范注册了 application/vp+cose 媒体类型,专门用于标识其载荷符合 可验证凭证数据模型中可验证出示定义的 COSE 对象 [RFC9052]。

类型名称: application
子类型名称: vp+cose
必需参数: 不适用
可选参数: 不适用
编码注意事项: 二进制 (CBOR)
安全注意事项:

如本规范中所定义。 另请参阅 [RFC9052] 中的安全注意事项。

互操作性注意事项:

如本规范中所定义。

已发布规范: https://www.w3.org/TR/vc-jose-cose
使用此媒体类型的应用:

W3C 可验证凭证签发者、 持有者和验证者软件, 符合 [VC-DATA-MODEL-2.0], 是使用这些媒体类型的应用之一。 符合规范的应用类型在 此处和 此处进行了描述。

使用限制: 不适用
附加信息:
  1. 此类型已弃用的别名:不适用
  2. 魔数:不适用
  3. 文件扩展名:不适用
  4. Macintosh 文件类型代码:不适用
  5. 对象标识符:不适用
作者: Ivan Herman ivan@w3.org
预期用途: 通用
变更控制方: W3C 可验证凭证工作小组 public-vc-wg@w3.org

7. 其他注意事项

本节为非规范性内容。

7.1 隐私注意事项

可验证凭证通常包含敏感信息, 需要对其加以保护,以确保 组织和个人的隐私与安全。本节概述了 与实现者和用户相关的一些隐私注意事项。

建议实现者注意并遵守 [VC-DATA-MODEL-2.0] 中列出的所有隐私注意事项。

另外建议实现者参考 JWT 规范中的 隐私注意事项 一节以及 NIST 特别出版物 800-122 [[SP-800-122] "保护个人身份 识别信息 (PII) 机密性的指南",以获取隐私指导。

除 [VC-DATA-MODEL-2.0] 中的隐私建议外,还提出以下 注意事项:

这些注意事项并非详尽无遗,建议实现者和 用户查阅其他隐私资源并遵循 最佳实践,以确保使用本规范实现的 可验证凭证的隐私与安全。

7.2 安全注意事项

本节概述了本规范实现者 和用户应考虑的安全事项。 仔细考虑这些因素非常重要,以确保 使用 JOSE 或 COSE 实现的可验证凭证 具有安全性和完整性。

实现本规范时,必须解决所有 与广泛密码学应用相关的安全问题。 这尤其包括保护用户的非对称 私钥和对称密钥,以及采取 防范各种攻击的措施。 若未充分解决这些问题,可能损害 可验证凭证的安全性和完整性,并可能导致 未经授权访问、修改或披露敏感信息。

建议实现者遵循最佳实践和 既定的密码学标准,以确保 安全地处理密钥和其他敏感数据。 此外,还应定期进行安全评估和审计, 以识别和解决任何漏洞或威胁。

遵循 [RFC7515] 和 [RFC7519] 中列出的所有安全注意事项。

使用 JSON-LD 时,应特别注意远程检索 上下文,并遵循 [JSON-LD11] 中提及的其他安全注意事项。

如 [RFC7515] 所述,使用 JSON [RFC7159] 时, 严格 校验是一项安全要求。 如果收到格式错误的 JSON,可能无法可靠地 理解生成者的意图,从而导致含糊不清或 可被利用的情况。 为防止这些风险,必须使用能够 严格校验所有输入数据语法的 JSON 解析器。 对于任何不符合 [RFC7159] 中定义的 JSON 文本语法的 JSON 输入, JSON 解析器必须将其全部拒绝。 未能拒绝无效输入可能损害 可验证凭证的安全性和完整性。

7.3 无障碍访问

实现本规范时,技术 实现者必须考虑各种无障碍访问因素。 忽视无障碍访问问题会使相当 一部分人无法使用相关信息。 为确保所有人无论能力如何都能平等访问, 遵循无障碍访问指南和标准至关重要, 例如 Web 内容无障碍指南 (WCAG 2.1) [WCAG21]。 在构建涉及密码学的系统时,这一点尤其重要, 因为此类系统历来给辅助技术带来了挑战。

建议实现者注意并遵守 [VC-DATA-MODEL-2.0] 中列出的所有无障碍访问注意事项。

8. 示例

本节为非规范性内容。

8.1 控制者

示例 14:最简受控标识符文档
{
  "id": "https://vendor.example",
}
示例 15:包含验证 方法的受控标识符文档
{
  "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-"
    }
  }]
}
示例 16:包含验证 关系的受控标识符文档
{
  "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"]
}
示例 17:可验证凭证的受控标识符 文档
{
  "@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"]
}

8.2 凭证

示例 18:包含多个主体的可撤销 凭证
{
  "@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
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaWQiOiJodHRwczovL2NvbnRvc28uZXhhbXBsZS9jcmVkZW50aWFscy8yMzg5NDY3MjM5NCIsInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJLOVVuaXRDcmVkZW50aWFsIl0sImlzc3VlciI6eyJpZCI6Imh0dHBzOi8vY29udG9zby5leGFtcGxlIn0sInZhbGlkRnJvbSI6IjIwMTUtMDQtMTZUMDU6MTE6MzIuNDMyWiIsImNyZWRlbnRpYWxTdGF0dXMiOnsiaWQiOiJodHRwczovL2NvbnRvc28uZXhhbXBsZS9jcmVkZW50aWFscy9zdGF0dXMvNCMyNzM3NjIiLCJ0eXBlIjoiU3RhdHVzTGlzdDIwMjFFbnRyeSIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIiwic3RhdHVzTGlzdEluZGV4IjoiMjczNzYyIiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL2NvbnRvc28uZXhhbXBsZS9jcmVkZW50aWFscy9zdGF0dXMvNCJ9LCJjcmVkZW50aWFsU3ViamVjdCI6W3siaWQiOiJkaWQ6ZXhhbXBsZToxMzEyMzg3NjQxIiwidHlwZSI6IlBlcnNvbiJ9LHsiaWQiOiJkaWQ6ZXhhbXBsZTo2Mzg4ODIzMSIsInR5cGUiOiJEb2cifV19 .3qCRDWY11uE9tDZP2hgSr4Qxx4qrbQ7eVEb4A3Wyzp0PzUNS5saRQfFhd28722fRssPADihrz9-Yjf7T9meMcg
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+cose
d28444a1013822a059027c7b2240636f6e74657874223a5b2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f6578616d706c65732f7632225d2c226964223a2268747470733a2f2f636f6e746f736f2e6578616d706c652f63726564656e7469616c732f3233383934363732333934222c2274797065223a5b2256657269666961626c6543726564656e7469616c222c224b39556e697443726564656e7469616c225d2c22697373756572223a7b226964223a2268747470733a2f2f636f6e746f736f2e6578616d706c65227d2c2276616c696446726f6d223a22323031352d30342d31365430353a31313a33322e3433325a222c2263726564656e7469616c537461747573223a7b226964223a2268747470733a2f2f636f6e746f736f2e6578616d706c652f63726564656e7469616c732f7374617475732f3423323733373632222c2274797065223a225374617475734c69737432303231456e747279222c22737461747573507572706f7365223a227265766f636174696f6e222c227374617475734c697374496e646578223a22323733373632222c227374617475734c69737443726564656e7469616c223a2268747470733a2f2f636f6e746f736f2e6578616d706c652f63726564656e7469616c732f7374617475732f34227d2c2263726564656e7469616c5375626a656374223a5b7b226964223a226469643a6578616d706c653a31333132333837363431222c2274797065223a22506572736f6e227d2c7b226964223a226469643a6578616d706c653a3633383838323331222c2274797065223a22446f67227d5d7d58405098cef1404d214ffacffe47b37e053c0d3b806539b4451379bb17cb4ab5cc255698e6e63b1873a534b272f47fab130944f9e072d74137b4cb3993021d335fe2
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJpYXQiOjE3OTE1MjU4MTUsImV4cCI6MTc5MjczNTQxNSwiX3NkX2FsZyI6InNoYS0yNTYiLCJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaXNzdWVyIjp7Il9zZCI6WyJMa1FYNFRFZGo5Z2JUUy0xZ1BQZ1BPZmt5a1JSaVRrNkNIU0pPQmk4OFlVIl19LCJ2YWxpZEZyb20iOiIyMDE1LTA0LTE2VDA1OjExOjMyLjQzMloiLCJjcmVkZW50aWFsU3RhdHVzIjp7InN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIiwic3RhdHVzTGlzdEluZGV4IjoiMjczNzYyIiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL2NvbnRvc28uZXhhbXBsZS9jcmVkZW50aWFscy9zdGF0dXMvNCIsIl9zZCI6WyIxNExaLWF0alFKSm4wX3FwU3FWRzEyazY5TUM5MER2ZUFDNU5uX25Wb1dzIiwiOWNWNzlCMDROckxpYmdwUmt2VVpta1FUZ3R6dmFjdm9sbXBsOFBWd1lBSSJdfSwiY3JlZGVudGlhbFN1YmplY3QiOlt7Il9zZCI6WyJZa0dicVFoQ1lPdXNkQkJpQ3UxU29BZThTZGtqQ0VzMFo1YlFLNGdrZ1FVIiwic0RYaUdDb0ZGS0gxSDdvWVNSLXlSZjcteWFTWjJQNWhUclF3alB6ZmZpOCJdfSx7Il9zZCI6WyJEUURPYnlSTEt2NEhiU0FUMi1BRV90RGdMdThiVHg0a0U0b0pQOUNEeWpNIiwiSERVcko1X29JTGlZWm5YSkh6QmVpSFg1NS1UYzkzS05tUjVPMS1Oc3RBTSJdfV0sIl9zZCI6WyItZHprenpYcFlJcWNqY19LbWJvcEhqQlVyNGdMVHREcHVfSFVXbnhyMF8wIiwiWjRxbHBqYkNIek5vbFpDLURmMnlZYkEybEZmOC1qek1iTm5lejB0ZWc5QSJdfQ .1iOkvhAyuU4ms0BJJTHtnA3iZLQ4fTB4pUiOgFCSDVSqMGqS-NCsLxIiCUN7HfZexJ1SN9fuih8z__ysGhar_A ~WyJsZEpBR2dYZ2R0WTJDbXRkTGJyZjJRIiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlL2NyZWRlbnRpYWxzLzIzODk0NjcyMzk0Il0~WyJXSXFDSkNfc0ZpaWRXeVFlV3NrS2x3IiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIks5VW5pdENyZWRlbnRpYWwiXV0~WyI2RTNybmVRREJSaEc4NVkybl8ta0RRIiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlIl0~WyJGRE5TVXZGT3AxTWo0UTM4c2Z6ZXpBIiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlL2NyZWRlbnRpYWxzL3N0YXR1cy80IzI3Mzc2MiJd~WyJVRUlZbVVkMzc5STg2djJkR28tRldBIiwgInR5cGUiLCAiU3RhdHVzTGlzdDIwMjFFbnRyeSJd~WyJWUmJLVmpNVk1neU5zVkJqV0poSjhnIiwgImlkIiwgImRpZDpleGFtcGxlOjEzMTIzODc2NDEiXQ~WyItck1sMHh3RU1uNVc5MjQ4UWxJMTJ3IiwgInR5cGUiLCAiUGVyc29uIl0~WyI0QU1ydklkQ0s2NDJDMEhaYVpmZGF3IiwgImlkIiwgImRpZDpleGFtcGxlOjYzODg4MjMxIl0~WyJWY0ZSbUVRRURXUzF2ak16VFZWZ3lRIiwgInR5cGUiLCAiRG9nIl0~
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
{
  "iat": 1791525815,
  "exp": 1792735415,
  "_sd_alg": "sha-256",
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://www.w3.org/ns/credentials/examples/v2"
  ],
  "issuer": {
    "_sd": [
      "LkQX4TEdj9gbTS-1gPPgPOfkykRRiTk6CHSJOBi88YU"
    ]
  },
  "validFrom": "2015-04-16T05:11:32.432Z",
  "credentialStatus": {
    "statusPurpose": "revocation",
    "statusListIndex": "273762",
    "statusListCredential": "https://contoso.example/credentials/status/4",
    "_sd": [
      "14LZ-atjQJJn0_qpSqVG12k69MC90DveAC5Nn_nVoWs",
      "9cV79B04NrLibgpRkvUZmkQTgtzvacvolmpl8PVwYAI"
    ]
  },
  "credentialSubject": [
    {
      "_sd": [
        "YkGbqQhCYOusdBBiCu1SoAe8SdkjCEs0Z5bQK4gkgQU",
        "sDXiGCoFFKH1H7oYSR-yRf7-yaSZ2P5hTrQwjPzffi8"
      ]
    },
    {
      "_sd": [
        "DQDObyRLKv4HbSAT2-AE_tDgLu8bTx4kE4oJP9CDyjM",
        "HDUrJ5_oILiYZnXJHzBeiHX55-Tc93KNmR5O1-NstAM"
      ]
    }
  ],
  "_sd": [
    "-dzkzzXpYIqcjc_KmbopHjBUr4gLTtDpu_HUWnxr0_0",
    "Z4qlpjbCHzNolZC-Df2yYbA2lFf8-jzMbNnez0teg9A"
  ]
}

声明: id

SHA-256 哈希值: Z4qlpjbCHzNolZC-Df2yYbA2lFf8-jzMbNnez0teg9A

披露内容: WyJsZEpBR2dYZ2R0WTJDbXRkTGJyZjJRIiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlL2NyZWRlbnRpYWxzLzIzODk0NjcyMzk0Il0

内容: [
  "ldJAGgXgdtY2CmtdLbrf2Q",
  "id",
  "https://contoso.example/credentials/23894672394"
]

声明: type

SHA-256 哈希值: -dzkzzXpYIqcjc_KmbopHjBUr4gLTtDpu_HUWnxr0_0

披露内容: WyJXSXFDSkNfc0ZpaWRXeVFlV3NrS2x3IiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIks5VW5pdENyZWRlbnRpYWwiXV0

内容: [
  "WIqCJC_sFiidWyQeWskKlw",
  "type",
  [
    "VerifiableCredential",
    "K9UnitCredential"
  ]
]

声明: id

SHA-256 哈希值: LkQX4TEdj9gbTS-1gPPgPOfkykRRiTk6CHSJOBi88YU

披露内容: WyI2RTNybmVRREJSaEc4NVkybl8ta0RRIiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlIl0

内容: [
  "6E3rneQDBRhG85Y2n_-kDQ",
  "id",
  "https://contoso.example"
]

声明: id

SHA-256 哈希值: 14LZ-atjQJJn0_qpSqVG12k69MC90DveAC5Nn_nVoWs

披露内容: WyJGRE5TVXZGT3AxTWo0UTM4c2Z6ZXpBIiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlL2NyZWRlbnRpYWxzL3N0YXR1cy80IzI3Mzc2MiJd

内容: [
  "FDNSUvFOp1Mj4Q38sfzezA",
  "id",
  "https://contoso.example/credentials/status/4#273762"
]

声明: type

SHA-256 哈希值: 9cV79B04NrLibgpRkvUZmkQTgtzvacvolmpl8PVwYAI

披露内容: WyJVRUlZbVVkMzc5STg2djJkR28tRldBIiwgInR5cGUiLCAiU3RhdHVzTGlzdDIwMjFFbnRyeSJd

内容: [
  "UEIYmUd379I86v2dGo-FWA",
  "type",
  "StatusList2021Entry"
]

声明: id

SHA-256 哈希值: YkGbqQhCYOusdBBiCu1SoAe8SdkjCEs0Z5bQK4gkgQU

披露内容: WyJWUmJLVmpNVk1neU5zVkJqV0poSjhnIiwgImlkIiwgImRpZDpleGFtcGxlOjEzMTIzODc2NDEiXQ

内容: [
  "VRbKVjMVMgyNsVBjWJhJ8g",
  "id",
  "did:example:1312387641"
]

声明: type

SHA-256 哈希值: sDXiGCoFFKH1H7oYSR-yRf7-yaSZ2P5hTrQwjPzffi8

披露内容: WyItck1sMHh3RU1uNVc5MjQ4UWxJMTJ3IiwgInR5cGUiLCAiUGVyc29uIl0

内容: [
  "-rMl0xwEMn5W9248QlI12w",
  "type",
  "Person"
]

声明: id

SHA-256 哈希值: DQDObyRLKv4HbSAT2-AE_tDgLu8bTx4kE4oJP9CDyjM

披露内容: WyI0QU1ydklkQ0s2NDJDMEhaYVpmZGF3IiwgImlkIiwgImRpZDpleGFtcGxlOjYzODg4MjMxIl0

内容: [
  "4AMrvIdCK642C0HZaZfdaw",
  "id",
  "did:example:63888231"
]

声明: type

SHA-256 哈希值: HDUrJ5_oILiYZnXJHzBeiHX55-Tc93KNmR5O1-NstAM

披露内容: WyJWY0ZSbUVRRURXUzF2ak16VFZWZ3lRIiwgInR5cGUiLCAiRG9nIl0

内容: [
  "VcFRmEQEDWS1vjMzTVVgyQ",
  "type",
  "Dog"
]

示例 19:包含模式的凭证
{
  "@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
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaWQiOiJodHRwczovL2NvbnRvc28uZXhhbXBsZS9jcmVkZW50aWFscy8zNTMyNzI1NSIsInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJLWUNFeGFtcGxlIl0sImlzc3VlciI6ImRpZDp3ZWI6Y29udG9zby5leGFtcGxlIiwidmFsaWRGcm9tIjoiMjAxOS0wNS0yNVQwMzoxMDoxNi45OTJaIiwidmFsaWRVbnRpbCI6IjIwMjctMDUtMjVUMDM6MTA6MTYuOTkyWiIsImNyZWRlbnRpYWxTY2hlbWEiOnsiaWQiOiJodHRwczovL2NvbnRvc28uZXhhbXBsZS9iYWZ5YmVpZ2R5ci4uLmxxYWJmM29jbGd0cXk1NWZiemRpIiwidHlwZSI6Ikpzb25TY2hlbWEifSwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6ZXhhbXBsZToxMjMxNTg4IiwidHlwZSI6IlBlcnNvbiJ9fQ .M4ufpvAy6wKkUl2j1i4TLSh5D57lvKw36CxMvji71rEik-4ZCNB99yMcsyYqhAI6S6Ydvt9rzCGEMHnU5cfAyQ
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+cose
d28444a1013822a05901e47b2240636f6e74657874223a5b2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f6578616d706c65732f7632225d2c226964223a2268747470733a2f2f636f6e746f736f2e6578616d706c652f63726564656e7469616c732f3335333237323535222c2274797065223a5b2256657269666961626c6543726564656e7469616c222c224b59434578616d706c65225d2c22697373756572223a226469643a7765623a636f6e746f736f2e6578616d706c65222c2276616c696446726f6d223a22323031392d30352d32355430333a31303a31362e3939325a222c2276616c6964556e74696c223a22323032372d30352d32355430333a31303a31362e3939325a222c2263726564656e7469616c536368656d61223a7b226964223a2268747470733a2f2f636f6e746f736f2e6578616d706c652f62616679626569676479722e2e2e6c71616266336f636c67747179353566627a6469222c2274797065223a224a736f6e536368656d61227d2c2263726564656e7469616c5375626a656374223a7b226964223a226469643a6578616d706c653a31323331353838222c2274797065223a22506572736f6e227d7d58400ce04b801ca4dbdade7191fd4beb8f0561524c0139827eabde13905e75db2d1e1047d393db6a226fcb472a6f8f97e2dbdd111c40bff755a1c71d9771de95e37b
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJpYXQiOjE3OTE1MjU4MTUsImV4cCI6MTc5MjczNTQxNSwiX3NkX2FsZyI6InNoYS0yNTYiLCJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaXNzdWVyIjoiZGlkOndlYjpjb250b3NvLmV4YW1wbGUiLCJ2YWxpZEZyb20iOiIyMDE5LTA1LTI1VDAzOjEwOjE2Ljk5MloiLCJ2YWxpZFVudGlsIjoiMjAyNy0wNS0yNVQwMzoxMDoxNi45OTJaIiwiY3JlZGVudGlhbFNjaGVtYSI6eyJfc2QiOlsiSk5FRGk0TFVKSkR2UXhfNGdqenJ6TnpnWlFsRnhGNUhjREdnejFJcFExOCIsIm5TQW5tM0VJajNxbGVEaE5DUHlYOWlIUktMYXE4N0lXNFpkSmFadWRUVVEiXX0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7Il9zZCI6WyJFa0V6Q3ROcVVmSkZDWUtSSGVDZEVPc1Qyb0NnMDJWblMzRTFVUk5vZEtVIiwiSnNJYkZMWTFYaUh5bjN6TGMtdlRSUjVYU0N2YkRaZ0xGQ3lXMUZvR1dDbyJdfSwiX3NkIjpbIml6VUtuVnJtOHBhV0U2M25iTUxXX0ZQQ1NlczM1RlhndjZ6SXFNNmJLbzgiLCJwSDZfUGlYLXVINzIxdU55dEs3XzM2OFJnR1JPSkhheEhBaEpfcWZ0QWZBIl19 .r6wWPAUdHP29f2NQTvAk2FLPgTcWVKDhABAC5cpMenUqzk2RTBOiGRBs9VD-d-Yz0LHUU26RthVg8dulGmLxbw ~WyJnc3hOV2xwbm9ORlJ0dzZlWXZLZ3NBIiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlL2NyZWRlbnRpYWxzLzM1MzI3MjU1Il0~WyJFcVcyZzh6dWZBU1dxWEhzLUxhUlh3IiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIktZQ0V4YW1wbGUiXV0~WyIweTN2bzg4Q0VTUjAtZUM2WFhkUHJ3IiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlL2JhZnliZWlnZHlyLi4ubHFhYmYzb2NsZ3RxeTU1ZmJ6ZGkiXQ~WyJsbE5Edml5SXFwaS1Fc1c2QzRNYl9nIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyJHLVpOZ3J4WXZhMUFFcWNpWTB1MnVRIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMzE1ODgiXQ~WyIyTk1lZnlPckNhakNqTlFXX09yejFnIiwgInR5cGUiLCAiUGVyc29uIl0~
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
{
  "iat": 1791525815,
  "exp": 1792735415,
  "_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": [
      "JNEDi4LUJJDvQx_4gjzrzNzgZQlFxF5HcDGgz1IpQ18",
      "nSAnm3EIj3qleDhNCPyX9iHRKLaq87IW4ZdJaZudTUQ"
    ]
  },
  "credentialSubject": {
    "_sd": [
      "EkEzCtNqUfJFCYKRHeCdEOsT2oCg02VnS3E1URNodKU",
      "JsIbFLY1XiHyn3zLc-vTRR5XSCvbDZgLFCyW1FoGWCo"
    ]
  },
  "_sd": [
    "izUKnVrm8paWE63nbMLW_FPCSes35FXgv6zIqM6bKo8",
    "pH6_PiX-uH721uNytK7_368RgGROJHaxHAhJ_qftAfA"
  ]
}

声明: id

SHA-256 哈希值: izUKnVrm8paWE63nbMLW_FPCSes35FXgv6zIqM6bKo8

披露内容: WyJnc3hOV2xwbm9ORlJ0dzZlWXZLZ3NBIiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlL2NyZWRlbnRpYWxzLzM1MzI3MjU1Il0

内容: [
  "gsxNWlpnoNFRtw6eYvKgsA",
  "id",
  "https://contoso.example/credentials/35327255"
]

声明: type

SHA-256 哈希值: pH6_PiX-uH721uNytK7_368RgGROJHaxHAhJ_qftAfA

披露内容: WyJFcVcyZzh6dWZBU1dxWEhzLUxhUlh3IiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIktZQ0V4YW1wbGUiXV0

内容: [
  "EqW2g8zufASWqXHs-LaRXw",
  "type",
  [
    "VerifiableCredential",
    "KYCExample"
  ]
]

声明: id

SHA-256 哈希值: JNEDi4LUJJDvQx_4gjzrzNzgZQlFxF5HcDGgz1IpQ18

披露内容: WyIweTN2bzg4Q0VTUjAtZUM2WFhkUHJ3IiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlL2JhZnliZWlnZHlyLi4ubHFhYmYzb2NsZ3RxeTU1ZmJ6ZGkiXQ

内容: [
  "0y3vo88CESR0-eC6XXdPrw",
  "id",
  "https://contoso.example/bafybeigdyr...lqabf3oclgtqy55fbzdi"
]

声明: type

SHA-256 哈希值: nSAnm3EIj3qleDhNCPyX9iHRKLaq87IW4ZdJaZudTUQ

披露内容: WyJsbE5Edml5SXFwaS1Fc1c2QzRNYl9nIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd

内容: [
  "llNDviyIqpi-EsW6C4Mb_g",
  "type",
  "JsonSchema"
]

声明: id

SHA-256 哈希值: EkEzCtNqUfJFCYKRHeCdEOsT2oCg02VnS3E1URNodKU

披露内容: WyJHLVpOZ3J4WXZhMUFFcWNpWTB1MnVRIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMzE1ODgiXQ

内容: [
  "G-ZNgrxYva1AEqciY0u2uQ",
  "id",
  "did:example:1231588"
]

声明: type

SHA-256 哈希值: JsIbFLY1XiHyn3zLc-vTRR5XSCvbDZgLFCyW1FoGWCo

披露内容: WyIyTk1lZnlPckNhakNqTlFXX09yejFnIiwgInR5cGUiLCAiUGVyc29uIl0

内容: [
  "2NMefyOrCajCjNQW_Orz1g",
  "type",
  "Person"
]

8.3 出示

示例 20:出示
{
  "@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
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwidHlwZSI6IlZlcmlmaWFibGVQcmVzZW50YXRpb24iLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6W3siQGNvbnRleHQiOiJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJpZCI6ImRhdGE6YXBwbGljYXRpb24vdmMrY29zZTtiYXNlNjR1cmwsWW1GelpUWTBMREJ2VWtWdkxpNHVLMUU5UFEiLCJ0eXBlIjoiRW52ZWxvcGVkVmVyaWZpYWJsZUNyZWRlbnRpYWwifSx7IkBjb250ZXh0IjoiaHR0cHM6Ly93d3cudzMub3JnL25zL2NyZWRlbnRpYWxzL3YyIiwiaWQiOiJkYXRhOmFwcGxpY2F0aW9uL3ZjK2p3dCxleVZqVi4uLlJNalU7ZGF0YTphcHBsaWNhdGlvbi92Yytqd3QsZXlWalYuLi5STWpVIiwidHlwZSI6IkVudmVsb3BlZFZlcmlmaWFibGVDcmVkZW50aWFsIn0seyJAY29udGV4dCI6Imh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImlkIjoiZGF0YTphcHBsaWNhdGlvbi92YytzZC1qd3QsZXlWalYuLi5STWpVfjtkYXRhOmFwcGxpY2F0aW9uL3ZjK3NkLWp3dCxleVZqVi4uLlJNalV-IiwidHlwZSI6IkVudmVsb3BlZFZlcmlmaWFibGVDcmVkZW50aWFsIn1dfQ .dMw-orT1V6oHQ5_o4mlncRyRhgI_Pf4RNw6_gkGv8MRoZ-y3YN2uw8Oot-DN1FR5tJA989IerZlvQnIVTvMhYw
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,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/vp+cose
d28444a1013822a05902a77b2240636f6e74657874223a5b2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f6578616d706c65732f7632225d2c2274797065223a2256657269666961626c6550726573656e746174696f6e222c2276657269666961626c6543726564656e7469616c223a5b7b2240636f6e74657874223a2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c226964223a22646174613a6170706c69636174696f6e2f76632b636f73653b62617365363475726c2c57573147656c70555754424d52454a3256577457646b78704e48564c4d555535554645222c2274797065223a22456e76656c6f70656456657269666961626c6543726564656e7469616c227d2c7b2240636f6e74657874223a2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c226964223a22646174613a6170706c69636174696f6e2f76632b6a77742c6579566a562e2e2e524d6a553b646174613a6170706c69636174696f6e2f76632b6a77742c6579566a562e2e2e524d6a55222c2274797065223a22456e76656c6f70656456657269666961626c6543726564656e7469616c227d2c7b2240636f6e74657874223a2268747470733a2f2f7777772e77332e6f72672f6e732f63726564656e7469616c732f7632222c226964223a22646174613a6170706c69636174696f6e2f76632b73642d6a77742c6579566a562e2e2e524d6a557e3b646174613a6170706c69636174696f6e2f76632b73642d6a77742c6579566a562e2e2e524d6a557e222c2274797065223a22456e76656c6f70656456657269666961626c6543726564656e7469616c227d5d7d584006b751903ec5daabeb04894bbbc0c0cf614b5629e876fa75996b73aba8238502e3e5d81f3ed4ac6af856284b02c6ab9fb9fc0d85834e318ed478e5c7c19b435b
eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ .eyJpYXQiOjE3OTE1MjU4MTUsImV4cCI6MTc5MjczNTQxNSwiX3NkX2FsZyI6InNoYS0yNTYiLCJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwidmVyaWZpYWJsZUNyZWRlbnRpYWwiOlt7IkBjb250ZXh0IjoiaHR0cHM6Ly93d3cudzMub3JnL25zL2NyZWRlbnRpYWxzL3YyIiwiX3NkIjpbImJ6dmtjSHVWZ01sZ2k3RjFfY2ZUeDJVaGhNQUFCMGdTbzd3Rl84cE9SQWMiLCJ1QVktZGN0RHlNVlU1RndHTE92MEd4aE10MGp4dGVhbUhpVnRDZmlYZkJvIl19LHsiQGNvbnRleHQiOiJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJfc2QiOlsiOUhfeUdhQXRseE9fTWFBOTNxd2ozN2VJSk40Z0dhNzNxZW9BVXpGRS1ZbyIsInlxenVGQWstN2ZvSFp5eURBQzVobjFlejgwQlVzNGxNQnFyd3hVRTlIaFkiXX0seyJAY29udGV4dCI6Imh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsIl9zZCI6WyJfNjVqQVNJSWtMelg3YlREV3VGcXpmSjhWa2wtR1QzUklSazVORnVPOWpZIiwiZUdIcEcwYVpzRllBYlhsV25NMXZNN2dwZXYza2w2Ui1hMjFTZjR2WC1xcyJdfV0sIl9zZCI6WyJ2aEtjTnYyQTJJV3dmY3F6dUJTcThNYjh4UGlNc01xUFg0TGQ5WjVUd0g0Il19 .v2wiQqOhjSnTiIUo3HWXbCI6Hvii-qlq9gpwADMGxySBT2s8biq0CpFWDmBbzMDH5nZOBtsiBoJVvqLI76xjpg ~WyJKX09IX29iOU1ueFdnOU9icEtQRldnIiwgInR5cGUiLCAiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd~WyJtQW41N2Uza09LYjBPMkIwOWlTTzlRIiwgImlkIiwgImRhdGE6YXBwbGljYXRpb24vdmMrY29zZTtiYXNlNjR1cmwsIFdXMUdlbHBVV1RCTVJFSjJWV3RXZGt4cE5IVkxNVVU1VUZFIl0~WyJma250MjJTLU13M0RlajFyVjVJdGpnIiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZUNyZWRlbnRpYWwiXQ~WyJwc2JIdEpVQUVoSmV3MDlqZHFxSEFRIiwgImlkIiwgImRhdGE6YXBwbGljYXRpb24vdmMrand0LCBleVZqVi4uLlJNalU7ZGF0YTphcHBsaWNhdGlvbi92Yytqd3QsIGV5VmpWLi4uUk1qVSJd~WyJRdUlVeHBjclRMWC1vSXdDMTRXdFN3IiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZUNyZWRlbnRpYWwiXQ~WyJlTlpQQ0U2UkxLMGN5dkVoTHZ4eURRIiwgImlkIiwgImRhdGE6YXBwbGljYXRpb24vdmMrc2Qtand0LCBleVZqVi4uLlJNalV-O2RhdGE6YXBwbGljYXRpb24vdmMrc2Qtand0LCBleVZqVi4uLlJNalV-Il0~WyI3RlR4YXVUUDltMVpPbDlRTGI3U3VnIiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZUNyZWRlbnRpYWwiXQ~
{
  "kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
  "alg": "ES256"
}
{
  "iat": 1791525815,
  "exp": 1792735415,
  "_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": [
        "bzvkcHuVgMlgi7F1_cfTx2UhhMAAB0gSo7wF_8pORAc",
        "uAY-dctDyMVU5FwGLOv0GxhMt0jxteamHiVtCfiXfBo"
      ]
    },
    {
      "@context": "https://www.w3.org/ns/credentials/v2",
      "_sd": [
        "9H_yGaAtlxO_MaA93qwj37eIJN4gGa73qeoAUzFE-Yo",
        "yqzuFAk-7foHZyyDAC5hn1ez80BUs4lMBqrwxUE9HhY"
      ]
    },
    {
      "@context": "https://www.w3.org/ns/credentials/v2",
      "_sd": [
        "_65jASIIkLzX7bTDWuFqzfJ8Vkl-GT3RIRk5NFuO9jY",
        "eGHpG0aZsFYAbXlWnM1vM7gpev3kl6R-a21Sf4vX-qs"
      ]
    }
  ],
  "_sd": [
    "vhKcNv2A2IWwfcqzuBSq8Mb8xPiMsMqPX4Ld9Z5TwH4"
  ]
}

声明: type

SHA-256 哈希值: vhKcNv2A2IWwfcqzuBSq8Mb8xPiMsMqPX4Ld9Z5TwH4

披露内容: WyJKX09IX29iOU1ueFdnOU9icEtQRldnIiwgInR5cGUiLCAiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd

内容: [
  "J_OH_ob9MnxWg9ObpKPFWg",
  "type",
  "VerifiablePresentation"
]

声明: id

SHA-256 哈希值: uAY-dctDyMVU5FwGLOv0GxhMt0jxteamHiVtCfiXfBo

披露内容: WyJtQW41N2Uza09LYjBPMkIwOWlTTzlRIiwgImlkIiwgImRhdGE6YXBwbGljYXRpb24vdmMrY29zZTtiYXNlNjR1cmwsIFdXMUdlbHBVV1RCTVJFSjJWV3RXZGt4cE5IVkxNVVU1VUZFIl0

内容: [
  "mAn57e3kOKb0O2B09iSO9Q",
  "id",
  "data:application/vc+cose;base64url, WW1GelpUWTBMREJ2VWtWdkxpNHVLMUU5UFE"
]

声明: type

SHA-256 哈希值: bzvkcHuVgMlgi7F1_cfTx2UhhMAAB0gSo7wF_8pORAc

披露内容: WyJma250MjJTLU13M0RlajFyVjVJdGpnIiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZUNyZWRlbnRpYWwiXQ

内容: [
  "fknt22S-Mw3Dej1rV5Itjg",
  "type",
  "EnvelopedVerifiableCredential"
]

声明: id

SHA-256 哈希值: 9H_yGaAtlxO_MaA93qwj37eIJN4gGa73qeoAUzFE-Yo

披露内容: WyJwc2JIdEpVQUVoSmV3MDlqZHFxSEFRIiwgImlkIiwgImRhdGE6YXBwbGljYXRpb24vdmMrand0LCBleVZqVi4uLlJNalU7ZGF0YTphcHBsaWNhdGlvbi92Yytqd3QsIGV5VmpWLi4uUk1qVSJd

内容: [
  "psbHtJUAEhJew09jdqqHAQ",
  "id",
  "data:application/vc+jwt, eyVjV...RMjU;data:application/vc+jwt, eyVjV...RMjU"
]

声明: type

SHA-256 哈希值: yqzuFAk-7foHZyyDAC5hn1ez80BUs4lMBqrwxUE9HhY

披露内容: WyJRdUlVeHBjclRMWC1vSXdDMTRXdFN3IiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZUNyZWRlbnRpYWwiXQ

内容: [
  "QuIUxpcrTLX-oIwC14WtSw",
  "type",
  "EnvelopedVerifiableCredential"
]

声明: id

SHA-256 哈希值: _65jASIIkLzX7bTDWuFqzfJ8Vkl-GT3RIRk5NFuO9jY

披露内容: WyJlTlpQQ0U2UkxLMGN5dkVoTHZ4eURRIiwgImlkIiwgImRhdGE6YXBwbGljYXRpb24vdmMrc2Qtand0LCBleVZqVi4uLlJNalV-O2RhdGE6YXBwbGljYXRpb24vdmMrc2Qtand0LCBleVZqVi4uLlJNalV-Il0

内容: [
  "eNZPCE6RLK0cyvEhLvxyDQ",
  "id",
  "data:application/vc+sd-jwt, eyVjV...RMjU~;data:application/vc+sd-jwt, eyVjV...RMjU~"
]

声明: type

SHA-256 哈希值: eGHpG0aZsFYAbXlWnM1vM7gpev3kl6R-a21Sf4vX-qs

披露内容: WyI3RlR4YXVUUDltMVpPbDlRTGI3U3VnIiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZUNyZWRlbnRpYWwiXQ

内容: [
  "7FTxauTP9m1ZOl9QLb7Sug",
  "type",
  "EnvelopedVerifiableCredential"
]

8.4 数据 URI

示例 21:经过 URI 编码的简单 SD-JWT 可验证 凭证
data:application/vc+sd-jwt,eyJhbGciOiJFUzM4NCIsImtpZCI6IlNJM1JITm91aDhvODFOT09OUFFVQUw3RWdaLWtJNl94ajlvUkV2WDF4T3ciLCJ0eXAiOiJ2YytsZCtqc29uK3NkLWp3dCIsImN0eSI6InZjK2xkK2pzb24ifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDE5OjIzOjI0WiIsImNyZWRlbnRpYWxTY2hlbWEiOnsiX3NkIjpbIkU3dU1sSWFyS29iYXJTdEZGRjctZm5qaV9sQVdnM3BGMkV5dVc4dWFYakUiLCJYelRaSVgyNGdDSWxSQVFHclFoNU5FRm1XWkQtZ3Z3dkIybzB5Y0FwNFZzIl19LCJjcmVkZW50aWFsU3ViamVjdCI6eyJkZWdyZWUiOnsibmFtZSI6IkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMiLCJfc2QiOlsiT3oxUEZIMG0tWk9TdEhwUVZyeGlmVlpKRzhvNmlQQmNnLVZ2SXQwd2plcyJdfSwiX3NkIjpbIkVZQ1daMTZZMHB5X1VNNzRHU3NVYU9zT19mdDExTlVSaFFUTS1TT1lFTVEiXX0sIl9zZCI6WyJqT055NnZUbGNvVlAzM25oSTdERGN3ekVka3d2R3VVRXlLUjdrWEVLd3VVIiwid21BdHpwc0dRbDJveS1PY2JrSEVZcE8xb3BoX3VYcWVWVTRKekF0aFFibyJdLCJfc2RfYWxnIjoic2hhLTI1NiIsImlzcyI6Imh0dHBzOi8vdW5pdmVyc2l0eS5leGFtcGxlL2lzc3VlcnMvNTY1MDQ5IiwiaWF0IjoxNjk3Mjg5OTk2LCJleHAiOjE3Mjg5MTIzOTYsImNuZiI6eyJqd2siOnsia3R5IjoiRUMiLCJjcnYiOiJQLTM4NCIsImFsZyI6IkVTMzg0IiwieCI6InZFdV84WGxZT0ZFU2hTcVRpZ2JSYWduZ0ZGM1p5U0xrclNHekh3azFBT1loanhlazVhV21HY2UwZU05S0pWOEIiLCJ5IjoiRUpNY2czWXBzUTB3M2RLNHlVa25QczE1Z0lsY2Yyay03dzFKLTNlYlBiOERENmQtUkhBeGUwMDkzSWpfdTRCOSJ9fX0.rYzbxb6j1dwop8_s491iArVVJNm6A6C3b742gOm_qYO3zdkyQU4_VxxOSJ8ECcmWj2r5KyiCNC1ojfO4Yms-zBsjt7PoMYpYWBplsqXpiIvnehmM7D0eOLi40uHXki0X~WyJSWTg1YTZNMmEwX3VDWlFTVGZmTFdRIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJMeG5GYTBXVm8wRUluVy1QdS1fd1dRIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyJUQVdrakpCaVpxdC1rVU54X1EweUJBIiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvZGVncmVlLmpzb24iXQ~WyJTd2xuZFpPZzZEZ1ZERFp5X0RvYVFBIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyJuSnJlU3E1Nzg3RGZMSDJCbU03cXFRIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMyJd~WyIxMjNNd3hNcHRiek02YUk2aW03ME1RIiwgInR5cGUiLCAiQmFjaGVsb3JEZWdyZWUiXQ~
示例 22:经过 URI 编码的简单 SD-JWT 可验证 出示
data:application/vp+sd-jwt,eyJhbGciOiJFUzM4NCIsImtpZCI6IlNJM1JITm91aDhvODFOT09OUFFVQUw3RWdaLWtJNl94ajlvUkV2WDF4T3ciLCJ0eXAiOiJ2YytsZCtqc29uK3NkLWp3dCIsImN0eSI6InZjK2xkK2pzb24ifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDE5OjIzOjI0WiIsImNyZWRlbnRpYWxTY2hlbWEiOnsiX3NkIjpbIkU3dU1sSWFyS29iYXJTdEZGRjctZm5qaV9sQVdnM3BGMkV5dVc4dWFYakUiLCJYelRaSVgyNGdDSWxSQVFHclFoNU5FRm1XWkQtZ3Z3dkIybzB5Y0FwNFZzIl19LCJjcmVkZW50aWFsU3ViamVjdCI6eyJkZWdyZWUiOnsibmFtZSI6IkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMiLCJfc2QiOlsiT3oxUEZIMG0tWk9TdEhwUVZyeGlmVlpKRzhvNmlQQmNnLVZ2SXQwd2plcyJdfSwiX3NkIjpbIkVZQ1daMTZZMHB5X1VNNzRHU3NVYU9zT19mdDExTlVSaFFUTS1TT1lFTVEiXX0sIl9zZCI6WyJqT055NnZUbGNvVlAzM25oSTdERGN3ekVka3d2R3VVRXlLUjdrWEVLd3VVIiwid21BdHpwc0dRbDJveS1PY2JrSEVZcE8xb3BoX3VYcWVWVTRKekF0aFFibyJdLCJfc2RfYWxnIjoic2hhLTI1NiIsImlzcyI6Imh0dHBzOi8vdW5pdmVyc2l0eS5leGFtcGxlL2lzc3VlcnMvNTY1MDQ5IiwiaWF0IjoxNjk3Mjg5OTk2LCJleHAiOjE3Mjg5MTIzOTYsImNuZiI6eyJqd2siOnsia3R5IjoiRUMiLCJjcnYiOiJQLTM4NCIsImFsZyI6IkVTMzg0IiwieCI6InZFdV84WGxZT0ZFU2hTcVRpZ2JSYWduZ0ZGM1p5U0xrclNHekh3azFBT1loanhlazVhV21HY2UwZU05S0pWOEIiLCJ5IjoiRUpNY2czWXBzUTB3M2RLNHlVa25QczE1Z0lsY2Yyay03dzFKLTNlYlBiOERENmQtUkhBeGUwMDkzSWpfdTRCOSJ9fX0.rYzbxb6j1dwop8_s491iArVVJNm6A6C3b742gOm_qYO3zdkyQU4_VxxOSJ8ECcmWj2r5KyiCNC1ojfO4Yms-zBsjt7PoMYpYWBplsqXpiIvnehmM7D0eOLi40uHXki0X~WyJTd2xuZFpPZzZEZ1ZERFp5X0RvYVFBIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyIxMjNNd3hNcHRiek02YUk2aW03ME1RIiwgInR5cGUiLCAiQmFjaGVsb3JEZWdyZWUiXQ~WyJMeG5GYTBXVm8wRUluVy1QdS1fd1dRIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyJSWTg1YTZNMmEwX3VDWlFTVGZmTFdRIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~eyJhbGciOiJFUzM4NCIsInR5cCI6ImtiK2p3dCJ9.eyJub25jZSI6IkVmeTROTFJPX3ZvSkszdDIzcUNfQlEiLCJhdWQiOiJodHRwczovL3ZlcmlmaWVyLmV4YW1wbGUiLCJpYXQiOjE2OTcyODk5OTZ9.6G-1nVcrDKFzR6BdbcFHcbtassEb8NZ7ZavTYz3SJ-e4pXleXs0tNcCkUCwMI70gsuOY0AXzeDPbHjp5GKyLDVuNWgWCt3Wo2VSaCwUkyfLyvhkCsmkF9kvFhMIOhp1i~
示例 23:经过 URI 编码的简单 COSE 可验证 出示
data:application/vp+cose;base64,0oREoQE4IqBZDSJ7IkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJ0eXBlIjoiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiIsInZlcmlmaWFibGVDcmVkZW50aWFsIjpbeyJAY29udGV4dCI6Imh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImlkIjoiZGF0YTphcHBsaWNhdGlvbi92Yy1sZCtzZC1qd3QsZXlKcmFXUWlPaUpGZUVoclFrMVhPV1p0WW10MlZqSTJObTFTY0hWUU1uTlZXVjlPWDBWWFNVNHhiR0Z3VlhwUE9ISnZJaXdpWVd4bklqb2lSVk15TlRZaWZRLmV5SmZjMlJmWVd4bklqb2ljMmhoTFRJMU5pSXNJa0JqYjI1MFpYaDBJanBiSW1oMGRIQnpPaTh2ZDNkM0xuY3pMbTl5Wnk5dWN5OWpjbVZrWlc1MGFXRnNjeTkyTWlJc0ltaDBkSEJ6T2k4dmQzZDNMbmN6TG05eVp5OXVjeTlqY21Wa1pXNTBhV0ZzY3k5bGVHRnRjR3hsY3k5Mk1pSmRMQ0pwYzNOMVpYSWlPaUpvZEhSd2N6b3ZMM1Z1YVhabGNuTnBkSGt1WlhoaGJYQnNaUzlwYzNOMVpYSnpMelUyTlRBME9TSXNJblpoYkdsa1JuSnZiU0k2SWpJd01UQXRNREV0TURGVU1UazZNak02TWpSYUlpd2lZM0psWkdWdWRHbGhiRk5qYUdWdFlTSTZleUpmYzJRaU9sc2lOV0pCZURNdGVIQm1RV3hWUzBaSk9YTnVNMmhXUTIxd1IydHJjVWx6V21NekxVeGlNek5tV21waWF5SXNJbHBqUVhaSU1EaHNkRUp5U1VwbVNXaDBPRjl0UzFCZll6TnNjRzVZTVdOSGNsbHRWRzh3WjFsQ2VUZ2lYWDBzSW1OeVpXUmxiblJwWVd4VGRXSnFaV04wSWpwN0ltUmxaM0psWlNJNmV5SnVZVzFsSWpvaVFtRmphR1ZzYjNJZ2IyWWdVMk5wWlc1alpTQmhibVFnUVhKMGN5SXNJbDl6WkNJNld5SlNUMVEzTVVsMGRUTk1ObFZYV0ZWcWJ5MW9XVmRKUWpZM2JIVlBUa1ZFVWxOQ2FHeEVWRU54VlU5UklsMTlMQ0pmYzJRaU9sc2lUVVZ1WlhObk1saFBVazVqWTNOQ1RXVmFYekUyTURKbmVUUXdVaTAwV1VKMlZsSXdlRkU0YjBZNFl5SmRmU3dpWDNOa0lqcGJJa1ZsYzJKaWF5MW1jR1p3ZDJaTU9YZE9jekZ4Y2paMGFVNDNabkV0U1hReldWTTJWM1pDYmw5aVdHOGlMQ0phYjFJMVpHUmhja2R0WmsxNU5FaHVWMHhWYWs1VVJuRlVSak5ZUmpacGRGQm5abmxHUWtoVlgzRlZJbDE5Lmd3M3BheGJrTGpwaThDVHN5UnBYS2JDN3RwVmEwcTJzV0tTRC1fZGNidVoxTHBaVjNvUThJZnpjbTJiRThSWTNmbUpnYnV5QTlnYlBMM3NRQmFUemtnIH5XeUpTZVVReFZsQjRWSEJ2Ym10UGVYWnBjemt0YTI5M0lpd2dJbWxrSWl3Z0ltaDBkSEE2THk5MWJtbDJaWEp6YVhSNUxtVjRZVzF3YkdVdlkzSmxaR1Z1ZEdsaGJITXZNVGczTWlKZH5XeUpmVmpkMWVUZDNheTFSTTNWWmQyWnBaME52V1VWQklpd2dJblI1Y0dVaUxDQmJJbFpsY21sbWFXRmliR1ZEY21Wa1pXNTBhV0ZzSWl3Z0lrVjRZVzF3YkdWQmJIVnRibWxEY21Wa1pXNTBhV0ZzSWwxZH5XeUpoYXpkcU1UbG5ZVk10UkRKTFgyaHpZM1JWWkdOUklpd2dJbWxrSWl3Z0ltaDBkSEJ6T2k4dlpYaGhiWEJzWlM1dmNtY3ZaWGhoYlhCc1pYTXZaR1ZuY21WbExtcHpiMjRpWFF+V3lKVVRqQlhhWFZaUmtoWFdrVjJaRFpJUVVKSFFTMW5JaXdnSW5SNWNHVWlMQ0FpU25OdmJsTmphR1Z0WVNKZH5XeUpWTW5Cek1reFlWRVJWYlZoM01EY3hSVkJtUlVwbklpd2dJbWxrSWl3Z0ltUnBaRHBsZUdGdGNHeGxPakV5TXlKZH5XeUpzUTA0MmVUTkVhVE5EVWs5VlgzSnVYelJFTldSbklpd2dJblI1Y0dVaUxDQWlRbUZqYUdWc2IzSkVaV2R5WldVaVhRfjtkYXRhOmFwcGxpY2F0aW9uL3ZjLWxkK3NkLWp3dCxleUpyYVdRaU9pSkZlRWhyUWsxWE9XWnRZbXQyVmpJMk5tMVNjSFZRTW5OVldWOU9YMFZYU1U0eGJHRndWWHBQT0hKdklpd2lZV3huSWpvaVJWTXlOVFlpZlEuZXlKZmMyUmZZV3huSWpvaWMyaGhMVEkxTmlJc0lrQmpiMjUwWlhoMElqcGJJbWgwZEhCek9pOHZkM2QzTG5jekxtOXlaeTl1Y3k5amNtVmtaVzUwYVdGc2N5OTJNaUlzSW1oMGRIQnpPaTh2ZDNkM0xuY3pMbTl5Wnk5dWN5OWpjbVZrWlc1MGFXRnNjeTlsZUdGdGNHeGxjeTkyTWlKZExDSnBjM04xWlhJaU9pSm9kSFJ3Y3pvdkwzVnVhWFpsY25OcGRIa3VaWGhoYlhCc1pTOXBjM04xWlhKekx6VTJOVEEwT1NJc0luWmhiR2xrUm5KdmJTSTZJakl3TVRBdE1ERXRNREZVTVRrNk1qTTZNalJhSWl3aVkzSmxaR1Z1ZEdsaGJGTmphR1Z0WVNJNmV5SmZjMlFpT2xzaU5XSkJlRE10ZUhCbVFXeFZTMFpKT1hOdU0yaFdRMjF3UjJ0cmNVbHpXbU16TFV4aU16Tm1XbXBpYXlJc0lscGpRWFpJTURoc2RFSnlTVXBtU1doME9GOXRTMUJmWXpOc2NHNVlNV05IY2xsdFZHOHdaMWxDZVRnaVhYMHNJbU55WldSbGJuUnBZV3hUZFdKcVpXTjBJanA3SW1SbFozSmxaU0k2ZXlKdVlXMWxJam9pUW1GamFHVnNiM0lnYjJZZ1UyTnBaVzVqWlNCaGJtUWdRWEowY3lJc0lsOXpaQ0k2V3lKU1QxUTNNVWwwZFROTU5sVlhXRlZxYnkxb1dWZEpRalkzYkhWUFRrVkVVbE5DYUd4RVZFTnhWVTlSSWwxOUxDSmZjMlFpT2xzaVRVVnVaWE5uTWxoUFVrNWpZM05DVFdWYVh6RTJNREpuZVRRd1VpMDBXVUoyVmxJd2VGRTRiMFk0WXlKZGZTd2lYM05rSWpwYklrVmxjMkppYXkxbWNHWndkMlpNT1hkT2N6RnhjalowYVU0M1puRXRTWFF6V1ZNMlYzWkNibDlpV0c4aUxDSmFiMUkxWkdSaGNrZHRaazE1TkVodVYweFZhazVVUm5GVVJqTllSalpwZEZCblpubEdRa2hWWDNGVklsMTkuZ3czcGF4YmtManBpOENUc3lScFhLYkM3dHBWYTBxMnNXS1NELV9kY2J1WjFMcFpWM29ROElmemNtMmJFOFJZM2ZtSmdidXlBOWdiUEwzc1FCYVR6a2cgfld5SlNlVVF4VmxCNFZIQnZibXRQZVhacGN6a3RhMjkzSWl3Z0ltbGtJaXdnSW1oMGRIQTZMeTkxYm1sMlpYSnphWFI1TG1WNFlXMXdiR1V2WTNKbFpHVnVkR2xoYkhNdk1UZzNNaUpkfld5SmZWamQxZVRkM2F5MVJNM1ZaZDJacFowTnZXVVZCSWl3Z0luUjVjR1VpTENCYklsWmxjbWxtYVdGaWJHVkRjbVZrWlc1MGFXRnNJaXdnSWtWNFlXMXdiR1ZCYkhWdGJtbERjbVZrWlc1MGFXRnNJbDFkfld5SmhhemRxTVRsbllWTXRSREpMWDJoelkzUlZaR05SSWl3Z0ltbGtJaXdnSW1oMGRIQnpPaTh2WlhoaGJYQnNaUzV2Y21jdlpYaGhiWEJzWlhNdlpHVm5jbVZsTG1wemIyNGlYUX5XeUpVVGpCWGFYVlpSa2hYV2tWMlpEWklRVUpIUVMxbklpd2dJblI1Y0dVaUxDQWlTbk52YmxOamFHVnRZU0pkfld5SlZNbkJ6TWt4WVZFUlZiVmgzTURjeFJWQm1SVXBuSWl3Z0ltbGtJaXdnSW1ScFpEcGxlR0Z0Y0d4bE9qRXlNeUpkfld5SnNRMDQyZVRORWFUTkRVazlWWDNKdVh6UkVOV1JuSWl3Z0luUjVjR1VpTENBaVFtRmphR1ZzYjNKRVpXZHlaV1VpWFF+IiwidHlwZSI6IkVudmVsb3BlZFZlcmlmaWFibGVDcmVkZW50aWFsIn1dfVhA4c9H+cu0VfS8NsItpzbB1mpvjP5y2DCxTCW+bY6/4SNPCaeP+uR+JRpJ+GzVNz7/W7ZlHoXguhgBBjWhlnhh+Q==

8.5 COSE 示例

这些示例依赖于 CBOR 诊断表示法。 请记住,所有实际的数据交换始终以二进制格式进行。

示例 24:可验证凭证的 COSE Sign 1 受保护 标头
{                                   / 受保护部分                     /
  1: -35,                           / 算法                     /
  3: application/vc,                / 内容类型                  /
  4: h'177f12cb...1933d554',        / 密钥标识符                /
  15: {                             / CWT 声明                    /
    1: urn:example:123,             / 签发者                        /
    2: urn:example:456,             / 主体                       /
  },
}
示例 25:可验证出示的 COSE Sign 1 受保护 标头
{                                   / 受保护部分                     /
  1: -35,                           / 算法                     /
  3: application/vp,                / 内容类型                  /
  4: h'177f12cb...1933d554',        / 密钥标识符                /
  15: {                             / CWT 声明                    /
    1: urn:example:123,             / 签发者                        /
    2: urn:example:456,             / 主体                       /
  },
}
示例 26:带有附加载荷的 COSE Sign 1
18(                                 / COSE Sign 1                   /
    [
      h'a4013822...3a343536',       / 受保护的标头              /
      {}                            / 未受保护的 标头            /
      h'0fbe22a0...3a009118',       / 附加载荷              /
      h'09772c7f...5c4e736f'        / 签名                     /
    ]
)

载荷可以是 安全机制中所述的凭证或出示。

A. 修订历史

本节为非规范性内容。

本节介绍对本规范所作的实质性更改。

自 首份候选推荐标准以来的更改:

B. 致谢

本节为非规范性内容。

工作小组感谢 Orie Steele 为本规范作出的实质性智力 和内容贡献。 没有这些贡献,本规范将大不相同。

C. 参考文献

C.1 规范性参考文献

[CID-1.0]
受控标识符 v1.0. Michael Jones; Manu Sporny. W3C. 2025 年 5 月 15 日. W3C 推荐标准. 网址:https://www.w3.org/TR/cid-1.0/
[DID-CORE]
去中心化标识符 (DID) v1.0. Manu Sporny; Amy Guy; Markus Sabadello; Drummond Reed. W3C. 2022 年 7 月 19 日. W3C 推荐标准. 网址: https://www.w3.org/TR/did-core/
[JSON-LD11]
JSON-LD 1.1. Gregg Kellogg; Pierre-Antoine Champin; Dave Longley. W3C. 2020 年 7 月 16 日. W3C 推荐标准. 网址:https://www.w3.org/TR/json-ld11/
[RFC2119]
RFC 中用于表示 要求级别的关键词. S. Bradner. IETF. 1997 年 3 月. 当前最佳实践. 网址:https://www.rfc-editor.org/info/rfc2119/
[RFC2397]
"data" URL 方案. L. Masinter. IETF. 1998 年 8 月. 提议标准. 网址:https://www.rfc-editor.org/info/rfc2397/
[RFC6838]
媒体类型规范和注册 程序. N. Freed; J. Klensin; T. Hansen. IETF. 2013 年 1 月. 当前最佳 实践. 网址:https://www.rfc-editor.org/info/rfc6838/
[RFC7515]
JSON Web 签名 (JWS). M. Jones; J. Bradley; N. Sakimura. IETF. 2015 年 5 月. 提议标准. 网址:https://www.rfc-editor.org/info/rfc7515/
[RFC7516]
JSON Web 加密 (JWE). M. Jones; J. Hildebrand. IETF. 2015 年 5 月. 提议标准. 网址:https://www.rfc-editor.org/info/rfc7516/
[RFC7517]
JSON Web 密钥 (JWK). M. Jones. IETF. 2015 年 5 月. 提议标准. 网址:https://www.rfc-editor.org/info/rfc7517/
[RFC7519]
JSON Web 令牌 (JWT). M. Jones; J. Bradley; N. Sakimura. IETF. 2015 年 5 月. 提议标准. 网址:https://www.rfc-editor.org/info/rfc7519/
[RFC7638]
JSON Web 密钥 (JWK) 指纹. M. Jones; N. Sakimura. IETF. 2015 年 9 月. 提议标准. 网址:https://www.rfc-editor.org/info/rfc7638/
[RFC7800]
JSON Web 令牌 (JWT) 的持有证明密钥语义. M. Jones; J. Bradley; H. Tschofenig. IETF. 2016 年 4 月. 提议标准. 网址:https://www.rfc-editor.org/info/rfc7800/
[RFC8174]
RFC 2119 关键词中大写与小写的歧义. B. Leiba. IETF. 2017 年 5 月. 当前最佳实践. 网址:https://www.rfc-editor.org/info/rfc8174/
[RFC8392]
CBOR Web 令牌 (CWT). M. Jones; E. Wahlstroem; S. Erdtman; H. Tschofenig. IETF. 2018 年 5 月. 提议标准. 网址:https://www.rfc-editor.org/info/rfc8392/
[RFC8747]
CBOR Web 令牌 (CWT) 的持有证明密钥语义. M. Jones; L. Seitz; G. Selander; S. Erdtman; H. Tschofenig. IETF. 2020 年 3 月. 提议标准. 网址:https://www.rfc-editor.org/info/rfc8747/
[RFC8949]
简明二进制对象表示 (CBOR). C. Bormann; P. Hoffman. IETF. 2020 年 12 月. 互联网标准. 网址:https://www.rfc-editor.org/info/rfc8949/
[RFC9052]
CBOR 对象签名和加密 (COSE): 结构与处理. J. Schaad. IETF. 2022 年 8 月. 互联网标准. 网址:https://www.rfc-editor.org/info/rfc9052/
[RFC9596]
CBOR 对象签名和加密 (COSE) "typ"(类型)标头参数. M.B. Jones; O. Steele. IETF. 2024 年 6 月. 提议 标准. 网址:https://www.rfc-editor.org/info/rfc9596/
[SD-JWT]
JWT 选择性披露 (SD-JWT). Daniel Fett; Kristina Yasuda; Brian Campbell. IETF. 互联网草案. 网址:https://datatracker.ietf.org/doc/html/draft-ietf-oauth-selective-disclosure-jwt
[URL]
URL 标准. Anne van Kesteren. WHATWG. 现行标准. 网址:https://url.spec.whatwg.org/
[VC-DATA-MODEL-2.0]
可验证凭证数据模型 v2.0. Ivan Herman; Michael Jones; Manu Sporny; Ted Thibodeau Jr; Gabe Cohen. W3C. 2025 年 5 月 15 日. W3C 推荐标准. 网址:https://www.w3.org/TR/vc-data-model-2.0/

C.2 资料性参考文献

[JWT]
JSON Web 令牌 (JWT). M. Jones; J. Bradley; N. Sakimura. IETF. 2015 年 5 月. 提议标准. 网址:https://www.rfc-editor.org/info/rfc7519/
[RFC7049]
简明二进制对象表示 (CBOR). C. Bormann; P. Hoffman. IETF. 2013 年 10 月. 提议标准. 网址:https://www.rfc-editor.org/info/rfc7049/
[RFC7159]
JavaScript 对象表示法 (JSON) 数据 交换格式. T. Bray, 编者. IETF. 2014 年 3 月. 提议标准. 网址:https://www.rfc-editor.org/info/rfc7159/
[WCAG21]
Web 内容无障碍指南 (WCAG) 2.1. Michael Cooper; Andrew Kirkpatrick; Joshue O'Connor; Alastair Campbell. W3C. 2025 年 5 月 6 日. W3C 推荐标准. 网址:https://www.w3.org/TR/WCAG21/