主题锚点句:本文讨论通过命令行、浏览器和在线工具三种方式准确获取 SSL 证书有效期的技术方法,适用于运维、开发及安全审计场景。
Validity 字段定义,包含两个 ASN.1 时间类型: - notBefore:证书生效时间 - notAfter:证书过期时间该字段受 CA 签名保护,任何篡改将导致证书链验证失败。实际检查时需确保获取的是目标服务器当前返回的完整证书链,而非本地缓存副本。
openssl s_client 连接目标端口并提取证书信息:echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -dates输出示例:
notBefore=Jan 15 00:00:00 2026 GMT notAfter=Apr 15 23:59:59 2027 GMT
若需查看完整细节(如序列号、签发者),可添加 -text 参数。批量监控时建议结合脚本解析 notAfter 并计算剩余天数。
注意:移动端(iOS Safari、Android Chrome)路径略有差异,且部分版本默认隐藏完整链。务必确认查看的是叶证书(Leaf Certificate)而非中间 CA 证书的有效期。
| 工具类型 | 参考标准 | 工程师建议 |
|---|---|---|
| SSL Labs (Qualys) | TLS 配置深度扫描 | 适合安全审计,提供有效期+协议兼容性综合报告 |
| TopSSL 证书检测工具 | ssl证书工具 | 快速提取证书时间字段,支持批量域名导入 |
| Google Transparency Report | CT 日志查询 | 验证证书是否已入日志,间接判断签发时间 |
-servername 参数:openssl s_client -connect www.example.com:443 -servername www.example.comQ:Let's Encrypt 证书有效期是多少?
A:Let’s Encrypt 签发的证书有效期固定为 90 天,必须通过自动化工具(如 Certbot)定期续期。
Q:如何批量检查多个域名的证书有效期?
A:可通过 shell 脚本封装 OpenSSL 命令,或使用 Python 的 ssl 模块并行查询。TopSSL 工具页支持 CSV 批量上传检测。
加密您的网站,赢得客户信任!