【发布时间】:2014-11-14 13:32:41
【问题描述】:
我有两个证书的 .pem 文件(证书和 RSA 私钥)。我正在从服务器获取X509 openSSL 证书对象。我应该如何比较这两个证书以确保它们相同或不同?
【问题讨论】:
-
以人类可读的方式查看证书:
openssl x509 -in cert.pem -noout -text并比较它们或保存到文件中并进行比较
标签: openssl certificate x509 pem
我有两个证书的 .pem 文件(证书和 RSA 私钥)。我正在从服务器获取X509 openSSL 证书对象。我应该如何比较这两个证书以确保它们相同或不同?
【问题讨论】:
openssl x509 -in cert.pem -noout -text 并比较它们或保存到文件中并进行比较
标签: openssl certificate x509 pem
执行此操作的一种方法是将每个 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 失败,但以上确认它们是相同的。
【讨论】:
证书的DER表示应该相同。在二进制级别上比较它们是否相同(逐字节或对每个进行 SHA1 并比较哈希),或者解析它们并比较序列号、发行者和公钥。
【讨论】: