SSL证书到期查询这件事, 实际上是网站运维工作还有安全合规管理里面的一个非常核心的环节。一旦那个证书过期了, HTTPS连接马上就会中断, 然后浏览器就会弹出安全警告出来, 这样业务可用性就直接受到损坏了。

下面是给大家提供了一种经过官方验证的查询方法, 总共有5种。这些方法覆盖了从快速排查到批量核验这样的全部场景, 以此来帮助运维人员在最短的时间内能够准确地掌握住证书有效期所处于的那种状态。

浏览器直接查看(单次快速验证)

在Chrome或者Edge这两个浏览器里面, 你要去做的事情就是去点击那个地址栏左边的像是一个锁一样的图标, 然后呢从弹出的选项里头去选择"证书有效"或者是"连接是安全的"这样的文字, 接着再去进入所谓的一个叫作"查看证书"的功能界面, 到了这个界面之后要记得切换过去那个叫做"详细信息"的页签部分, 最后你就能够在"有效期"这一栏里头看到具体的生效日期还有到期日期了, 而关于Firefox这个浏览器, 操作步骤也是差不多的, 同样是去点击那个锁形的图标, 接下来的动作就是去选择"查看证书"这个选项, 然后再点进去看看"详细信息"的那一块, 同样是可以去看到有关有效期的详细情况的。

这种方法没有任何门槛限制SSL证书到期查询,大家可以在现场比较快速地进行确认, 不过这种办法有一个缺点, 那就是没有办法去查看续期计划的具体情况, 也没有法查看证书链的完整性。

OpenSSL命令行(批量与自动化场景)

请在当前的Linux系统的终端工具之中, 或者是macOS系统的终端窗口里面, 执行相应的操作指令。

openssl s_client -connect 域名:443 -servername 域名

当连接成功建立起之后, 请在所呈现出的输出内容里面, 去找到那个名为 notBefore 的字段以及名为 notAfter 的字段, 这两个字段所指代的含义, 其实就是证书有效起止的时间点, 如果在本地计算机中已经保存有该证书文件的话, 那么直接执行如下操作即可。

使用openssl, 后面跟着x509这个参数, 再后面是-in, 然后接着cert.pem, 接着写-noout, 最后还有-dates。

这个命令是可以嵌入到运维脚本里面的, 同时还可以配合Cron工具或者是CI/CD流水线来使用, 从而实现每天自动进行巡检的这个功能。

在线SSL证书查询平台(无服务器权限场景)

用户可以打开类似于 gname.xin 这样的网站去查找 SSL 证书的在线查询工具, 随后把想要确认的目标域名填进去。系统接着就会根据公共信任证书发行机构这一条链路来做完相关的验证工作。

然后, 界面会把是谁颁发的、什么时候会过期、证书链条的状态是否良好以及离到期还剩多少天这些信息全部回报给用户。因为使用这个方法不需要具备服务器的什么访问权限, 所以说对于那些负责具体业务的同学, 或者手头根本没有终端管理权限的管理员来说,用这种法子能快速查出异常情况是非常合适的。

服务器端直接读取证书文件

登录服务器,定位证书文件路径(常见于 /etc/ssl/certs/、/etc/nginx/ssl/ 或 /var/www/ssl/),执行:

SSL证书到期怎么查?5种方法快速确认有效期(图1)

openssl x509 -in /path/to/cert.pem -noout -enddate

输出 Not After=YYYYMMDDHHMMSSZ 即为到期时间。同时用 openssl x509 -in ... -noout -text 可查看完整颁发链与指纹信息,确认无旧证书残留。

CA或PKI管理平台(企业批量管理)

用户需要登录到像DigiCert或者GlobalSign, 还有Sectigo这种证书颁发机构的官方控制台, 又或者登录企业内部使用的PKI管理平台。然后在系统里面找到“已签发证书”这个列表。在这个列表页面里, 按照域名作为筛选条件来进行操作。

这样可以一次性集中查看所有相关证书的信息。这些信息包括证书的到期日期, 还有自动续期功能的配置情况, 以及证书是否被吊销的状态。对于那些包含多个域名的证书, 或者是使用通配符的泛域名证书SSL证书到期查询,建议都统一放在这一层进行管理。这样做的原因是可以降低出现遗漏的风险。

到期预警与续期规范

在证书到期之前的三十天时间, 开始启动续期申请的相关工作;同时要求在截止期限前的七天内, 完成证书的签发操作以及将所有节点进行部署。

将SSL到期监控接入企业告警体系, 也就是像Zabbix、Prometheus和云监控这样的系统, 同时设定T-30、T-14、T-7这三级的阈值。

先部署新证书, 随后再去更新cdn、负载均衡和api网关等全部边缘节点的相关配置, 并借助在线工具对整条链路中的证书链进行复核。

我们要建立证书台账, 这个台帐里面要记录每张证书的域名, 还要记录到期日, 还需要记录责任人, 同时需要记录续期截止日。

高频问题

为什么浏览器仍然显示旧的到期时间呢? 你需要清除浏览器的证书缓存。具体的操作步骤是, 按下键盘上的Ctrl+Shift+Delete按键组合来执行操作。

阜新市自然资源事务服务中心

另外, 你也可以选择进行强制刷新, 方法是按下Ctrl+Shift+R这个按键组合。需要注意的是, 有一部分浏览器存在最长时长为12小时的缓存机制, 这可能会导致你看到的信息不是最新的。

如果证书还没有到期, 但是系统出现了不安全的提示, 这通常是因为中间证书缺失了或者证书链发生了断裂的问题, 需要去确认服务器是否已经同时部署完毕了叶子证书以及中间证书还有可信的根证书这些内容。