如何将X509证书对象与另一个.pem扩展证书进行比较

Kai*_*dul 5 openssl certificate pem x509

我有两个证书的.pem文件(证书和RSA私钥).我X509从服务器获取openSSL证书对象.我该如何比较这两个证书以确保它们相同或不同?

sta*_*fry 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
Run Code Online (Sandbox Code Playgroud)

或者,作为单个命令

$ diff <(openssl x509 -in a.crt -text -noout) <(openssl x509 -in b.crt -text -noout)
Run Code Online (Sandbox Code Playgroud)

我发现自己处于对同一证书的两个不同PEM表示的好奇位置.比较PEM失败但上述证实它们是相同的.


pep*_*epo 1

证书的 DER 表示形式应该相同。要么在二进制级别上比较它们是否相同(逐字节或对每个字节进行 SHA1 并比较哈希值),要么解析它们并比较序列号、发行者和公钥。