要使用 OpenSSL 检查 SSL 证书的状态,你可以使用以下命令:
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -status
将 example.com
替换为你想要检查的域名。这个命令会执行以下操作:
openssl s_client
建立一个到目标服务器的 SSL 连接。-servername
参数指定 SNI(服务器名称指示),这在虚拟主机环境中非常有用。/dev/null
作为输入,因为我们只关心输出的信息,而不是实际发送的数据。/dev/null
,以便在终端中只显示相关信息。|
将连接输出传递给 openssl x509
命令。openssl x509 -noout -status
解析证书并输出其状态信息。运行此命令后,你将看到类似以下的输出:
OCSP checking disabled
notAfter=Apr 8 12:34:56 2022 GMT
这里,notAfter
表示证书的有效期截止日期。要检查证书是否有效,只需确认当前日期和时间是否在 notBefore
和 notAfter
之间。
此外,如果你想查看证书的详细信息,可以省略 -noout -status
参数,如下所示:
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509
这将显示证书的所有详细信息,包括颁发者、主题、有效期等。