如何区分Golang中不同CA颁发的两个证书对?

时间:2018-12-26 09:39:37

标签: go

我有一个使用自签名tls证书的GOlang http服务器。我有一对这样的证书和钥匙。现在,说我有一个相似的证书和密钥对。我想检测这两对是否由两个不同的CA发出?在这种情况下,我无权访问CA证书。我可以假设链长= 1。

我试图检查Certificate.Issuer结构。但是我看不出有什么区别。我该怎么办?

谢谢。

1 个答案:

答案 0 :(得分:0)

SubjectKeyId fields对于两个不同的证书将有所不同。

此字段是公钥的哈希:

  

keyIdentifier由以下代码的160位SHA-1哈希组成:         BIT STRING subjectPublicKey的值(不包括标签,         长度和未使用的位数)。

https://tools.ietf.org/html/rfc3280#section-4.2.1.2

对于不是自签名的证书,将遵循AuthorityKeyId字段一直到根证书,然后再次使用主题密钥检查公共成员的证书链。

相关问题