证书上的Signature Algorithm(签名算法)具体指什么?我的证书用了哪种签名算法?
X.509证书三个签名算法字段的作用说明
你看到的三个字段是X.509数字证书的标准设计,分属不同的逻辑模块,作用完全不同:
1. Issuer分类下的签名算法
这个就是你最初理解的证书签发用签名算法,是上级CA(此处为GTS)给当前证书做签名时用的算法,常见值如sha256WithRSAEncryption。
这个字段不附带密钥大小的原因是:它对应的签名密钥是上级CA的私钥,密钥大小属于上级CA证书的公钥属性,不会存储在当前证书的这个字段中。如果需要查看对应密钥参数,你可以打开当前证书的「证书路径」标签,选中上级签发CA的证书,查看它的公钥参数即可获取对应密钥大小。
2. 公钥分类下的两个签名相关字段
这两个字段和证书本身的签发签名没有关系,是当前证书持有者的公钥自身的属性参数,用于标注该公钥的使用能力:
- 第一个是公钥支持的签名算法:标注用该证书对应的私钥做签名操作时可使用的算法,附带的密钥大小就是当前证书公钥的实际密钥长度
- 第二个是公钥签名支持的哈希算法:部分证书会单独标注该公钥做签名时配套的哈希算法类型,同样绑定当前公钥的密钥大小
快速区分逻辑
- 验证当前证书是否合法有效:调用Issuer下的签名算法,用上级CA的公钥完成验签
- 当前证书对应的私钥做签名操作(比如TLS握手时网站端的身份签名):使用公钥分类下的算法参数
内容的提问来源于stack exchange,提问作者JANVI SHARMA
相关产品推荐
相关产品推荐

