Open Caict-GuoShiJie opened 1 year ago
接受关于“星火链网可信数字证书验证规范”的标准建议,现分配编号RFC-014。RFC-014进入采纳阶段。
提出日期:2023-03-22 演示日期:2023-03-22 接受日期:2023-03-22 采纳日期:2023-05-09
编号:RFC-014 类型:标准 标题:星火链网可信数字证书验证规范 作者:金键,jin.jian@caict.ac.cn;谢家贵,xiejiagui@caict.ac.cn;李志平,lizhiping@caict.ac.cn;聂凡杰,niefanjie@caict.ac.cn 发布时间:2023-03-22 状态:采纳 更新时间:2023-05-09 讨论地址:https://github.com/caict-4iot-dev/bif-rfcs/issues/20 依赖RFC:
星火链网可信数字证书验证规范
1. 序言
编号: 类型:标准 标题:星火链网可信数字证书验证规范 作者:金键,jin.jian@caict.ac.cn;谢家贵,xiejiagui@caict.ac.cn;李志平,lizhiping@caict.ac.cn;聂凡杰,niefanjie@caict.ac.cn 发布时间: 状态: 更新时间:2023-03-22 讨论地址: 依赖RFC:
2. 摘要
星火链网可信数字证书在向验证方进行出示时, 此时就需要验证方自行对证书进行验证, 以确认证书的可靠性. 本文旨在提供一个星火链网可信数字证书的验证规范, 用户可根据本规范自行实现对星火链网可信数字证书的验证。
3. 原理
星火链网可信数字证书是 jws 规范(参照JWS RFC文档)的一种实现. 因此只需对证书 jws 进行反解析, 获取证书的模板id, 有效期, 证书id, 颁发方信息, 到星火数字证书可信数据集和 BID解析查询相关数据进行校验, 并对 jws 进行验签即可。 校验项主要如下:
交互图如下:
4. 规范
4.1证书校验
证书校验数据结构如下:
返回数据结构如下:
5. 实现示例
实现流程:
接口定义:
实现步骤: 1.解析 jws 证书(参照 JWS RFC文档 ), 拿到证书原文; 2.验证发证方( issuer 字段)是否在数字证书可信数据集进行注册 3.验证凭证模板( templateId 字段)是否在数字证书可信数据集里; 4.校验证书是否在有效期( validBefore 字段)内; 5.通过数字证书可信数据集查询证书( id 字段)状态, 确认证书是否已被吊销; 6.通过BID解析查询发证方( issuer 字段)公钥; 7.剔除证书原文的 value 和 salt 字段,按照 jws 规范(参照JWS RFC文档)生成新的payload字符串; 8.用颁发方公钥对 jws 证书进行验签; 9.验证选择性披露值是否与证书对应 value 值匹配, 选择性披露 value 值与 salt 生成的 hash 与证书里的对应字段的 hash 进行比对。 验证返回结果:
响应参数说明: