如何检查使用 openssl 生成的证书是否容易受到 Heartbleed 的影响

use*_*199 4 security openssl ssl-certificate heartbleed

我知道您可以通过在命令行“openssl 版本”中键入以下内容来显示您正在使用的 openssl 版本。

前段时间我创建了一个证书和一个密钥,名称与 server.cer 和 server.key 相似。

我的问题是我不确定它们是用什么版本的 openssl 创建的。是否有命令可以用来查找它们是用什么版本的 openssl 创建的?证书和密钥是否存储此信息。

我试图确认他们是否容易受到 openssl heartbleed 安全问题的影响。

Mad*_*ter 16

证书不容易受到伤害,否则容易受到伤害。证书只是证书。过去曾出现过加密问题,尤其是与选择的 RNG 相关的问题,导致创建弱密钥(因此易受攻击的证书),但 Heartbleed 不是这种类型的漏洞。

密钥/证书对可能已被 heartbleed 破坏,无论创建它的 OpenSSL 版本如何,或者即使它是由完全不同的 SSL 实现创建的,如果它用于向公众提供 TLS 服务的服务器上使用易受攻击的 OpenSSL 版本。

如果不是这样使用,它就不会受到 heartbleed 的影响,即使它是在当时运行易受攻击的 OpenSSL 版本的服务器上创建的。

(现在是比你想要的更复杂的生活:如果您在服务器上创建了密钥/证书对(或密钥/CSR 对),并且该服务器当时正在运行易受攻击的 OpenSSL 版本并且您通过易受攻击的方法(例如 OpenVPN,但不是 OpenSSH)连接到该服务器,并且您将创建的密钥文件的内容暴露给连接流,例如通过对文件进行分类或通过连接复制它,那么证书可能已被破坏。但这仍然不是证书中的漏洞,并且无法通过检查证书(或任何其他方式,据我所知)检测到。