技术与生活 / 一篇记录
HTTPS 握手成功,还不算证书检查完成
证书受信任和域名匹配需要同时成立,有效期也应在检查范围内。
连接能够加密,与证书链可信、主机名匹配、有效期正确,是几项不同要求。反向代理还可能按 SNI 为不同域名选择不同证书。
从一个例子看起
域名 example.com 仅用于说明,核查自己的网站时请替换目标地址。
openssl s_client -connect example.com:443 -servername example.com </dev/null
检查证书链、域名和有效期,而不只看握手是否完成。
排查时再往前走一步
从公网携带正确主机名检查一次,再与磁盘证书比较。证书链缺失或客户端时间错误,都可能导致某些设备失败而另一些设备正常。
自动化探测还应使用客户端的主机名验证能力,而不是自行比较一个显示字段。不同工具版本的默认验证选项有差异,因此检查脚本需要明确失败条件并用无效样本验证。
该命令的默认验证行为因版本不同,不能只凭退出码断言证书可信。
参考:HTTP 文档。