我如何检查openssl生成的证书是否容易受到影响?

我知道你可以通过在命令行“openssl version”input以下命令来显示你正在使用的openssl的版本。

我前一段时间创build了一个证书和一个关键字,并使用与server.cer和server.key类似的名称。

我遇到的问题是,我不知道他们已经创build了哪个版本的openssl。 有没有命令可以用来find它们创build的openssl的版本? 证书和密钥是否存储这些信息。

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

证书不易受到伤害。 证书只是一个证书。 过去一直存在encryption问题,特别是在selectRNG方面,导致弱密钥(因而脆弱的证书)被创build,但心跳并不是这种types的脆弱性。

无论使用哪种版本的OpenSSL,或者即使是由完全不同的SSL实现创build的密钥/证书对,都可能因心血来潮而受到威胁,如果它是在向公众提供TLS服务的服务器上使用的使用易受攻击的OpenSSL版本。

如果没有这样使用,即使它是在当时正在运行易受攻击的OpenSSL版本的服务器上创build的,也不会受到心跳的危害。

(现在,对于生活来说,比你想象的要复杂得多: 如果你在服务器上创build了密钥/证书对(或者密钥/ CSR对) 那个服务器当时正在运行一个易受攻击的OpenSSL版本并且您通过易受攻击(例如OpenVPN,但不是OpenSSH)的方法连接到该服务器, 并且将创build的密钥文件的内容暴露给连接stream,例如通过抓取文件或通过连接复制文件, 那么证书可能已经被破坏了,但是这并不是证书中的漏洞,而且也不能通过检查证书(或者其他任何方式,就我所知)来检测。