另请参阅 翻译版本。
Copyright © 2026 World Wide Web Consortium. W3C® liability, trademark and permissive document license rules apply.
本规范定义了如何保护符合 可验证凭证数据模型 [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 流程文档管辖。
本规范定义了如何使用 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 数据进行加密来确保其机密性。
除标记为非规范性的章节外,本规范中的所有编写指南、图表、示例和注释 均为非规范性内容。本规范中的其他所有内容均为规范性内容。
本文档中的关键词 可以、必须、绝对 不得、不推荐、推荐、应该 和 不应该 应按照 BCP 14 [RFC2119] [RFC8174] 中的规定进行解释,但前提是且仅当这些关键词 如此处所示全部使用大写字母时。
符合规范的 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 节。
可验证
凭证数据模型 v2.0
描述了本规范通过应用封装证明
来保护 JSON 和 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。
建议 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 声明集。
本规范使用 IETF 草案 [SD-JWT] 中 定义的 JWT 选择性披露 (SD-JWT)。实现者应该参考 该草案,以了解 SD-JWT 格式和 处理要求的完整详细信息。
本节定义了本规范中使用的术语。每当这些术语 出现在本规范中时,都会提供指向它们的链接。
本节概述了如何使用 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,
除非存在能够更准确标识受保护
封装格式的媒体类型。
如果实现不知道应该使用哪种媒体类型, 则必须使用本规范定义的媒体类型。
本节详细说明如何使用 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 的描述。
{
"@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
有关此示例的更多详细信息,请参阅 可验证 凭证数据模型 v2.0。
本节详细说明如何使用 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 的描述。
{
"@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
有关此示例的更多详细信息,请参阅 可验证 凭证数据模型 v2.0。
{
"@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
有关此示例的更多详细信息,请参阅 可验证 凭证数据模型 v2.0。
实现必须支持 JWS 紧凑序列化。 不推荐使用 JWS JSON 序列化。
本节为非规范性内容。
当 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不得
出现。
可以将其他成员作为标头参数和声明。 如果无法识别这些成员,则必须忽略它们。
本节详细说明如何使用 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 节中的说明。
{
"@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"
}
{
"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"
]
}
SHA-256 哈希值: bT4RL15gAXf4UyJMioSTI7yE5PIBLmqoGJ8u4V5tYZs
披露内容: WyItZUhiTmNnQXZRUk9kc0RqOEY0eGNRIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMzczMiJd
内容: [
"-eHbNcgAvQROdsDj8F4xcQ",
"id",
"http://university.example/credentials/3732"
]
SHA-256 哈希值: 0XceFXNCYz5cuoGmOw3wwQ1Q_gjC1hPb4J43e6-4YsE
披露内容: WyI1Mk12Q0Y1NS0zaE1vQVJKVU5YWThBIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVEZWdyZWVDcmVkZW50aWFsIiwgIkV4YW1wbGVQZXJzb25DcmVkZW50aWFsIl1d
内容: [
"52MvCF55-3hMoARJUNXY8A",
"type",
[
"VerifiableCredential",
"ExampleDegreeCredential",
"ExamplePersonCredential"
]
]
SHA-256 哈希值: Umh4b_DbZ0y_-K1gR24wUPDxuxZHouDYM7NlITOdB4M
披露内容: WyJnTkhaLTZDaXYzWkdwY2RSZnI2RVBnIiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd
内容: [
"gNHZ-6Civ3ZGpcdRfr6EPg",
"id",
"did:example:ebfeb1f712ebc6f1c276e12ec21"
]
SHA-256 哈希值: rhMUp99l11L_m5aclao8ee-vnOQqWCtrVvRJmhFHC-0
披露内容: WyJKdFFSbm1pbF9rb3BRbXVQcTk0VmZnIiwgInR5cGUiLCAiRXhhbXBsZUJhY2hlbG9yRGVncmVlIl0
内容: [
"JtQRnmil_kopQmuPq94Vfg",
"type",
"ExampleBachelorDegree"
]
SHA-256 哈希值: IH0oFlXpwF1XnhOZL6EY3rPNzGAH3Nk_-m3Iagooh3U
披露内容: WyJOYXY3UkhoMF9xakZJcHZrRzBtUmZRIiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvZGVncmVlLmpzb24iXQ
内容: [
"Nav7RHh0_qjFIpvkG0mRfQ",
"id",
"https://example.org/examples/degree.json"
]
SHA-256 哈希值: kJ1TY_36UMnNGKtvqmZY-Ic9N4cZnsK3hVLLG1GZI9o
披露内容: WyJCaWZWNHRJdHo3d3BXWUlaLWs5dDR3IiwgInR5cGUiLCAiSnNvblNjaGVtYSJd
内容: [
"BifV4tItz7wpWYIZ-k9t4w",
"type",
"JsonSchema"
]
SHA-256 哈希值: MkB2CaEROZ2Pmsrg0mur_8awK-hUhiJ2xFLSRDBPuZw
披露内容: WyJWd1ZWUkQ3OVk5bFA0bmdRUE9uczVRIiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvYWx1bW5pLmpzb24iXQ
内容: [
"VwVVRD79Y9lP4ngQPOns5Q",
"id",
"https://example.org/examples/alumni.json"
]
SHA-256 哈希值: 6u4u8xmDrgAQIOGtbbFvd5dL12aRGdDz8nt_Yv59w6Q
披露内容: WyJCc1JRUEd3d1B3VlVuemF4dWFfRDZBIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd
内容: [
"BsRQPGwwPwVUnzaxua_D6A",
"type",
"JsonSchema"
]
有关此示例的更多详细信息,请参阅 可验证 凭证数据模型 v2.0。
本节详细说明如何使用 [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 节中的说明。
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"type": "VerifiablePresentation",
"verifiableCredential": [{
"@context": "https://www.w3.org/ns/credentials/v2",
"type": "EnvelopedVerifiableCredential",
"id": "data:application/vc+sd-jwt,eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ.eyJfc2RfYWxnIjoic2hhLTI1NiIsIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzU2NTA0OSIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFNjaGVtYSI6eyJfc2QiOlsiNjVFLVZZbmE3UE5mSGVsUDN6THFwcE5ERXhSLWhjWkhSTnlxN2U0ZVdabyIsIjhJbEwtUGx4Ukt3S0hLaTMtTXhXMjM4d0FkTmQ0NHdabC1iY3NBc2JIQjAiXX0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImRlZ3JlZSI6eyJuYW1lIjoiQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyIsIl9zZCI6WyJMVXhqcWtsWS1hdDVSVmFoSXpxM3NJZ015dkdwVDlwdlUwdTRyU2ktMXl3Il19LCJfc2QiOlsiVmxZLW50ZklPOUI5RGRsUWp5U2REMldoVWI0bjc3Zl9HWDZ2U1dLQWpCNCJdfSwiX3NkIjpbIi1iREZ4Um94UUVlcEdjZFl6a250aTVGWXBsUTU5N0djaEdUTGVtLVJSY1UiLCJfREFVZ0xrTF9zVkVtLTBvcE8zaWhpeVFhS0ZzT08xUl9ONk1CUmprOWhFIl19.Kc083RKbBxc3Vr5qR3iEEPp3dKxTa6sPaWNsqtkIw8TvMRf9EZL2ajtgkWSBYzyzOzawOrCXryyp4rMTyI9vfA ~WyJiQ1RTaU9HNUo1VXhPY1QwUlNfd01nIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJTclNWMS01SjR6cWhOU3N3STIwaHdRIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyJKX294dDhtUGUtaDl4MkQzc29uT1N3IiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvZGVncmVlLmpzb24iXQ~WyJDMlpWektmZ185RUh1ajB2S1ExdWJnIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyJ6Szd5QlFPbFhfX2Q0X0VoYUc0Y0pRIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMyJd~WyJ6b1pzRzMzeXBMeVRGMm9aS3ZmMVFnIiwgInR5cGUiLCAiQmFjaGVsb3JEZWdyZWUiXQ~"
}]
}
{
"kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
"alg": "ES256"
}
{
"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"
]
}
SHA-256 哈希值: dOeMCySU8E75Dhu9v2lOMPWVjOm6bc_KyGwi4UTiEZc
披露内容: WyJfNm05ckJuTllRSlJtUmxnaVowdzZ3IiwgInR5cGUiLCAiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd
内容: [
"_6m9rBnNYQJRmRlgiZ0w6w",
"type",
"VerifiablePresentation"
]
SHA-256 哈希值: 7VegGib7jvR_MTe82B03VHTTZD3_BoPznBGvzVGZ8Lg
披露内容: WyJ0S1hEZlRiYjRRUl9qNG9qcHI3aGpnIiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZUNyZWRlbnRpYWwiXQ
内容: [
"tKXDfTbb4QR_j4ojpr7hjg",
"type",
"EnvelopedVerifiableCredential"
]
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。
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"type": "EnvelopedVerifiablePresentation",
"id": "data:application/vp+sd-jwt,eyJhbGciOiJFUzM4NCIsImtpZCI6IlVRTV9fblE0UzZCTzhuUTRuT05YeHB4aHRob3lOeGI1M0xZZ1l6LTJBQnMiLCJ0eXAiOiJ2cCtsZCtqc29uK3NkLWp3dCIsImN0eSI6InZwK2xkK2pzb24ifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwidmVyaWZpYWJsZUNyZWRlbnRpYWwiOlt7IkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzU2NTA0OSIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiYWx1bW5pT2YiOnsibmFtZSI6IkV4YW1wbGUgVW5pdmVyc2l0eSIsIl9zZCI6WyJoek9LRzU2cDI5c1ByTGFDNUE4RndFdUczVU05dUlZU1p1cU9YczJlVGJBIl19LCJfc2QiOlsiWVdXVmVDRndxQmk4WDBqSF9jV0NWWU16STNhOHBjTEVYRWZicFNSQVlndyJdfSwiX3NkIjpbIjJJZjhhaUs4REZwVWJ4dEc1cGMwel9SaFJzbm1ybGFRMEhzcTk4WFNyYWsiLCJUeDZ4ZWZMVUdUZUpfYWtVUFdGeHNvbUhobGtWVnpfNzVoaVZ6eWpyYmVzIl19XSwiX3NkIjpbIjd2anl0VVN3ZEJ0MXQ5RktlOVFfS3JIRXhFWGxrTEFaTzBKM0Jpd200dlkiXSwiX3NkX2FsZyI6InNoYS0yNTYiLCJpYXQiOjE3MDY1NjI4NDksImV4cCI6MTczODE4NTI0OSwiY25mIjp7Imp3ayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMzg0IiwiYWxnIjoiRVMzODQiLCJ4IjoidWtEd1U2ZzlQUVRFUWhYaEgyckRZNndMQlg3UHFlUjZBcGlhVHBEUXowcl8tdDl6UXNxem54Z0hEcE5oekZlQyIsInkiOiJMQnhVYnBVdFNGMVVKVTVpYnJIdkpINjBUSG5YMk1xa0xHZGltU1l0UGR4RlkxOEdhcldiS3FZV0djUkZHVE9BIn19fQ.kYD63YtBNYnLUTw6Szf1vs_Ug3UBXhPwCyqpNmPnPDa3rXZQhQLdB1BgaoO8zgQ-c3B41fxaXMnLHYV9-B20uboSpJP0B-2Vre917eQt1cSDswDGA_Ytvn4BSqYVBB2J~WyJFMkFsRzhsY2p0QVFrcllIbjlIbnVRIiwgInR5cGUiLCAiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd~WyI5NldYMDRneno4cVZzOVZLU2wwYTVnIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJaekU2VFVaamtHMW1DWXBKMEhnc0l3IiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyItQ3NsS25GZGFYb2JiQWsyU0JBVGR3IiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd~WyJuRm1OWl9IczB3WWNoOFdkeTdnQUNRIiwgImlkIiwgImRpZDpleGFtcGxlOmMyNzZlMTJlYzIxZWJmZWIxZjcxMmViYzZmMSJd~"
}
{
"kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
"alg": "ES256"
}
{
"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"
]
}
SHA-256 哈希值: ggPOscaq4f_z7Q7yzdljda1itF2kR3NXXFK0kspNhUQ
披露内容: WyJPQkpmWFN6Z04xV1RyX1A1VFZ2aHZ3IiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd
内容: [
"OBJfXSzgN1WTr_P5TVvhvw",
"type",
"EnvelopedVerifiablePresentation"
]
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 成员都得到一致的理解。
COSE [RFC9052] 是一种 使用 CBOR [RFC8949] 编码和保护信息的常见方法。 可验证凭证可以使用 COSE [RFC9052] 进行保护,并且 应该按照本节概述使用内容类型进行标识。
本节详细说明如何使用 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 对象的 明文载荷。
{
"@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"
}]
}
{
"@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
有关此示例的更多详细信息,请参阅 可验证 凭证数据模型 v2.0。
本节详细说明如何使用 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 对象的明文载荷。
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"type": "VerifiablePresentation",
"verifiableCredential": [{
"@context": "https://www.w3.org/ns/credentials/v2",
"type": "EnvelopedVerifiableCredential",
"id": "data:application/vc+sd-jwt,eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ.eyJfc2RfYWxnIjoic2hhLTI1NiIsIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzU2NTA0OSIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFNjaGVtYSI6eyJfc2QiOlsiNWJBeDMteHBmQWxVS0ZJOXNuM2hWQ21wR2trcUlzWmMzLUxiMzNmWmpiayIsIlpjQXZIMDhsdEJySUpmSWh0OF9tS1BfYzNscG5YMWNHclltVG8wZ1lCeTgiXX0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImRlZ3JlZSI6eyJuYW1lIjoiQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyIsIl9zZCI6WyJST1Q3MUl0dTNMNlVXWFVqby1oWVdJQjY3bHVPTkVEUlNCaGxEVENxVU9RIl19LCJfc2QiOlsiTUVuZXNnMlhPUk5jY3NCTWVaXzE2MDJneTQwUi00WUJ2VlIweFE4b0Y4YyJdfSwiX3NkIjpbIkVlc2Jiay1mcGZwd2ZMOXdOczFxcjZ0aU43ZnEtSXQzWVM2V3ZCbl9iWG8iLCJab1I1ZGRhckdtZk15NEhuV0xVak5URnFURjNYRjZpdFBnZnlGQkhVX3FVIl19.gw3paxbkLjpi8CTsyRpXKbC7tpVa0q2sWKSD-_dcbuZ1LpZV3oQ8Ifzcm2bE8RY3fmJgbuyA9gbPL3sQBaTzkg ~WyJSeUQxVlB4VHBvbmtPeXZpczkta293IiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJfVjd1eTd3ay1RM3VZd2ZpZ0NvWUVBIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyJhazdqMTlnYVMtRDJLX2hzY3RVZGNRIiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvZGVncmVlLmpzb24iXQ~WyJUTjBXaXVZRkhXWkV2ZDZIQUJHQS1nIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyJVMnBzMkxYVERVbVh3MDcxRVBmRUpnIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMyJd~WyJsQ042eTNEaTNDUk9VX3JuXzRENWRnIiwgInR5cGUiLCAiQmFjaGVsb3JEZWdyZWUiXQ~"
}]
}
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"type": "VerifiablePresentation",
"verifiableCredential": [
{
"@context": "https://www.w3.org/ns/credentials/v2",
"id": "data:application/vc+sd-jwt,eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ.eyJfc2RfYWxnIjoic2hhLTI1NiIsIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzU2NTA0OSIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFNjaGVtYSI6eyJfc2QiOlsiNWJBeDMteHBmQWxVS0ZJOXNuM2hWQ21wR2trcUlzWmMzLUxiMzNmWmpiayIsIlpjQXZIMDhsdEJySUpmSWh0OF9tS1BfYzNscG5YMWNHclltVG8wZ1lCeTgiXX0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImRlZ3JlZSI6eyJuYW1lIjoiQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyIsIl9zZCI6WyJST1Q3MUl0dTNMNlVXWFVqby1oWVdJQjY3bHVPTkVEUlNCaGxEVENxVU9RIl19LCJfc2QiOlsiTUVuZXNnMlhPUk5jY3NCTWVaXzE2MDJneTQwUi00WUJ2VlIweFE4b0Y4YyJdfSwiX3NkIjpbIkVlc2Jiay1mcGZwd2ZMOXdOczFxcjZ0aU43ZnEtSXQzWVM2V3ZCbl9iWG8iLCJab1I1ZGRhckdtZk15NEhuV0xVak5URnFURjNYRjZpdFBnZnlGQkhVX3FVIl19.gw3paxbkLjpi8CTsyRpXKbC7tpVa0q2sWKSD-_dcbuZ1LpZV3oQ8Ifzcm2bE8RY3fmJgbuyA9gbPL3sQBaTzkg ~WyJSeUQxVlB4VHBvbmtPeXZpczkta293IiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJfVjd1eTd3ay1RM3VZd2ZpZ0NvWUVBIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyJhazdqMTlnYVMtRDJLX2hzY3RVZGNRIiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvZGVncmVlLmpzb24iXQ~WyJUTjBXaXVZRkhXWkV2ZDZIQUJHQS1nIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyJVMnBzMkxYVERVbVh3MDcxRVBmRUpnIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMyJd~WyJsQ042eTNEaTNDUk9VX3JuXzRENWRnIiwgInR5cGUiLCAiQmFjaGVsb3JEZWdyZWUiXQ~;data:application/vc+sd-jwt,eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ.eyJfc2RfYWxnIjoic2hhLTI1NiIsIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzU2NTA0OSIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFNjaGVtYSI6eyJfc2QiOlsiNWJBeDMteHBmQWxVS0ZJOXNuM2hWQ21wR2trcUlzWmMzLUxiMzNmWmpiayIsIlpjQXZIMDhsdEJySUpmSWh0OF9tS1BfYzNscG5YMWNHclltVG8wZ1lCeTgiXX0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImRlZ3JlZSI6eyJuYW1lIjoiQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyIsIl9zZCI6WyJST1Q3MUl0dTNMNlVXWFVqby1oWVdJQjY3bHVPTkVEUlNCaGxEVENxVU9RIl19LCJfc2QiOlsiTUVuZXNnMlhPUk5jY3NCTWVaXzE2MDJneTQwUi00WUJ2VlIweFE4b0Y4YyJdfSwiX3NkIjpbIkVlc2Jiay1mcGZwd2ZMOXdOczFxcjZ0aU43ZnEtSXQzWVM2V3ZCbl9iWG8iLCJab1I1ZGRhckdtZk15NEhuV0xVak5URnFURjNYRjZpdFBnZnlGQkhVX3FVIl19.gw3paxbkLjpi8CTsyRpXKbC7tpVa0q2sWKSD-_dcbuZ1LpZV3oQ8Ifzcm2bE8RY3fmJgbuyA9gbPL3sQBaTzkg ~WyJSeUQxVlB4VHBvbmtPeXZpczkta293IiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJfVjd1eTd3ay1RM3VZd2ZpZ0NvWUVBIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyJhazdqMTlnYVMtRDJLX2hzY3RVZGNRIiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvZGVncmVlLmpzb24iXQ~WyJUTjBXaXVZRkhXWkV2ZDZIQUJHQS1nIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyJVMnBzMkxYVERVbVh3MDcxRVBmRUpnIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMyJd~WyJsQ042eTNEaTNDUk9VX3JuXzRENWRnIiwgInR5cGUiLCAiQmFjaGVsb3JEZWdyZWUiXQ~",
"type": "EnvelopedVerifiableCredential"
}
]
}
application/vp+cose
有关此示例的更多详细信息,请参阅 可验证 凭证数据模型 v2.0。
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"type": "EnvelopedVerifiablePresentation",
"id": "data:application/vp+sd-jwt,eyJhbGciOiJFUzM4NCIsImtpZCI6IlVRTV9fblE0UzZCTzhuUTRuT05YeHB4aHRob3lOeGI1M0xZZ1l6LTJBQnMiLCJ0eXAiOiJ2cCtsZCtqc29uK3NkLWp3dCIsImN0eSI6InZwK2xkK2pzb24ifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwidmVyaWZpYWJsZUNyZWRlbnRpYWwiOlt7IkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzU2NTA0OSIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiYWx1bW5pT2YiOnsibmFtZSI6IkV4YW1wbGUgVW5pdmVyc2l0eSIsIl9zZCI6WyJoek9LRzU2cDI5c1ByTGFDNUE4RndFdUczVU05dUlZU1p1cU9YczJlVGJBIl19LCJfc2QiOlsiWVdXVmVDRndxQmk4WDBqSF9jV0NWWU16STNhOHBjTEVYRWZicFNSQVlndyJdfSwiX3NkIjpbIjJJZjhhaUs4REZwVWJ4dEc1cGMwel9SaFJzbm1ybGFRMEhzcTk4WFNyYWsiLCJUeDZ4ZWZMVUdUZUpfYWtVUFdGeHNvbUhobGtWVnpfNzVoaVZ6eWpyYmVzIl19XSwiX3NkIjpbIjd2anl0VVN3ZEJ0MXQ5RktlOVFfS3JIRXhFWGxrTEFaTzBKM0Jpd200dlkiXSwiX3NkX2FsZyI6InNoYS0yNTYiLCJpYXQiOjE3MDY1NjI4NDksImV4cCI6MTczODE4NTI0OSwiY25mIjp7Imp3ayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMzg0IiwiYWxnIjoiRVMzODQiLCJ4IjoidWtEd1U2ZzlQUVRFUWhYaEgyckRZNndMQlg3UHFlUjZBcGlhVHBEUXowcl8tdDl6UXNxem54Z0hEcE5oekZlQyIsInkiOiJMQnhVYnBVdFNGMVVKVTVpYnJIdkpINjBUSG5YMk1xa0xHZGltU1l0UGR4RlkxOEdhcldiS3FZV0djUkZHVE9BIn19fQ.kYD63YtBNYnLUTw6Szf1vs_Ug3UBXhPwCyqpNmPnPDa3rXZQhQLdB1BgaoO8zgQ-c3B41fxaXMnLHYV9-B20uboSpJP0B-2Vre917eQt1cSDswDGA_Ytvn4BSqYVBB2J~WyJFMkFsRzhsY2p0QVFrcllIbjlIbnVRIiwgInR5cGUiLCAiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd~WyI5NldYMDRneno4cVZzOVZLU2wwYTVnIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJaekU2VFVaamtHMW1DWXBKMEhnc0l3IiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyItQ3NsS25GZGFYb2JiQWsyU0JBVGR3IiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd~WyJuRm1OWl9IczB3WWNoOFdkeTdnQUNRIiwgImlkIiwgImRpZDpleGFtcGxlOmMyNzZlMTJlYzIxZWJmZWIxZjcxMmViYzZmMSJd~"
}
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"type": "EnvelopedVerifiablePresentation",
"id": "data:application/vp+sd-jwt,eyJhbGciOiJFUzM4NCIsImtpZCI6IlVRTV9fblE0UzZCTzhuUTRuT05YeHB4aHRob3lOeGI1M0xZZ1l6LTJBQnMiLCJ0eXAiOiJ2cCtsZCtqc29uK3NkLWp3dCIsImN0eSI6InZwK2xkK2pzb24ifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwidmVyaWZpYWJsZUNyZWRlbnRpYWwiOlt7IkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJpc3N1ZXIiOiJodHRwczovL3VuaXZlcnNpdHkuZXhhbXBsZS9pc3N1ZXJzLzU2NTA0OSIsInZhbGlkRnJvbSI6IjIwMTAtMDEtMDFUMTk6MjM6MjRaIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiYWx1bW5pT2YiOnsibmFtZSI6IkV4YW1wbGUgVW5pdmVyc2l0eSIsIl9zZCI6WyJoek9LRzU2cDI5c1ByTGFDNUE4RndFdUczVU05dUlZU1p1cU9YczJlVGJBIl19LCJfc2QiOlsiWVdXVmVDRndxQmk4WDBqSF9jV0NWWU16STNhOHBjTEVYRWZicFNSQVlndyJdfSwiX3NkIjpbIjJJZjhhaUs4REZwVWJ4dEc1cGMwel9SaFJzbm1ybGFRMEhzcTk4WFNyYWsiLCJUeDZ4ZWZMVUdUZUpfYWtVUFdGeHNvbUhobGtWVnpfNzVoaVZ6eWpyYmVzIl19XSwiX3NkIjpbIjd2anl0VVN3ZEJ0MXQ5RktlOVFfS3JIRXhFWGxrTEFaTzBKM0Jpd200dlkiXSwiX3NkX2FsZyI6InNoYS0yNTYiLCJpYXQiOjE3MDY1NjI4NDksImV4cCI6MTczODE4NTI0OSwiY25mIjp7Imp3ayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMzg0IiwiYWxnIjoiRVMzODQiLCJ4IjoidWtEd1U2ZzlQUVRFUWhYaEgyckRZNndMQlg3UHFlUjZBcGlhVHBEUXowcl8tdDl6UXNxem54Z0hEcE5oekZlQyIsInkiOiJMQnhVYnBVdFNGMVVKVTVpYnJIdkpINjBUSG5YMk1xa0xHZGltU1l0UGR4RlkxOEdhcldiS3FZV0djUkZHVE9BIn19fQ.kYD63YtBNYnLUTw6Szf1vs_Ug3UBXhPwCyqpNmPnPDa3rXZQhQLdB1BgaoO8zgQ-c3B41fxaXMnLHYV9-B20uboSpJP0B-2Vre917eQt1cSDswDGA_Ytvn4BSqYVBB2J~WyJFMkFsRzhsY2p0QVFrcllIbjlIbnVRIiwgInR5cGUiLCAiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd~WyI5NldYMDRneno4cVZzOVZLU2wwYTVnIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJaekU2VFVaamtHMW1DWXBKMEhnc0l3IiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyItQ3NsS25GZGFYb2JiQWsyU0JBVGR3IiwgImlkIiwgImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMSJd~WyJuRm1OWl9IczB3WWNoOFdkeTdnQUNRIiwgImlkIiwgImRpZDpleGFtcGxlOmMyNzZlMTJlYzIxZWJmZWIxZjcxMmViYzZmMSJd~"
}
application/vp+cose
有关此示例的更多详细信息,请参阅 可验证 凭证数据模型 v2.0。
当 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(不得早于)声明,
因为试图为
签名指定未来日期几乎没有意义。
可以将其他成员作为标头参数和声明。 如果无法识别这些成员,则必须忽略它们。
为了完成 验证过程, 验证者需要 获取用于保护 凭证的密码学密钥。
验证者可以使用这些 JOSE 标头参数和 JWT 声明 来发现验证密钥。
如果 kid 存在于
JOSE 标头或
COSE 标头中,
验证者可以
使用此参数作为提示,指明使用哪个密钥
保护可验证凭证,以便
在执行
验证过程时,
按照 RFC7515 中的定义使用。
如果 iss 存在于
JOSE 标头、
JWT 声明
或COSE 标头中,
验证者
可以使用此参数获取
在验证过程中使用的
JSON Web 密钥。
issuer
属性的值可以是字符串或对象。
当 issuer 的值为字符串时,如果存在 iss,
其值必须与 issuer 的值匹配。当
issuer 的值为具有 id
值的对象时,如果存在 iss,其值必须与
issuer.id 的值匹配。
如果 kid 也存在于
JOSE 标头中,
则使用它来区分所使用的具体密钥。
如果 cnf 存在于
JOSE 标头、
JWT 声明
或COSE 标头中,
验证者可以
按照 [RFC7800] 或
[RFC8747]
中描述的方式,使用此参数标识
在验证过程中使用的持有证明密钥。
推荐使用由持有者提供给 签发者的 持有证明密钥,以在可验证凭证中 建立与持有者的密码学绑定, 该绑定可由 验证者在 可验证 出示中验证。
在本规范中使用受控标识符 文档时, 以下要求适用。
验证方法的 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
{
"issuer": {
"id": "https://university.example/issuers/565049"
}
// ...
}
{
"alg": "ES384",
"kid": "https://university.example/issuers/565049#key-123
}
当持有者由 [URL] 标识,并且 iss 不存在时, kid必须是一个指向 受控标识符文档中列出的 验证方法的绝对 [URL]。
{
"holder": {
"id": "https://university.example/issuers/565049"
}
// ...
}
{
"alg": "ES384",
"kid": "https://university.example/issuers/565049#key-123
}
本规范可以与许多不同的密钥发现 协议配合使用。因此,验证密钥的发现过程在 4. 密钥发现中描述,并假定 在开始验证过程之前 已成功完成。
一般而言,验证者应该尽量减少对 不可信数据的处理。 这包括在密钥发现过程中尽量减少对受保护标头、 未受保护标头或载荷的任何处理。
验证成功后,应该按照第 5.4 校验节中的描述 执行额外的校验检查。
以下算法的输出为:
status:一个表示验证结果的布尔值,
true 表示成功,false 表示失败。
document:一个符合 [VC-DATA-MODEL-2.0] 的文档。
mediaType:vc 或 vp
此算法的输入为:
inputMediaType:vc+jwt 或 vp+jwt
inputDocument:作为 JWT [RFC7519]
受到保护的可验证凭证
收到作为 JWT [RFC7519] 受到保护的可验证凭证或出示后,持有者或验证者执行以下算法:
此算法的输入为:
inputMediaType:vc+sd-jwt
inputDocument:使用 [SD-JWT]
保护的可验证凭证
收到使用 [SD-JWT] 保护的可验证凭证或出示后,持有者或验证者 执行以下算法:
此算法的输入为:
inputMediaType:vc+cose 或
vp+cose
inputDocument:使用
CBOR
对象签名和加密 (COSE):
结构与处理保护的可验证凭证或
可验证
出示
收到使用 [RFC9052] 保护的可验证凭证或出示后,持有者或验证者执行以下算法:
status 设置为 true
mediaType 设置为 vc 或 vp
document 设置为解码后的 COSE_Sign1 载荷。
status 设置为 false
document 设置为 null
mediaType 设置为 null
typ 所要求的所有声明必须存在。
所有可识别的声明必须按照
验证者的校验策略进行评估。
所有无法识别的声明必须被忽略。
验证过程返回的已验证 document必须是
格式良好的紧凑 JSON-LD 文档,如
可验证凭证数据模型
v2.0中所述。
应该检查 credentialSchema 等
模式扩展机制。
如果无法识别扩展机制的 type,
则必须忽略此属性。
应该检查 credentialStatus 等
状态扩展机制。
如果无法识别扩展机制的 type,
则必须忽略此属性。
根据验证者的校验策略、凭证类型 以及安全机制的类型,可以应用额外的 校验检查。 例如,多个凭证之间的依赖关系、 与多个凭证关联的排序或时间信息, 和/或多个出示可能导致原本有效的凭证 或出示被视为无效。
本节为非规范性内容。
本规范注册了 application/vc+jwt
媒体类型,专门用于标识其载荷符合
可验证凭证数据
模型的JSON Web 令牌 (JWT)。
| 类型名称: | application |
| 子类型名称: | vc+jwt |
| 必需参数: | 不适用 |
| 可选参数: | 不适用 |
| 编码注意事项: |
二进制;application/jwt 的值是一系列经过 base64url 编码的
值(其中一些可能为空字符串),以句点 ('.') 分隔。
|
| 安全注意事项: | |
| 互操作性注意事项: |
如本规范中所定义。 |
| 已发布规范: | https://www.w3.org/TR/vc-jose-cose |
| 使用此媒体类型的应用: |
W3C 可验证凭证签发者、 持有者和验证者软件, 符合 [VC-DATA-MODEL-2.0], 是使用这些媒体类型的应用之一。 符合规范的应用类型在 此处和此处进行了描述。 |
| 使用限制: | 不适用 |
| 附加信息: |
|
| 作者: | Ivan Herman ivan@w3.org |
| 预期用途: | 通用 |
| 变更控制方: | W3C 可验证凭证工作小组 public-vc-wg@w3.org |
本规范注册了 application/vp+jwt
媒体类型,专门用于标识其载荷符合
可验证凭证数据模型中可验证出示定义的JSON Web 令牌
(JWT)。
| 类型名称: | application |
| 子类型名称: | vp+jwt |
| 必需参数: | 不适用 |
| 可选参数: | 不适用 |
| 编码注意事项: |
二进制;application/jwt 的值是一系列经过 base64url 编码的
值(其中一些可能为空字符串),以句点 ('.') 分隔。
|
| 安全注意事项: | |
| 互操作性注意事项: |
如本规范中所定义。 |
| 已发布规范: | https://www.w3.org/TR/vc-jose-cose |
| 使用此媒体类型的应用: |
W3C 可验证凭证签发者、 持有者和验证者软件, 符合 [VC-DATA-MODEL-2.0], 是 使用这些媒体类型的应用之一。 符合规范的应用类型在 此处和此处进行了描述。 |
| 使用限制: | 不适用 |
| 附加信息: |
|
| 作者: | Ivan Herman ivan@w3.org |
| 预期用途: | 通用 |
| 变更控制方: | W3C 可验证凭证工作小组 public-vc-wg@w3.org |
本规范注册了 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], 是 使用这些媒体类型的应用之一。 符合规范的应用类型在此处 和此处进行了描述。 |
| 使用限制: | 不适用 |
| 附加信息: |
|
| 作者: | Ivan Herman ivan@w3.org |
| 预期用途: | 通用 |
| 变更控制方: | W3C 可验证凭证工作小组 public-vc-wg@w3.org |
本规范注册了 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], 是使用这些媒体类型的应用之一。 符合规范的应用类型在 此处和 此处进行了描述。 |
| 使用限制: | 不适用 |
| 附加信息: |
|
| 作者: | Ivan Herman ivan@w3.org |
| 预期用途: | 通用 |
| 变更控制方: | W3C 可验证凭证工作小组 public-vc-wg@w3.org |
本规范注册了 application/vc+cose
媒体类型,专门用于标识其载荷符合
可验证凭证数据
模型的 COSE 对象 [RFC9052]。
| 类型名称: | application |
| 子类型名称: | vc+cose |
| 必需参数: | 不适用 |
| 可选参数: | 不适用 |
| 编码注意事项: | 二进制 (CBOR) |
| 安全注意事项: | |
| 互操作性注意事项: |
如本规范中所定义。 |
| 已发布规范: | https://www.w3.org/TR/vc-jose-cose |
| 使用此媒体类型的应用: |
W3C 可验证凭证签发者、 持有者和验证者软件, 符合 [VC-DATA-MODEL-2.0], 是 使用这些媒体类型的应用之一。符合规范的 应用类型在 此处和 此处进行了描述。 |
| 使用限制: | 不适用 |
| 附加信息: |
|
| 作者: | Ivan Herman ivan@w3.org |
| 预期用途: | 通用 |
| 变更控制方: | W3C 可验证凭证工作小组 public-vc-wg@w3.org |
本规范注册了 application/vp+cose
媒体类型,专门用于标识其载荷符合
可验证凭证数据模型中可验证出示定义的 COSE 对象 [RFC9052]。
| 类型名称: | application |
| 子类型名称: | vp+cose |
| 必需参数: | 不适用 |
| 可选参数: | 不适用 |
| 编码注意事项: | 二进制 (CBOR) |
| 安全注意事项: | |
| 互操作性注意事项: |
如本规范中所定义。 |
| 已发布规范: | https://www.w3.org/TR/vc-jose-cose |
| 使用此媒体类型的应用: |
W3C 可验证凭证签发者、 持有者和验证者软件, 符合 [VC-DATA-MODEL-2.0], 是使用这些媒体类型的应用之一。 符合规范的应用类型在 此处和 此处进行了描述。 |
| 使用限制: | 不适用 |
| 附加信息: |
|
| 作者: | Ivan Herman ivan@w3.org |
| 预期用途: | 通用 |
| 变更控制方: | W3C 可验证凭证工作小组 public-vc-wg@w3.org |
本节为非规范性内容。
可验证凭证通常包含敏感信息, 需要对其加以保护,以确保 组织和个人的隐私与安全。本节概述了 与实现者和用户相关的一些隐私注意事项。
建议实现者注意并遵守 [VC-DATA-MODEL-2.0] 中列出的所有隐私注意事项。
另外建议实现者参考 JWT 规范中的 隐私注意事项 一节以及 NIST 特别出版物 800-122 [[SP-800-122] "保护个人身份 识别信息 (PII) 机密性的指南",以获取隐私指导。
除 [VC-DATA-MODEL-2.0] 中的隐私建议外,还提出以下 注意事项:
数据最小化:最佳实践是 可验证凭证仅包含 实现其预期目的所必需的最少数据。 这有助于限制不必要地 共享或存储敏感信息。
知情同意:最佳实践是 让个人充分了解其数据将如何 被使用,并使其能够同意或拒绝 使用其数据。 这有助于确保个人能够继续控制 自己的个人信息。
数据保护:最佳实践是使用 强加密和其他安全措施保护 可验证凭证,以防止未经授权的 访问、修改或披露。
这些注意事项并非详尽无遗,建议实现者和 用户查阅其他隐私资源并遵循 最佳实践,以确保使用本规范实现的 可验证凭证的隐私与安全。
本节概述了本规范实现者 和用户应考虑的安全事项。 仔细考虑这些因素非常重要,以确保 使用 JOSE 或 COSE 实现的可验证凭证 具有安全性和完整性。
实现本规范时,必须解决所有 与广泛密码学应用相关的安全问题。 这尤其包括保护用户的非对称 私钥和对称密钥,以及采取 防范各种攻击的措施。 若未充分解决这些问题,可能损害 可验证凭证的安全性和完整性,并可能导致 未经授权访问、修改或披露敏感信息。
建议实现者遵循最佳实践和 既定的密码学标准,以确保 安全地处理密钥和其他敏感数据。 此外,还应定期进行安全评估和审计, 以识别和解决任何漏洞或威胁。
遵循 [RFC7515] 和 [RFC7519] 中列出的所有安全注意事项。
使用 JSON-LD 时,应特别注意远程检索 上下文,并遵循 [JSON-LD11] 中提及的其他安全注意事项。
如 [RFC7515] 所述,使用 JSON [RFC7159] 时, 严格 校验是一项安全要求。 如果收到格式错误的 JSON,可能无法可靠地 理解生成者的意图,从而导致含糊不清或 可被利用的情况。 为防止这些风险,必须使用能够 严格校验所有输入数据语法的 JSON 解析器。 对于任何不符合 [RFC7159] 中定义的 JSON 文本语法的 JSON 输入, JSON 解析器必须将其全部拒绝。 未能拒绝无效输入可能损害 可验证凭证的安全性和完整性。
实现本规范时,技术 实现者必须考虑各种无障碍访问因素。 忽视无障碍访问问题会使相当 一部分人无法使用相关信息。 为确保所有人无论能力如何都能平等访问, 遵循无障碍访问指南和标准至关重要, 例如 Web 内容无障碍指南 (WCAG 2.1) [WCAG21]。 在构建涉及密码学的系统时,这一点尤其重要, 因为此类系统历来给辅助技术带来了挑战。
建议实现者注意并遵守 [VC-DATA-MODEL-2.0] 中列出的所有无障碍访问注意事项。
本节为非规范性内容。
{
"id": "https://vendor.example",
}
{
"id": "https://university.example/issuers/565049",
"verificationMethod": [{
"id": "https://university.example/issuers/565049#key-123",
"type": "JsonWebKey",
"controller": "https://university.example/issuers/565049",
"publicKeyJwk": {
"kty": "EC",
"crv": "P-384",
"alg": "ES384",
"x": "PxgAmVYOQvSNcMYL2tOzoLwSWn4Ta3tIMPEUKR8pxeb-gmR11-DyKHBoIiY-2LhM",
"y": "BZEBTkImVdpwvxR9THIRw16eblnj5-tZa7m-ww5uVd4kyPJNRoWUn2aT9ZuarAe-"
}
}]
}
{
"id": "https://university.example/issuers/565049",
"verificationMethod": [{
"id": "https://university.example/issuers/565049#key-123",
"type": "JsonWebKey",
"controller": "https://university.example/issuers/565049",
"publicKeyJwk": {
"kty": "EC",
"crv": "P-384",
"alg": "ES384",
"x": "PxgAmVYOQvSNcMYL2tOzoLwSWn4Ta3tIMPEUKR8pxeb-gmR11-DyKHBoIiY-2LhM",
"y": "BZEBTkImVdpwvxR9THIRw16eblnj5-tZa7m-ww5uVd4kyPJNRoWUn2aT9ZuarAe-"
}
}],
"authentication": ["https://university.example/issuers/565049#key-123"],
"assertionMethod": ["https://university.example/issuers/565049#key-123"]
}
{
"@context": [
"https://www.w3.org/ns/did/v1",
"https://w3id.org/security/jwk/v1",
{
"@vocab": "https://vendor.example#"
}
],
"id": "did:web:vendor.example",
"alsoKnownAs": ["https://vendor.example",
"did:jwk:eyJraWQiOiJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6andrLXRodW1icHJpbnQ6c2hhLTI1NjpGZk1iek9qTW1RNGVmVDZrdndUSUpqZWxUcWpsMHhqRUlXUTJxb2JzUk1NIiwia3R5IjoiT0tQIiwiY3J2IjoiRWQyNTUxOSIsImFsZyI6IkVkRFNBIiwieCI6IkFOUmpIX3p4Y0tCeHNqUlBVdHpSYnA3RlNWTEtKWFE5QVBYOU1QMWo3azQifQ"
],
"verificationMethod": [{
"id": "#urn:ietf:params:oauth:jwk-thumbprint:sha-256:NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9Xs",
"type": "JsonWebKey",
"controller": "did:web:vendor.example",
"publicKeyJwk": {
"kty": "EC",
"crv": "P-521",
"alg": "ES512",
"x": "AFTyMw-fIYJNg6fBVJvOPOsLxmnNj8HgqMChyRL0swLaefVAc7wrWZ8okQJqMmvv03JRUp277meQZM3JcvXFkH1v",
"y": "ALn96CrD88b4TClmkl1sk0xk2FgAIda97ZF8TUOjbeWSzbKnN2KB6pqlpbuJ2xIRXvsn5BWQVlAT2JGpGwDNMyV1"
}
}, {
"id": "#z6MkhEdpG12jyQegrr62ACRmNY8gc531W2j9Xo39cHphuCEH",
"type": "JsonWebKey2020",
"controller": "https://vendor.example",
"publicKeyJwk": {
"kid": "urn:ietf:params:oauth:jwk-thumbprint:sha-256:FfMbzOjMmQ4efT6kvwTIJjelTqjl0xjEIWQ2qobsRMM",
"kty": "OKP",
"crv": "Ed25519",
"alg": "EdDSA",
"x": "ANRjH_zxcKBxsjRPUtzRbp7FSVLKJXQ9APX9MP1j7k4"
}
}, {
"id": "#subject-authentication",
"type": "JsonWebKey",
"controller": "did:web:vendor.example",
"publicKeyJwk": {
"kty": "EC",
"crv": "P-384",
"alg": "ES384",
"x": "PxgAmVYOQvSNcMYL2tOzoLwSWn4Ta3tIMPEUKR8pxeb-gmR11-DyKHBoIiY-2LhM",
"y": "BZEBTkImVdpwvxR9THIRw16eblnj5-tZa7m-ww5uVd4kyPJNRoWUn2aT9ZuarAe-"
}
}, {
"id": "#credential-issuance",
"type": "JsonWebKey",
"controller": "did:web:vendor.example",
"publicKeyJwk": {
"kty": "EC",
"crv": "P-256",
"alg": "ES256",
"x": "MYvnaI87pfrn3FpTqW-yNiFcF1K7fedJiqapm20_q7c",
"y": "9YEbT6Tyuc7xp9yRvhOUVKK_NIHkn5HpK9ZMgvK5pVw"
}
}, {
"id": "#key-agreement",
"type": "JsonWebKey",
"controller": "did:web:vendor.example",
"publicKeyJwk": {
"kty": "OKP",
"crv": "X25519",
"alg": "ECDH-ES+A128KW",
"x": "qLZkSTbstvMWPTivmiQglEFWG2Ff7gNDVoVisdZTr1I"
}
}],
"authentication": ["#subject-authentication"],
"assertionMethod": ["#credential-issuance"]
}
{
"@context": ["https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"id": "https://contoso.example/credentials/23894672394",
"type": ["VerifiableCredential", "K9UnitCredential"],
"issuer": {
"id": "https://contoso.example"
},
"validFrom": "2015-04-16T05:11:32.432Z",
"credentialStatus": {
"id": "https://contoso.example/credentials/status/4#273762",
"type": "StatusList2021Entry",
"statusPurpose": "revocation",
"statusListIndex": "273762",
"statusListCredential": "https://contoso.example/credentials/status/4"
},
"credentialSubject": [{
"id": "did:example:1312387641",
"type": "Person"
}, {
"id": "did:example:63888231",
"type": "Dog"
}]
}
{
"kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
"alg": "ES256"
}
application/vc
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"id": "https://contoso.example/credentials/23894672394",
"type": [
"VerifiableCredential",
"K9UnitCredential"
],
"issuer": {
"id": "https://contoso.example"
},
"validFrom": "2015-04-16T05:11:32.432Z",
"credentialStatus": {
"id": "https://contoso.example/credentials/status/4#273762",
"type": "StatusList2021Entry",
"statusPurpose": "revocation",
"statusListIndex": "273762",
"statusListCredential": "https://contoso.example/credentials/status/4"
},
"credentialSubject": [
{
"id": "did:example:1312387641",
"type": "Person"
},
{
"id": "did:example:63888231",
"type": "Dog"
}
]
}
application/vc+jwt
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"id": "https://contoso.example/credentials/23894672394",
"type": [
"VerifiableCredential",
"K9UnitCredential"
],
"issuer": {
"id": "https://contoso.example"
},
"validFrom": "2015-04-16T05:11:32.432Z",
"credentialStatus": {
"id": "https://contoso.example/credentials/status/4#273762",
"type": "StatusList2021Entry",
"statusPurpose": "revocation",
"statusListIndex": "273762",
"statusListCredential": "https://contoso.example/credentials/status/4"
},
"credentialSubject": [
{
"id": "did:example:1312387641",
"type": "Person"
},
{
"id": "did:example:63888231",
"type": "Dog"
}
]
}
application/vc+cose
{
"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"
]
}
SHA-256 哈希值: Z4qlpjbCHzNolZC-Df2yYbA2lFf8-jzMbNnez0teg9A
披露内容: WyJsZEpBR2dYZ2R0WTJDbXRkTGJyZjJRIiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlL2NyZWRlbnRpYWxzLzIzODk0NjcyMzk0Il0
内容: [
"ldJAGgXgdtY2CmtdLbrf2Q",
"id",
"https://contoso.example/credentials/23894672394"
]
SHA-256 哈希值: -dzkzzXpYIqcjc_KmbopHjBUr4gLTtDpu_HUWnxr0_0
披露内容: WyJXSXFDSkNfc0ZpaWRXeVFlV3NrS2x3IiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIks5VW5pdENyZWRlbnRpYWwiXV0
内容: [
"WIqCJC_sFiidWyQeWskKlw",
"type",
[
"VerifiableCredential",
"K9UnitCredential"
]
]
SHA-256 哈希值: LkQX4TEdj9gbTS-1gPPgPOfkykRRiTk6CHSJOBi88YU
披露内容: WyI2RTNybmVRREJSaEc4NVkybl8ta0RRIiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlIl0
内容: [
"6E3rneQDBRhG85Y2n_-kDQ",
"id",
"https://contoso.example"
]
SHA-256 哈希值: 14LZ-atjQJJn0_qpSqVG12k69MC90DveAC5Nn_nVoWs
披露内容: WyJGRE5TVXZGT3AxTWo0UTM4c2Z6ZXpBIiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlL2NyZWRlbnRpYWxzL3N0YXR1cy80IzI3Mzc2MiJd
内容: [
"FDNSUvFOp1Mj4Q38sfzezA",
"id",
"https://contoso.example/credentials/status/4#273762"
]
SHA-256 哈希值: 9cV79B04NrLibgpRkvUZmkQTgtzvacvolmpl8PVwYAI
披露内容: WyJVRUlZbVVkMzc5STg2djJkR28tRldBIiwgInR5cGUiLCAiU3RhdHVzTGlzdDIwMjFFbnRyeSJd
内容: [
"UEIYmUd379I86v2dGo-FWA",
"type",
"StatusList2021Entry"
]
SHA-256 哈希值: YkGbqQhCYOusdBBiCu1SoAe8SdkjCEs0Z5bQK4gkgQU
披露内容: WyJWUmJLVmpNVk1neU5zVkJqV0poSjhnIiwgImlkIiwgImRpZDpleGFtcGxlOjEzMTIzODc2NDEiXQ
内容: [
"VRbKVjMVMgyNsVBjWJhJ8g",
"id",
"did:example:1312387641"
]
SHA-256 哈希值: sDXiGCoFFKH1H7oYSR-yRf7-yaSZ2P5hTrQwjPzffi8
披露内容: WyItck1sMHh3RU1uNVc5MjQ4UWxJMTJ3IiwgInR5cGUiLCAiUGVyc29uIl0
内容: [
"-rMl0xwEMn5W9248QlI12w",
"type",
"Person"
]
SHA-256 哈希值: DQDObyRLKv4HbSAT2-AE_tDgLu8bTx4kE4oJP9CDyjM
披露内容: WyI0QU1ydklkQ0s2NDJDMEhaYVpmZGF3IiwgImlkIiwgImRpZDpleGFtcGxlOjYzODg4MjMxIl0
内容: [
"4AMrvIdCK642C0HZaZfdaw",
"id",
"did:example:63888231"
]
SHA-256 哈希值: HDUrJ5_oILiYZnXJHzBeiHX55-Tc93KNmR5O1-NstAM
披露内容: WyJWY0ZSbUVRRURXUzF2ak16VFZWZ3lRIiwgInR5cGUiLCAiRG9nIl0
内容: [
"VcFRmEQEDWS1vjMzTVVgyQ",
"type",
"Dog"
]
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"id": "https://contoso.example/credentials/35327255",
"type": ["VerifiableCredential", "KYCExample"],
"issuer": "did:web:contoso.example",
"validFrom": "2019-05-25T03:10:16.992Z",
"validUntil": "2027-05-25T03:10:16.992Z",
"credentialSchema": {
"id": "https://contoso.example/bafybeigdyr...lqabf3oclgtqy55fbzdi",
"type": "JsonSchema"
},
"credentialSubject": {
"id": "did:example:1231588",
"type": "Person"
}
}
{
"kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
"alg": "ES256"
}
application/vc
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"id": "https://contoso.example/credentials/35327255",
"type": [
"VerifiableCredential",
"KYCExample"
],
"issuer": "did:web:contoso.example",
"validFrom": "2019-05-25T03:10:16.992Z",
"validUntil": "2027-05-25T03:10:16.992Z",
"credentialSchema": {
"id": "https://contoso.example/bafybeigdyr...lqabf3oclgtqy55fbzdi",
"type": "JsonSchema"
},
"credentialSubject": {
"id": "did:example:1231588",
"type": "Person"
}
}
application/vc+jwt
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"id": "https://contoso.example/credentials/35327255",
"type": [
"VerifiableCredential",
"KYCExample"
],
"issuer": "did:web:contoso.example",
"validFrom": "2019-05-25T03:10:16.992Z",
"validUntil": "2027-05-25T03:10:16.992Z",
"credentialSchema": {
"id": "https://contoso.example/bafybeigdyr...lqabf3oclgtqy55fbzdi",
"type": "JsonSchema"
},
"credentialSubject": {
"id": "did:example:1231588",
"type": "Person"
}
}
application/vc+cose
{
"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"
]
}
SHA-256 哈希值: izUKnVrm8paWE63nbMLW_FPCSes35FXgv6zIqM6bKo8
披露内容: WyJnc3hOV2xwbm9ORlJ0dzZlWXZLZ3NBIiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlL2NyZWRlbnRpYWxzLzM1MzI3MjU1Il0
内容: [
"gsxNWlpnoNFRtw6eYvKgsA",
"id",
"https://contoso.example/credentials/35327255"
]
SHA-256 哈希值: pH6_PiX-uH721uNytK7_368RgGROJHaxHAhJ_qftAfA
披露内容: WyJFcVcyZzh6dWZBU1dxWEhzLUxhUlh3IiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIktZQ0V4YW1wbGUiXV0
内容: [
"EqW2g8zufASWqXHs-LaRXw",
"type",
[
"VerifiableCredential",
"KYCExample"
]
]
SHA-256 哈希值: JNEDi4LUJJDvQx_4gjzrzNzgZQlFxF5HcDGgz1IpQ18
披露内容: WyIweTN2bzg4Q0VTUjAtZUM2WFhkUHJ3IiwgImlkIiwgImh0dHBzOi8vY29udG9zby5leGFtcGxlL2JhZnliZWlnZHlyLi4ubHFhYmYzb2NsZ3RxeTU1ZmJ6ZGkiXQ
内容: [
"0y3vo88CESR0-eC6XXdPrw",
"id",
"https://contoso.example/bafybeigdyr...lqabf3oclgtqy55fbzdi"
]
SHA-256 哈希值: nSAnm3EIj3qleDhNCPyX9iHRKLaq87IW4ZdJaZudTUQ
披露内容: WyJsbE5Edml5SXFwaS1Fc1c2QzRNYl9nIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd
内容: [
"llNDviyIqpi-EsW6C4Mb_g",
"type",
"JsonSchema"
]
SHA-256 哈希值: EkEzCtNqUfJFCYKRHeCdEOsT2oCg02VnS3E1URNodKU
披露内容: WyJHLVpOZ3J4WXZhMUFFcWNpWTB1MnVRIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMzE1ODgiXQ
内容: [
"G-ZNgrxYva1AEqciY0u2uQ",
"id",
"did:example:1231588"
]
SHA-256 哈希值: JsIbFLY1XiHyn3zLc-vTRR5XSCvbDZgLFCyW1FoGWCo
披露内容: WyIyTk1lZnlPckNhakNqTlFXX09yejFnIiwgInR5cGUiLCAiUGVyc29uIl0
内容: [
"2NMefyOrCajCjNQW_Orz1g",
"type",
"Person"
]
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"type": "VerifiablePresentation",
"verifiableCredential": [
{
"@context": "https://www.w3.org/ns/credentials/v2",
"id": "data:application/vc+cose;base64,0oREo...+Q==",
"type": "EnvelopedVerifiableCredential"
},
{
"@context": "https://www.w3.org/ns/credentials/v2",
"id": "data:application/vc+jwt,eyVjV...RMjU",
"type": "EnvelopedVerifiableCredential"
},
{
"@context": "https://www.w3.org/ns/credentials/v2",
"id": "data:application/vc+sd-jwt,eyVjV...RMjU~",
"type": "EnvelopedVerifiableCredential"
}
]
}
{
"kid": "ExHkBMW9fmbkvV266mRpuP2sUY_N_EWIN1lapUzO8ro",
"alg": "ES256"
}
application/vp
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"type": "VerifiablePresentation",
"verifiableCredential": [
{
"@context": "https://www.w3.org/ns/credentials/v2",
"id": "data:application/vc+cose;base64url,YmFzZTY0LDBvUkVvLi4uK1E9PQ",
"type": "EnvelopedVerifiableCredential"
},
{
"@context": "https://www.w3.org/ns/credentials/v2",
"id": "data:application/vc+jwt,eyVjV...RMjU;data:application/vc+jwt,eyVjV...RMjU",
"type": "EnvelopedVerifiableCredential"
},
{
"@context": "https://www.w3.org/ns/credentials/v2",
"id": "data:application/vc+sd-jwt,eyVjV...RMjU~;data:application/vc+sd-jwt,eyVjV...RMjU~",
"type": "EnvelopedVerifiableCredential"
}
]
}
application/vp+jwt
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"type": "VerifiablePresentation",
"verifiableCredential": [
{
"@context": "https://www.w3.org/ns/credentials/v2",
"id": "data:application/vc+cose;base64url,WW1GelpUWTBMREJ2VWtWdkxpNHVLMUU5UFE",
"type": "EnvelopedVerifiableCredential"
},
{
"@context": "https://www.w3.org/ns/credentials/v2",
"id": "data:application/vc+jwt,eyVjV...RMjU;data:application/vc+jwt,eyVjV...RMjU",
"type": "EnvelopedVerifiableCredential"
},
{
"@context": "https://www.w3.org/ns/credentials/v2",
"id": "data:application/vc+sd-jwt,eyVjV...RMjU~;data:application/vc+sd-jwt,eyVjV...RMjU~",
"type": "EnvelopedVerifiableCredential"
}
]
}
application/vp+cose
{
"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"
]
}
SHA-256 哈希值: vhKcNv2A2IWwfcqzuBSq8Mb8xPiMsMqPX4Ld9Z5TwH4
披露内容: WyJKX09IX29iOU1ueFdnOU9icEtQRldnIiwgInR5cGUiLCAiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJd
内容: [
"J_OH_ob9MnxWg9ObpKPFWg",
"type",
"VerifiablePresentation"
]
SHA-256 哈希值: uAY-dctDyMVU5FwGLOv0GxhMt0jxteamHiVtCfiXfBo
披露内容: WyJtQW41N2Uza09LYjBPMkIwOWlTTzlRIiwgImlkIiwgImRhdGE6YXBwbGljYXRpb24vdmMrY29zZTtiYXNlNjR1cmwsIFdXMUdlbHBVV1RCTVJFSjJWV3RXZGt4cE5IVkxNVVU1VUZFIl0
内容: [
"mAn57e3kOKb0O2B09iSO9Q",
"id",
"data:application/vc+cose;base64url, WW1GelpUWTBMREJ2VWtWdkxpNHVLMUU5UFE"
]
SHA-256 哈希值: bzvkcHuVgMlgi7F1_cfTx2UhhMAAB0gSo7wF_8pORAc
披露内容: WyJma250MjJTLU13M0RlajFyVjVJdGpnIiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZUNyZWRlbnRpYWwiXQ
内容: [
"fknt22S-Mw3Dej1rV5Itjg",
"type",
"EnvelopedVerifiableCredential"
]
SHA-256 哈希值: 9H_yGaAtlxO_MaA93qwj37eIJN4gGa73qeoAUzFE-Yo
披露内容: WyJwc2JIdEpVQUVoSmV3MDlqZHFxSEFRIiwgImlkIiwgImRhdGE6YXBwbGljYXRpb24vdmMrand0LCBleVZqVi4uLlJNalU7ZGF0YTphcHBsaWNhdGlvbi92Yytqd3QsIGV5VmpWLi4uUk1qVSJd
内容: [
"psbHtJUAEhJew09jdqqHAQ",
"id",
"data:application/vc+jwt, eyVjV...RMjU;data:application/vc+jwt, eyVjV...RMjU"
]
SHA-256 哈希值: yqzuFAk-7foHZyyDAC5hn1ez80BUs4lMBqrwxUE9HhY
披露内容: WyJRdUlVeHBjclRMWC1vSXdDMTRXdFN3IiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZUNyZWRlbnRpYWwiXQ
内容: [
"QuIUxpcrTLX-oIwC14WtSw",
"type",
"EnvelopedVerifiableCredential"
]
SHA-256 哈希值: _65jASIIkLzX7bTDWuFqzfJ8Vkl-GT3RIRk5NFuO9jY
披露内容: WyJlTlpQQ0U2UkxLMGN5dkVoTHZ4eURRIiwgImlkIiwgImRhdGE6YXBwbGljYXRpb24vdmMrc2Qtand0LCBleVZqVi4uLlJNalV-O2RhdGE6YXBwbGljYXRpb24vdmMrc2Qtand0LCBleVZqVi4uLlJNalV-Il0
内容: [
"eNZPCE6RLK0cyvEhLvxyDQ",
"id",
"data:application/vc+sd-jwt, eyVjV...RMjU~;data:application/vc+sd-jwt, eyVjV...RMjU~"
]
SHA-256 哈希值: eGHpG0aZsFYAbXlWnM1vM7gpev3kl6R-a21Sf4vX-qs
披露内容: WyI3RlR4YXVUUDltMVpPbDlRTGI3U3VnIiwgInR5cGUiLCAiRW52ZWxvcGVkVmVyaWZpYWJsZUNyZWRlbnRpYWwiXQ
内容: [
"7FTxauTP9m1ZOl9QLb7Sug",
"type",
"EnvelopedVerifiableCredential"
]
data:application/vc+sd-jwt,eyJhbGciOiJFUzM4NCIsImtpZCI6IlNJM1JITm91aDhvODFOT09OUFFVQUw3RWdaLWtJNl94ajlvUkV2WDF4T3ciLCJ0eXAiOiJ2YytsZCtqc29uK3NkLWp3dCIsImN0eSI6InZjK2xkK2pzb24ifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDE5OjIzOjI0WiIsImNyZWRlbnRpYWxTY2hlbWEiOnsiX3NkIjpbIkU3dU1sSWFyS29iYXJTdEZGRjctZm5qaV9sQVdnM3BGMkV5dVc4dWFYakUiLCJYelRaSVgyNGdDSWxSQVFHclFoNU5FRm1XWkQtZ3Z3dkIybzB5Y0FwNFZzIl19LCJjcmVkZW50aWFsU3ViamVjdCI6eyJkZWdyZWUiOnsibmFtZSI6IkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMiLCJfc2QiOlsiT3oxUEZIMG0tWk9TdEhwUVZyeGlmVlpKRzhvNmlQQmNnLVZ2SXQwd2plcyJdfSwiX3NkIjpbIkVZQ1daMTZZMHB5X1VNNzRHU3NVYU9zT19mdDExTlVSaFFUTS1TT1lFTVEiXX0sIl9zZCI6WyJqT055NnZUbGNvVlAzM25oSTdERGN3ekVka3d2R3VVRXlLUjdrWEVLd3VVIiwid21BdHpwc0dRbDJveS1PY2JrSEVZcE8xb3BoX3VYcWVWVTRKekF0aFFibyJdLCJfc2RfYWxnIjoic2hhLTI1NiIsImlzcyI6Imh0dHBzOi8vdW5pdmVyc2l0eS5leGFtcGxlL2lzc3VlcnMvNTY1MDQ5IiwiaWF0IjoxNjk3Mjg5OTk2LCJleHAiOjE3Mjg5MTIzOTYsImNuZiI6eyJqd2siOnsia3R5IjoiRUMiLCJjcnYiOiJQLTM4NCIsImFsZyI6IkVTMzg0IiwieCI6InZFdV84WGxZT0ZFU2hTcVRpZ2JSYWduZ0ZGM1p5U0xrclNHekh3azFBT1loanhlazVhV21HY2UwZU05S0pWOEIiLCJ5IjoiRUpNY2czWXBzUTB3M2RLNHlVa25QczE1Z0lsY2Yyay03dzFKLTNlYlBiOERENmQtUkhBeGUwMDkzSWpfdTRCOSJ9fX0.rYzbxb6j1dwop8_s491iArVVJNm6A6C3b742gOm_qYO3zdkyQU4_VxxOSJ8ECcmWj2r5KyiCNC1ojfO4Yms-zBsjt7PoMYpYWBplsqXpiIvnehmM7D0eOLi40uHXki0X~WyJSWTg1YTZNMmEwX3VDWlFTVGZmTFdRIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~WyJMeG5GYTBXVm8wRUluVy1QdS1fd1dRIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyJUQVdrakpCaVpxdC1rVU54X1EweUJBIiwgImlkIiwgImh0dHBzOi8vZXhhbXBsZS5vcmcvZXhhbXBsZXMvZGVncmVlLmpzb24iXQ~WyJTd2xuZFpPZzZEZ1ZERFp5X0RvYVFBIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyJuSnJlU3E1Nzg3RGZMSDJCbU03cXFRIiwgImlkIiwgImRpZDpleGFtcGxlOjEyMyJd~WyIxMjNNd3hNcHRiek02YUk2aW03ME1RIiwgInR5cGUiLCAiQmFjaGVsb3JEZWdyZWUiXQ~
data:application/vp+sd-jwt,eyJhbGciOiJFUzM4NCIsImtpZCI6IlNJM1JITm91aDhvODFOT09OUFFVQUw3RWdaLWtJNl94ajlvUkV2WDF4T3ciLCJ0eXAiOiJ2YytsZCtqc29uK3NkLWp3dCIsImN0eSI6InZjK2xkK2pzb24ifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLCJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvZXhhbXBsZXMvdjIiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDE5OjIzOjI0WiIsImNyZWRlbnRpYWxTY2hlbWEiOnsiX3NkIjpbIkU3dU1sSWFyS29iYXJTdEZGRjctZm5qaV9sQVdnM3BGMkV5dVc4dWFYakUiLCJYelRaSVgyNGdDSWxSQVFHclFoNU5FRm1XWkQtZ3Z3dkIybzB5Y0FwNFZzIl19LCJjcmVkZW50aWFsU3ViamVjdCI6eyJkZWdyZWUiOnsibmFtZSI6IkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMiLCJfc2QiOlsiT3oxUEZIMG0tWk9TdEhwUVZyeGlmVlpKRzhvNmlQQmNnLVZ2SXQwd2plcyJdfSwiX3NkIjpbIkVZQ1daMTZZMHB5X1VNNzRHU3NVYU9zT19mdDExTlVSaFFUTS1TT1lFTVEiXX0sIl9zZCI6WyJqT055NnZUbGNvVlAzM25oSTdERGN3ekVka3d2R3VVRXlLUjdrWEVLd3VVIiwid21BdHpwc0dRbDJveS1PY2JrSEVZcE8xb3BoX3VYcWVWVTRKekF0aFFibyJdLCJfc2RfYWxnIjoic2hhLTI1NiIsImlzcyI6Imh0dHBzOi8vdW5pdmVyc2l0eS5leGFtcGxlL2lzc3VlcnMvNTY1MDQ5IiwiaWF0IjoxNjk3Mjg5OTk2LCJleHAiOjE3Mjg5MTIzOTYsImNuZiI6eyJqd2siOnsia3R5IjoiRUMiLCJjcnYiOiJQLTM4NCIsImFsZyI6IkVTMzg0IiwieCI6InZFdV84WGxZT0ZFU2hTcVRpZ2JSYWduZ0ZGM1p5U0xrclNHekh3azFBT1loanhlazVhV21HY2UwZU05S0pWOEIiLCJ5IjoiRUpNY2czWXBzUTB3M2RLNHlVa25QczE1Z0lsY2Yyay03dzFKLTNlYlBiOERENmQtUkhBeGUwMDkzSWpfdTRCOSJ9fX0.rYzbxb6j1dwop8_s491iArVVJNm6A6C3b742gOm_qYO3zdkyQU4_VxxOSJ8ECcmWj2r5KyiCNC1ojfO4Yms-zBsjt7PoMYpYWBplsqXpiIvnehmM7D0eOLi40uHXki0X~WyJTd2xuZFpPZzZEZ1ZERFp5X0RvYVFBIiwgInR5cGUiLCAiSnNvblNjaGVtYSJd~WyIxMjNNd3hNcHRiek02YUk2aW03ME1RIiwgInR5cGUiLCAiQmFjaGVsb3JEZWdyZWUiXQ~WyJMeG5GYTBXVm8wRUluVy1QdS1fd1dRIiwgInR5cGUiLCBbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwgIkV4YW1wbGVBbHVtbmlDcmVkZW50aWFsIl1d~WyJSWTg1YTZNMmEwX3VDWlFTVGZmTFdRIiwgImlkIiwgImh0dHA6Ly91bml2ZXJzaXR5LmV4YW1wbGUvY3JlZGVudGlhbHMvMTg3MiJd~eyJhbGciOiJFUzM4NCIsInR5cCI6ImtiK2p3dCJ9.eyJub25jZSI6IkVmeTROTFJPX3ZvSkszdDIzcUNfQlEiLCJhdWQiOiJodHRwczovL3ZlcmlmaWVyLmV4YW1wbGUiLCJpYXQiOjE2OTcyODk5OTZ9.6G-1nVcrDKFzR6BdbcFHcbtassEb8NZ7ZavTYz3SJ-e4pXleXs0tNcCkUCwMI70gsuOY0AXzeDPbHjp5GKyLDVuNWgWCt3Wo2VSaCwUkyfLyvhkCsmkF9kvFhMIOhp1i~
data:application/vp+cose;base64,0oREoQE4IqBZDSJ7IkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy9leGFtcGxlcy92MiJdLCJ0eXBlIjoiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiIsInZlcmlmaWFibGVDcmVkZW50aWFsIjpbeyJAY29udGV4dCI6Imh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsImlkIjoiZGF0YTphcHBsaWNhdGlvbi92Yy1sZCtzZC1qd3QsZXlKcmFXUWlPaUpGZUVoclFrMVhPV1p0WW10MlZqSTJObTFTY0hWUU1uTlZXVjlPWDBWWFNVNHhiR0Z3VlhwUE9ISnZJaXdpWVd4bklqb2lSVk15TlRZaWZRLmV5SmZjMlJmWVd4bklqb2ljMmhoTFRJMU5pSXNJa0JqYjI1MFpYaDBJanBiSW1oMGRIQnpPaTh2ZDNkM0xuY3pMbTl5Wnk5dWN5OWpjbVZrWlc1MGFXRnNjeTkyTWlJc0ltaDBkSEJ6T2k4dmQzZDNMbmN6TG05eVp5OXVjeTlqY21Wa1pXNTBhV0ZzY3k5bGVHRnRjR3hsY3k5Mk1pSmRMQ0pwYzNOMVpYSWlPaUpvZEhSd2N6b3ZMM1Z1YVhabGNuTnBkSGt1WlhoaGJYQnNaUzlwYzNOMVpYSnpMelUyTlRBME9TSXNJblpoYkdsa1JuSnZiU0k2SWpJd01UQXRNREV0TURGVU1UazZNak02TWpSYUlpd2lZM0psWkdWdWRHbGhiRk5qYUdWdFlTSTZleUpmYzJRaU9sc2lOV0pCZURNdGVIQm1RV3hWUzBaSk9YTnVNMmhXUTIxd1IydHJjVWx6V21NekxVeGlNek5tV21waWF5SXNJbHBqUVhaSU1EaHNkRUp5U1VwbVNXaDBPRjl0UzFCZll6TnNjRzVZTVdOSGNsbHRWRzh3WjFsQ2VUZ2lYWDBzSW1OeVpXUmxiblJwWVd4VGRXSnFaV04wSWpwN0ltUmxaM0psWlNJNmV5SnVZVzFsSWpvaVFtRmphR1ZzYjNJZ2IyWWdVMk5wWlc1alpTQmhibVFnUVhKMGN5SXNJbDl6WkNJNld5SlNUMVEzTVVsMGRUTk1ObFZYV0ZWcWJ5MW9XVmRKUWpZM2JIVlBUa1ZFVWxOQ2FHeEVWRU54VlU5UklsMTlMQ0pmYzJRaU9sc2lUVVZ1WlhObk1saFBVazVqWTNOQ1RXVmFYekUyTURKbmVUUXdVaTAwV1VKMlZsSXdlRkU0YjBZNFl5SmRmU3dpWDNOa0lqcGJJa1ZsYzJKaWF5MW1jR1p3ZDJaTU9YZE9jekZ4Y2paMGFVNDNabkV0U1hReldWTTJWM1pDYmw5aVdHOGlMQ0phYjFJMVpHUmhja2R0WmsxNU5FaHVWMHhWYWs1VVJuRlVSak5ZUmpacGRGQm5abmxHUWtoVlgzRlZJbDE5Lmd3M3BheGJrTGpwaThDVHN5UnBYS2JDN3RwVmEwcTJzV0tTRC1fZGNidVoxTHBaVjNvUThJZnpjbTJiRThSWTNmbUpnYnV5QTlnYlBMM3NRQmFUemtnIH5XeUpTZVVReFZsQjRWSEJ2Ym10UGVYWnBjemt0YTI5M0lpd2dJbWxrSWl3Z0ltaDBkSEE2THk5MWJtbDJaWEp6YVhSNUxtVjRZVzF3YkdVdlkzSmxaR1Z1ZEdsaGJITXZNVGczTWlKZH5XeUpmVmpkMWVUZDNheTFSTTNWWmQyWnBaME52V1VWQklpd2dJblI1Y0dVaUxDQmJJbFpsY21sbWFXRmliR1ZEY21Wa1pXNTBhV0ZzSWl3Z0lrVjRZVzF3YkdWQmJIVnRibWxEY21Wa1pXNTBhV0ZzSWwxZH5XeUpoYXpkcU1UbG5ZVk10UkRKTFgyaHpZM1JWWkdOUklpd2dJbWxrSWl3Z0ltaDBkSEJ6T2k4dlpYaGhiWEJzWlM1dmNtY3ZaWGhoYlhCc1pYTXZaR1ZuY21WbExtcHpiMjRpWFF+V3lKVVRqQlhhWFZaUmtoWFdrVjJaRFpJUVVKSFFTMW5JaXdnSW5SNWNHVWlMQ0FpU25OdmJsTmphR1Z0WVNKZH5XeUpWTW5Cek1reFlWRVJWYlZoM01EY3hSVkJtUlVwbklpd2dJbWxrSWl3Z0ltUnBaRHBsZUdGdGNHeGxPakV5TXlKZH5XeUpzUTA0MmVUTkVhVE5EVWs5VlgzSnVYelJFTldSbklpd2dJblI1Y0dVaUxDQWlRbUZqYUdWc2IzSkVaV2R5WldVaVhRfjtkYXRhOmFwcGxpY2F0aW9uL3ZjLWxkK3NkLWp3dCxleUpyYVdRaU9pSkZlRWhyUWsxWE9XWnRZbXQyVmpJMk5tMVNjSFZRTW5OVldWOU9YMFZYU1U0eGJHRndWWHBQT0hKdklpd2lZV3huSWpvaVJWTXlOVFlpZlEuZXlKZmMyUmZZV3huSWpvaWMyaGhMVEkxTmlJc0lrQmpiMjUwWlhoMElqcGJJbWgwZEhCek9pOHZkM2QzTG5jekxtOXlaeTl1Y3k5amNtVmtaVzUwYVdGc2N5OTJNaUlzSW1oMGRIQnpPaTh2ZDNkM0xuY3pMbTl5Wnk5dWN5OWpjbVZrWlc1MGFXRnNjeTlsZUdGdGNHeGxjeTkyTWlKZExDSnBjM04xWlhJaU9pSm9kSFJ3Y3pvdkwzVnVhWFpsY25OcGRIa3VaWGhoYlhCc1pTOXBjM04xWlhKekx6VTJOVEEwT1NJc0luWmhiR2xrUm5KdmJTSTZJakl3TVRBdE1ERXRNREZVTVRrNk1qTTZNalJhSWl3aVkzSmxaR1Z1ZEdsaGJGTmphR1Z0WVNJNmV5SmZjMlFpT2xzaU5XSkJlRE10ZUhCbVFXeFZTMFpKT1hOdU0yaFdRMjF3UjJ0cmNVbHpXbU16TFV4aU16Tm1XbXBpYXlJc0lscGpRWFpJTURoc2RFSnlTVXBtU1doME9GOXRTMUJmWXpOc2NHNVlNV05IY2xsdFZHOHdaMWxDZVRnaVhYMHNJbU55WldSbGJuUnBZV3hUZFdKcVpXTjBJanA3SW1SbFozSmxaU0k2ZXlKdVlXMWxJam9pUW1GamFHVnNiM0lnYjJZZ1UyTnBaVzVqWlNCaGJtUWdRWEowY3lJc0lsOXpaQ0k2V3lKU1QxUTNNVWwwZFROTU5sVlhXRlZxYnkxb1dWZEpRalkzYkhWUFRrVkVVbE5DYUd4RVZFTnhWVTlSSWwxOUxDSmZjMlFpT2xzaVRVVnVaWE5uTWxoUFVrNWpZM05DVFdWYVh6RTJNREpuZVRRd1VpMDBXVUoyVmxJd2VGRTRiMFk0WXlKZGZTd2lYM05rSWpwYklrVmxjMkppYXkxbWNHWndkMlpNT1hkT2N6RnhjalowYVU0M1puRXRTWFF6V1ZNMlYzWkNibDlpV0c4aUxDSmFiMUkxWkdSaGNrZHRaazE1TkVodVYweFZhazVVUm5GVVJqTllSalpwZEZCblpubEdRa2hWWDNGVklsMTkuZ3czcGF4YmtManBpOENUc3lScFhLYkM3dHBWYTBxMnNXS1NELV9kY2J1WjFMcFpWM29ROElmemNtMmJFOFJZM2ZtSmdidXlBOWdiUEwzc1FCYVR6a2cgfld5SlNlVVF4VmxCNFZIQnZibXRQZVhacGN6a3RhMjkzSWl3Z0ltbGtJaXdnSW1oMGRIQTZMeTkxYm1sMlpYSnphWFI1TG1WNFlXMXdiR1V2WTNKbFpHVnVkR2xoYkhNdk1UZzNNaUpkfld5SmZWamQxZVRkM2F5MVJNM1ZaZDJacFowTnZXVVZCSWl3Z0luUjVjR1VpTENCYklsWmxjbWxtYVdGaWJHVkRjbVZrWlc1MGFXRnNJaXdnSWtWNFlXMXdiR1ZCYkhWdGJtbERjbVZrWlc1MGFXRnNJbDFkfld5SmhhemRxTVRsbllWTXRSREpMWDJoelkzUlZaR05SSWl3Z0ltbGtJaXdnSW1oMGRIQnpPaTh2WlhoaGJYQnNaUzV2Y21jdlpYaGhiWEJzWlhNdlpHVm5jbVZsTG1wemIyNGlYUX5XeUpVVGpCWGFYVlpSa2hYV2tWMlpEWklRVUpIUVMxbklpd2dJblI1Y0dVaUxDQWlTbk52YmxOamFHVnRZU0pkfld5SlZNbkJ6TWt4WVZFUlZiVmgzTURjeFJWQm1SVXBuSWl3Z0ltbGtJaXdnSW1ScFpEcGxlR0Z0Y0d4bE9qRXlNeUpkfld5SnNRMDQyZVRORWFUTkRVazlWWDNKdVh6UkVOV1JuSWl3Z0luUjVjR1VpTENBaVFtRmphR1ZzYjNKRVpXZHlaV1VpWFF+IiwidHlwZSI6IkVudmVsb3BlZFZlcmlmaWFibGVDcmVkZW50aWFsIn1dfVhA4c9H+cu0VfS8NsItpzbB1mpvjP5y2DCxTCW+bY6/4SNPCaeP+uR+JRpJ+GzVNz7/W7ZlHoXguhgBBjWhlnhh+Q==
这些示例依赖于 CBOR 诊断表示法。 请记住,所有实际的数据交换始终以二进制格式进行。
{ / 受保护部分 /
1: -35, / 算法 /
3: application/vc, / 内容类型 /
4: h'177f12cb...1933d554', / 密钥标识符 /
15: { / CWT 声明 /
1: urn:example:123, / 签发者 /
2: urn:example:456, / 主体 /
},
}
{ / 受保护部分 /
1: -35, / 算法 /
3: application/vp, / 内容类型 /
4: h'177f12cb...1933d554', / 密钥标识符 /
15: { / CWT 声明 /
1: urn:example:123, / 签发者 /
2: urn:example:456, / 主体 /
},
}
18( / COSE Sign 1 /
[
h'a4013822...3a343536', / 受保护的标头 /
{} / 未受保护的 标头 /
h'0fbe22a0...3a009118', / 附加载荷 /
h'09772c7f...5c4e736f' / 签名 /
]
)
载荷可以是 安全机制中所述的凭证或出示。
本节为非规范性内容。
本节介绍对本规范所作的实质性更改。
自 首份候选推荐标准以来的更改:
cty 标头参数
区分不同类型的受保护内容。
nbf(不得早于)声明。
本节为非规范性内容。
工作小组感谢 Orie Steele 为本规范作出的实质性智力 和内容贡献。 没有这些贡献,本规范将大不相同。
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in: