SSL证书检查工具

输入域名查看常用的openssl检查命令,了解SSL/TLS协议知识、版本对比和常见错误排查方法。

SSL/TLS 版本对比表

协议版本 发布年份 密钥交换 加密算法 安全等级 推荐状态
SSL 2.0 1995 RC4, DES 极不安全 已废弃
SSL 3.0 1996 RSA, DH RC4, 3DES, AES 不安全 已废弃(POODLE)
TLS 1.0 1999 RSA, DH, ECDH RC4, 3DES, AES 较弱 不推荐(RFC 8996)
TLS 1.1 2006 RSA, DH, ECDH AES-CBC 较弱 不推荐(RFC 8996)
TLS 1.2 2008 RSA, ECDHE, DHE AES-GCM, AES-CBC, ChaCha20 安全 推荐
TLS 1.3 2018 ECDHE, DHE AES-GCM, ChaCha20-Poly1305 非常安全 强烈推荐

SSL/TLS 基础知识

什么是SSL/TLS?

SSL(Secure Sockets Layer)和TLS(Transport Layer Security)是用于在网络通信中提供加密和数据完整性的协议。TLS是SSL的后继者,目前主流使用TLS 1.2和TLS 1.3。SSL/TLS通过公钥加密技术建立安全通道,保护客户端与服务器之间的数据传输。

证书链与信任模型

SSL证书遵循层级信任模型:根证书机构(Root CA) -> 中间证书机构(Intermediate CA) -> 服务器证书。浏览器和操作系统内置了受信任的根证书列表,通过逐级验证来确认服务器证书的合法性。

证书有效期

SSL证书有有效期限,通常为90天到1年。证书过期后浏览器会显示安全警告。Apple、Google、Mozilla等厂商推动将证书有效期缩短至最长398天(约13个月),以提升安全性。

常见 OpenSSL 检查命令

查看证书详细信息

openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -text -noout

查看证书到期时间

echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -dates

查看支持的TLS版本

# 检查TLS 1.2 openssl s_client -connect example.com:443 -tls1_2 </dev/null 2>&1 | grep "Protocol" # 检查TLS 1.3 openssl s_client -connect example.com:443 -tls1_3 </dev/null 2>&1 | grep "Protocol"

检查证书链

openssl s_client -connect example.com:443 -showcerts </dev/null 2>/dev/null

常见SSL错误参考

证书过期
NET::ERR_CERT_DATE_INVALID
证书已过期或尚未生效,需要续签或重新申请证书。
域名不匹配
NET::ERR_CERT_COMMON_NAME_INVALID
证书域名与访问域名不一致,检查SAN/CN配置。
自签名证书
NET::ERR_CERT_AUTHORITY_INVALID
证书未被受信任CA签发,开发环境可临时信任,生产环境需使用正式证书。
证书链不完整
ERR_CERT_CHAIN_NOT_SIGNED_BY_TRUSTED_ANCHOR
缺少中间证书,需要在服务器上配置完整的证书链。
混合内容
MIXED_CONTENT
HTTPS页面中加载了HTTP资源,将所有资源改为HTTPS引用。
协议不匹配
SSL_ERROR_NO_FALLBACK
客户端与服务器不支持共同TLS版本,升级或启用新版本协议。

在线SSL检查工具推荐