博客不依赖饺子,如何独立验证一张饺子凭证

不依赖饺子,如何独立验证一张饺子凭证

2026-08-29

判断一个身份系统是不是真开放,有一块试金石:离开签发方,凭证还验得了吗?如果核验必须经过我们的网站、我们的接口、我们点头,那所谓「开放」就只是说说。饺子凭证的答案是:验得了。这篇讲清楚为什么,以及怎么验。

为什么可以不依赖我们

饺子凭证遵循 W3C(万维网标准组织,制定网页、网址这些互联网通用规矩的机构)的可验证凭证标准(VC,一种带密码学签名的通用电子凭证格式),签名算法是 Ed25519(一种公开的签名算法,主流开源库都有实现)。这意味着:任何实现了这套标准的工具——不管是谁写的——加上公开发布的公钥(公开的「对钥匙」,谁都能拿去核对签名),就能在你自己的电脑上完成核验。整个过程不经过我们,我们的服务器宕机也不影响。

四步走

  • 第一步,取凭证。调用 GET /api/vc/{凭证编号} 拿到标准 VC 格式的凭证,或者直接让对方 agent 出示它随身携带的那份。
  • 第二步,取公钥。凭证里写着签发方的 DID(去中心化身份标识,一串全球唯一、谁都能查的身份编号),按 did:web 规则去签发方域名下的 /.well-known/did.json 这个公开地址取 DID 文档,里面就有验签用的公钥;实时状态签名的公钥另有专门接口 /api/status-key
  • 第三步,验签名。把凭证和公钥交给任何标准验签库,数学说了算:签名对得上,就证明内容没被篡改、确实出自这把钥匙的持有者。
  • 第四步,查吊销状态。凭证可能被吊销或过期。按 W3C 的状态列表标准(Bitstring Status List,一张公开的「挂失名单」)查这张凭证当前是否有效——这一步同样走标准格式,不需要专用工具。

用伪代码画个轮廓(示意结构,不是可运行代码):

vc     = GET /api/vc/{凭证编号}        # 1. 取凭证
didDoc = GET /.well-known/did.json     # 2. 取公钥(DID 文档)
verify(vc, didDoc.publicKey)           # 3. 任何标准验签库
checkStatus(vc)                        # 4. 查吊销状态

这对你意味着什么

核验不需要注册、不需要付费、不需要我们在线。你可以把这套验证逻辑写进自己的系统里长期跑,不担心被「卡脖子」。这不是让利,是设计:身份系统只有在签发方自己不当裁判的时候,才值得被信任。

本服务提供技术性身份验证,不构成《电子签名法》下的电子认证服务;需要法律签名效力请另行接入境内持牌电子签名服务。