WAVE 1609.2协议

五、证书

证书是一种数据结构,用于传输以下信息:

  • 验证证书持有者签发的证书或SPDU的数字签名的公钥(即验证下级证书的数字签名)
  • 与公钥相关联的许可
  • 证书颁发者的标识符
  • 确定证书是否按规定撤销的信息
  • 用于颁发者授权公钥和许可之间链接的cryptographic demonstration

cryptographic demonstration有两种形式,据此可将证书分为显式证书和隐式证书。

  • 显式证书:如果证书中显式地给出了公钥,那么证书就是显式证书。在这种情况下,cryptographic demonstration由证书上颁发者的签名提供。
  • 隐式证书:如果公钥没有显式给出,但可以通过重构函数从证书上的“重构值”和颁发者的公钥得到,那么证书就是隐式证书。在这种情况下,cryptographic demonstration由“签名用这种方式得到的公钥正确验证”的事实提供。

验证方式:

  • 每一级的显式证书的数字签名,都需要用它的颁发者证书的公钥进行验证
  • 如果链以一个或多个隐式证书结束:可以使用链中最后一个证书中的关联公钥验证已签名SPDU上的签名。

撤销信息有两种形式。应用于证书的撤销信息的类型由证书中的CertificateId字段表示:

  • 基于链接:如果CertificateId字段表示选择linkageData,则通过发布linkageData值对应的链接种子值来撤销证书。
  • 基于哈希id:如果CertificateId字段表示选择name、binaryId或none,则通过发布证书的哈希值来撤销证书。

证书的数据结构:

class CertificateBase {Uint8 version;                       //证书格式的版本CertificateType type;                //证书类型,要么为explicit,要么为implicitIssuerIdentifier issuer;             //证书的颁布者标识符ToBeSignedCertificate toBeSigned;    //证书内容,用来产生或验证下级证书的signatureSignature OPTIONAL signature;        //显式证书才有的数字签名,颁发者的toBeSigned的哈希值
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部