如果 可以在 Linux 或者 Unix 的命令行中查看 TLS/SSL 证书的到期时间,可以方便的了解证书的状态,对于服务器管理和 Web 网站的管理都具有重要意义。

事实上,我们可以通过命令行方便的查看证书的到期信息。本文将演示如何通过命令行工具快速检查真实存在的域名或者 PEM 格式文件包含的 TLS 或 SSL 证书的到期信息。

1] 检查域名到期信息

为了检查证书信息,我们可以使用 OpenSSL 客户端,该客户端可以获得关于证书的大量信息,包括有效期、到期时间、TLS/SSL 证书颁发机构信息等。

查看域名信息,可以使用如下命令:

# openssl s_client -servername {SERVER_NAME} -connect {SERVER_NAME}:{PORT} | openssl x509 -noout -dates
# echo | openssl s_client -servername {SERVER_NAME} -connect {SERVER_NAME}:{PORT} | openssl x509 -noout -dates

其中:

  • SERVER_NAME 指想到查看的域名
  • PORT 使用证书的端口

例如我们想查看”www.rultr.com”的域名证书信息,则可以使用如下命令:

DOM="www.rultr.com"
PORT="443"
# openssl s_client -servername $DOM -connect $DOM:$PORT | openssl x509 -noout -dates

典型输出如下所示:

图.1 使用 OpenSSL 客户查看域名证书信息

加入”echo”命令可以自动退出客户端,其它显示信息一致。

OpenSSL 客户端的各参数意义如下:

  • s_client:指示 OpenSSL 工具实现一个 SSL/TLS 客户端,通过 SSL/TLS 连接到远程主机
  • -servername:设置 TLS SNI(Server Name Indication),用于设置连接的远程主机
  • -connect:设置连接的主机及端口
  • x509:运行显示证书和签名实用工具
  • -noou:不输出证书的编码版本
  • -dates:显示证书的效期时间信息

输出结果信息中的”notBefore”和”notAfter”则为证书效期的起止时间。

2] 查看证书文件到期信息

同样使用 OpenSSL 工具,可以查看证书文件的效期信息,命令如下:

# openssl x509 -enddate -noout -in {/path/to/pemfile/pemfile.pem}

其中”{/path/to/pemfile/pemfile.pem}”是指主机存放 pem 文件的路径,例如想查看本机的自签名证书文件效期时间,则可以使用如下命令:

# openssl x509 -dates -noout -in /etc/trojan/trojan-cert.pem

输入信息如下:

图.2 证书文件效期信息

在本快速教程中,讲解了如何从 PEM 编码的证书文件或实时域名中查找 TLS / SSL 证书的到期日期。

过期的 TLS / SSL 证书可能会导致停机和其他问题, 因此,监视 TLS / SSL 证书的到期日期至关重要。

至于 OpenSSL 的详细使用参数,可以参照”man x509″和”man s_client”的相关内容。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注