我有一个使用自签名tls证书的GOlang http服务器。我有一对这样的证书和钥匙。现在,说我有一个相似的证书和密钥对。我想检测这两对是否由两个不同的CA发出?在这种情况下,我无权访问CA证书。我可以假设链长= 1。
我试图检查Certificate.Issuer结构。但是我看不出有什么区别。我该怎么办?
谢谢。
答案 0 :(得分:0)
SubjectKeyId
fields对于两个不同的证书将有所不同。
此字段是公钥的哈希:
keyIdentifier由以下代码的160位SHA-1哈希组成: BIT STRING subjectPublicKey的值(不包括标签, 长度和未使用的位数)。
https://tools.ietf.org/html/rfc3280#section-4.2.1.2
对于不是自签名的证书,将遵循AuthorityKeyId
字段一直到根证书,然后再次使用主题密钥检查公共成员的证书链。