我有两个证书的.pem文件(证书和RSA私钥)。我从服务器获取X509
openSSL证书对象。我该如何比较这两个证书以确保它们相同或不同?
答案 0 :(得分:8)
这样做的一种方法是将每个PEM提取到文本并对文本进行拼写:
$ openssl x509 -in a.crt -text -noout > a.crt.txt
$ openssl x509 -in b.crt -text -noout > b.crt.txt
$ diff a.crt.txt a.crt.txt
或作为单个命令
$ diff <(openssl x509 -in a.crt -text -noout) <(openssl x509 -in b.crt -text -noout)
我发现自己处于对同一证书的两个不同PEM表示的好奇位置。比较PEM失败但上述证实它们是相同的。
答案 1 :(得分:1)
证书的DER表示应该相同。要么在二进制级别上比较它们是相同的(逐字节还是每个的SHA1并比较哈希),要么解析它们并比较序列号,发行者和公钥。