如何在 Ubuntu 上检查 TLS/SSL 证书到期日期

在 Web 服务器上使用 TLS/SSL 证书的目的是加密 Web 浏览器和服务器之间的连接。 但是,这些证书并非终生有效,而且它们也有一个有限的到期日期,在此日期之后,Web 浏览器将在连接到网站时显示错误消息。 今天,我将向您展示如何在 Ubuntu 20.04 上使用 OpenSSL 检查网站 SSL 证书的 TLS/SSL 证书到期日期。

在 Ubuntu 上检查 TLS/SSL 证书到期日期

要在 Linux shell 上检查 SSL 证书的 TLS/SSL 证书到期日期,请执行以下步骤:

第 1 步:检查您的系统上是否安装了 OpenSSL:

首先,您必须确保您的系统上安装了 OpenSSL。 在大多数最新的 Linux 发行版上,默认情况下安装了 OpenSSL,但我们仍然需要确认它。 如果它不存在,那么我们将不得不在继续之前安装它。 可以通过使用如下所示的命令检查其版本来验证我们的 Ubuntu 系统上是否存在 OpenSSL:

$ openssl version

正如您在下图中看到的 OpenSSL 版本,这意味着 OpenSSL 安装在我们的 Ubuntu 系统上,所以我们很高兴。

OpenSSL 版本

第 2 步:定义并导出 URL 变量:

现在,我们需要定义并导出一个 URL 变量,该变量将对应于我们要检查其证书到期日期的网站的 URL。 每当我们想要检查新网站的 TLS/SSL 证书到期日期时,我们必须以如下所示的方式定义和导出其特定的 URL 变量:

$  SITE_URL= "WebsiteURL"

设置网站网址

您可以将 WebsiteURL 替换为您要查看其 TLS/SSL 证书到期日期的网站的 URL。 我们在这里使用了 google.com。 此命令不会产生任何输出,如下图所示:

要检查的网站 URL

第 3 步:定义并导出端口变量:

之后,我们需要定义并导出一个 Port 变量。 现在,由于我们都知道 TLS/SSL 始终使用端口号 443 来工作,这就是为什么无论您在上一步中使用哪个网站 URL,此变量都将保持不变的原因。 要定义和导出端口变量,我们将执行如下所示的命令:

$  SITE_SSL_PORT="443"

SSL 端口

同样,此命令不会产生任何输出,如下图所示:

使用端口 443

第 4 步:检查 TLS/SSL 证书到期日期:

最后,我们可以通过执行如下所示的命令来检查我们想要的网站的 TLS/SSL 证书到期日期:

$ openssl s_client -connect ${SITE_URL}:${SITE_SSL_PORT} -servername ${SITE_URL} 2> /dev/null | openssl x509 -noout -dates

检查 SSL 证书

执行此命令后,您将在输出中看到两个不同的日期。 下图中突出显示的日期是指定网站的 TLS/SSL 证书到期日期。

SSL 证书有效期至

结论:

通过使用 OpenSSL,您可以通过这种方式轻松找到任何网站的 TLS/SSL 证书到期日期。 在您的系统上安装 OpenSSL 后,您可以毫无顾虑地执行此过程,它会像我们在本文中向您展示的那样顺利运行。