{{item}}
{{item.title}}
{{items.productName}}
{{items.price}}/年
{{item.title}}
部警SSL证书可实现网站HTTPS加密保护及身份的可信认证,防止传输数据的泄露或算改,提高网站可信度和品牌形象,利于SEO排名,为企业带来更多访问量,这也是网络安全法及PCI合规性的必备要求
前往SSL证书为帮助用户掌握用 OpenSSL 查看SSL证书吊销状态的方法,我将先解释SSL证书吊销的核心概念与常见场景,再分步骤详解 OpenSSL 命令实操,结合实例说明不同吊销状态的判断方式,同时补充注意事项与替代方案。
SSL证书吊销是 CA 机构(证书颁发机构)在证书有效期内,因私钥泄露、域名所有权变更、证书配置错误等原因,提前终止证书有效性的操作。未及时识别吊销证书,可能导致:
常见的证书吊销机制有两种:
1. CRL(证书吊销列表):CA 定期发布包含所有吊销证书序列号的列表,客户端通过下载列表校验;
2. OCSP(在线证书状态协议):客户端向 CA 的 OCSP 服务器发送查询请求,实时获取证书状态(推荐,响应速度更快)。
OpenSSL 作为开源加密工具集,可通过命令行直接对接这两种机制,实现证书吊销状态的快速核查。
首先确保本地已安装 OpenSSL,Windows、Linux、macOS 环境的验证命令一致:
openssl version # 查看版本,需确保为1.1.1及以上(支持OCSP stapling等新特性)需先获取目标域名或服务器的SSL证书文件(格式通常为 PEM、CRT),有两种获取方式:
(1)从目标服务器直接抓取证书
针对网站(如www.baidu.com),通过openssl s_client命令连接服务器并导出证书:
# 连接443端口(HTTPS默认端口),将证书保存到cert.pem文件
openssl s_client -connect www.baidu.com:443 -showcerts < /dev/null 2>/dev/null | openssl x509 -outform PEM -out cert.pem命令解析:
(2)从本地文件读取证书
若已拥有证书文件(如 server.crt),直接跳过抓取步骤,进入后续核查流程。
OCSP是 CA 提供的实时证书状态查询服务,相比 CRL 更高效(无需下载完整列表),适合单证书快速核查。
证书中包含 CA 的 OCSP 服务器地址,需先从证书文件中提取:
# 从cert.pem证书中提取OCSP服务器地址
openssl x509 -in cert.pem -noout -ocsp_uri示例输出(百度证书的 OCSP 地址):
http://ocsp.digicert.com若输出为空,说明该证书未配置 OCSP 地址,需改用 CRL 方法查询。
OCSP 查询需验证证书链完整性,需先获取目标证书的 “中间证书”(由 CA 颁发,用于连接终端证书与根证书):
# 重新抓取证书链,保存完整链到chain.pem
openssl s_client -connect www.baidu.com:443 -showcerts < /dev/null 2>/dev/null > chain.pem打开chain.pem文件,可看到多个以-----BEGIN CERTIFICATE-----开头的证书块,按顺序分别为:终端证书(目标证书)、中间证书 1、中间证书 2... 根证书。
使用openssl ocsp命令向 OCSP 服务器发送查询请求,需指定:
完整命令示例:
# 假设chain.pem中,中间证书为第2个证书块(需手动提取到intermediate.crt),根证书为第3个(提取到root.crt)
openssl ocsp -issuer intermediate.crt -cert cert.pem -url http://ocsp.digicert.com -CAfile root.crt -text1. 正常(未吊销)输出:
Response verify OK
cert.pem: good
This Update: Nov 28 00:00:00 2025 GMT
Next Update: Dec 5 00:00:00 2025 GMT2. 已吊销输出:
Response verify OK
cert.pem: revoked
This Update: Nov 28 00:00:00 2025 GMT
Revocation Time: Nov 27 12:00:00 2025 GMT
Reason: keyCompromise (0x1)3. 查询失败输出:
OCSP response: no response sent可能原因:OCSP 服务器不可达、网络防火墙拦截、证书已过期(需先检查证书有效期:openssl x509 -in cert.pem -noout -dates)。
CRL是 CA 定期发布的吊销证书清单,适合批量核查或 OCSP 服务不可用时使用。
从证书中获取 CA 的 CRL 发布地址:
# 从cert.pem中提取CRL地址
openssl x509 -in cert.pem -noout -crldist示例输出(阿里云证书的 CRL 地址):
http://crl3.digicert.com/sha2-ev-server-g6.crl通过wget或浏览器下载 CRL 文件(格式为 DER 或 PEM):
# 下载CRL文件到crl.der
wget http://crl3.digicert.com/sha2-ev-server-g6.crl -O crl.der将 DER 格式的 CRL 转换为可读文本,并查询目标证书的序列号是否在吊销列表中:
1. 查看证书序列号
先获取待查证书的序列号(十六进制格式):
openssl x509 -in cert.pem -noout -serial示例输出:
serial=0A1B2C3D4E5F6A7B8C9D0E1F2A3B4C5D2. 解析 CRL 并搜索序列号
将 CRL 转换为文本格式,并用grep搜索目标序列号:
# 转换CRL为文本并搜索序列号
openssl crl -in crl.der -inform DER -text -noout | grep -A 5 "0A1B2C3D4E5F6A7B8C9D0E1F2A3B4C5D"3. 结果判断
若需核查多个证书(如服务器集群的证书),可编写 Shell 脚本循环执行 OCSP 查询:
#!/bin/bash
# 批量核查证书状态的脚本(cert_list.txt为证书文件路径列表)
while read cert; do
echo "=== 核查证书:$cert ==="
# 提取OCSP地址
ocsp_uri=$(openssl x509 -in $cert -noout -ocsp_uri)
# 提取中间证书(假设证书链中第2个为中间证书)
intermediate=$(openssl x509 -in $cert -noout -issuer_hash | xargs -I {} find /etc/ssl/certs -name "{}*.pem")
# 执行OCSP查询
openssl ocsp -issuer $intermediate -cert $cert -url $ocsp_uri -CAfile /etc/ssl/certs/ca-certificates.crt -text | grep -E "good|revoked"
echo -e "\n"
done < cert_list.txt在 Linux 系统中,通过crontab设置定时任务,每日自动核查证书状态并发送告警邮件:
# 编辑定时任务(每天凌晨2点执行脚本)
crontab -e
# 添加以下内容
0 2 * * * /root/scripts/check_ssl_revocation.sh | mail -s "SSL证书吊销状态核查报告" admin@example.com(1)“Response verify failed” 错误
原因:根证书未正确指定,需从证书链中提取完整根证书,或使用系统默认根证书库(Linux 路径:/etc/ssl/certs/ca-certificates.crt)。
(2)OCSP 服务器超时
原因:网络防火墙拦截 OCSP 请求(默认端口为 80 或 443),需开放对 CA 的 OCSP 服务器 IP 的访问权限;或改用 CRL 方法查询。
CRL 的更新周期通常为 12-24 小时,若证书刚被吊销,可能未及时同步到 CRL 列表,此时需优先使用 OCSP 查询(实时性更高)。
若证书格式为 DER(二进制),需先转换为 PEM 格式才能解析:
# DER格式转换为PEM格式
openssl x509 -in cert.der -inform DER -out cert.pem -outform PEM若觉得命令行操作复杂,可使用以下工具简化核查流程:
1. 在线工具:SSL Labs(https://www.ssllabs.com/ssltest/),输入域名即可查看证书状态(包括吊销信息);
2. 图形化工具:Windows 的 “证书管理器”(certmgr.msc),导入证书后可查看 “吊销状态”;macOS 的 “钥匙串访问”,双击证书查看 “信任” 选项中的状态;
3. API 接口:阿里云、腾讯云等云服务商提供SSL证书管理 API,可通过 API 批量查询证书吊销状态(适合企业级场景)。
SSL证书吊销状态核查是网络安全的重要环节,OpenSSL 通过 OCSP 和 CRL 两种机制,为技术人员提供了灵活、高效的核查工具。在实际应用中,建议优先使用 OCSP 协议(实时性强),结合自动化脚本实现定期核查,同时关注 CA 发布的安全公告,及时处理吊销证书,避免因证书失效导致的安全风险与业务损失。
Dogssl.cn拥有20年网络安全服务经验,提供构涵盖国际CA机构Sectigo、Digicert、GeoTrust、GlobalSign,以及国内CA机构CFCA、沃通、vTrus、上海CA等数十个SSL证书品牌。全程技术支持及免费部署服务,如您有SSL证书需求,欢迎联系!