SSL 证书检测

SSL 证书检测:有效期、证书链与 TLS 版本

浏览器内运算SSL Certificate Checker排错型07网络与 Web

什么是SSL 证书检测

SSL 证书检测工具与目标建立 TLS 连接,读取完整证书链,展示每一级的主体、签发者、有效期与剩余天数,以及协商出的 TLS 版本与加密套件,并指出链路校验失败的原因。读取证书需要完成握手,因此由服务端完成。

怎么用SSL 证书检测

  1. 1输入域名,需要非标准端口时写成 host:port。
  2. 2点击「检测」,查看剩余有效期与证书链。
  3. 3链路校验未通过时,按提示的原因排查(最常见是缺少中间证书)。
  4. 4确认 SAN 是否覆盖你实际使用的所有域名。

在代码里怎么实现?

一次性操作用上面的工具,重复性工作建议固化到脚本或项目里。

# 查看有效期与主体
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
  | openssl x509 -noout -dates -subject

# 检查证书链是否完整
openssl s_client -showcerts -servername example.com -connect example.com:443 < /dev/null

常见错误与排查

现象成因修复
浏览器报证书不受信任,但证书本身没过期服务端没有下发中间证书,浏览器无法构建到根证书的完整链路。把中间证书与服务器证书拼接成 fullchain 后再配置到 Nginx 的 ssl_certificate。
换了域名后报 SAN 不匹配证书的 SAN 列表里没有新域名。重新签发证书并把所有要用的域名都加入 SAN,CN 字段现代浏览器已不再参考。

常见问题

为什么本工具能读出过期证书的信息?+

因为握手时故意不中断校验失败的连接——如果直接拒绝,你就看不到「证书过期了多久」这类关键信息。校验结论会单独以「链路校验未通过」的形式给出。

证书快到期了怎么自动续?+

用 ACME 客户端(certbot、acme.sh、lego)配合定时任务自动续期,并在续期后 reload 服务。同时建议对剩余天数做监控告警,把阈值设在 15 天左右,留出手工介入的时间。

相关工具

全部工具