跳到正文

SSL 证书检测

SSL Certificate Checker

连上主机,展示它下发的证书链、到期时间、协议和加密套件支持情况,并指出证书链里缺失的环节。

通过 TLS 连接一台主机,报告它实际送出的东西:从叶证书到根证书的证书链、每一张的剩余天数、服务器接受和不接受的协议版本、协商出的密码套件。每一条发现都来自一次真实握手,不是数据库。

☁️ 使用我们的服务器ssltlscertificatesecurity

这个请求由我们的服务器代你发出。送到服务器的只有主机名,你的 Cookie 和登录状态都不会跟着走。服务器只连接公网地址,私有地址和内网地址一律拒绝。

默认 443 端口。其他一开始就走 TLS 的端口——8443、465、993、995、636 和 853——也接受,除此之外都不接受。主机名通过 SNI 发送,所以共用 IP 也能拿到正确的证书。

怎么用

  1. 输入主机,不是 443 就带上端口

    example.com,或 example.com:8443。一连上就是 TLS 的端口——8443、465、993、995、636、853——都可以;587 这类 STARTTLS 端口不行。

  2. 先看判定,再读各项发现

    判定是下方各项发现的汇总,每项标为良好、注意、警告或问题。三十天内到期和证书链不完整是最常真正要紧的两项。

  3. 检查证书链的顺序,不只看叶证书

    证书链按服务器发送的顺序显示。漏掉中间证书的服务器在 Chrome 里能用——Chrome 会去补缺的那张——在 curl 和旧版 Android 上会失败,这类 bug 会以"我的机器上没问题"的面目存在好几周。

  4. 看接受哪些协议版本

    每个版本各自建立一次连接来试,所以这一行是关于服务器的事实,不是推断。接受 TLS 1.0 和 1.1 是值得处理的发现;它们已被 RFC 8996 废弃。

常见问题

它说证书有效,但我的浏览器报警

通常是证书链、名字或时钟。检查中间证书是否随证书一起发送、你输入的主机是否在 SAN 列表里——浏览器完全忽略 CN——以及设备日期是否正确。时钟不准的设备会拒绝完全正常的证书。

能检查内网服务器吗?

不能。连接从我们的服务器发出,出站通道拒绝私有和环回地址。内网主机用 openssl s_client -connect host:443 -servername host 就能在本地看到同样的证书链。

共用一个 IP 为什么还能返回正确的证书?

因为握手时主机名以 SNI 发送,服务器靠它知道该出示哪张证书。这也是这里不能只用 IP 地址检查的原因。

检查吊销状态吗?

不检查。不查询 OCSP 和 CRL,所以一张已吊销但未过期的证书在这里显示为有效。这是真实的局限:这里显示的是服务器送出了什么,以及证书链和日期是否成立。

可以从这些接进来

接下来

这些工具吃得下当前工具的产出,结果可以直接送过去。