如何验证Ubuntu OpenSSL证书
导读:如何验证Ubuntu OpenSSL证书 在Ubuntu系统中,OpenSSL是验证证书有效性、完整性及信任关系的核心工具。以下是具体验证步骤,覆盖基础检查、链验证、域名匹配、吊销状态等常见场景: 1. 安装OpenSSL(若未安装) 大多...
如何验证Ubuntu OpenSSL证书
在Ubuntu系统中,OpenSSL是验证证书有效性、完整性及信任关系的核心工具。以下是具体验证步骤,覆盖基础检查、链验证、域名匹配、吊销状态等常见场景:
1. 安装OpenSSL(若未安装)
大多数Ubuntu版本预装OpenSSL,可通过以下命令确认版本:
openssl version
若未安装,执行以下命令安装:
sudo apt update &
&
sudo apt install openssl
2. 验证证书基本信息
通过以下命令查看证书的有效期、颁发者、主题、签名算法等详细信息:
openssl x509 -in certificate.crt -text -noout
- 仅查看有效期(开始日期
notBefore
、结束日期notAfter
):openssl x509 -in certificate.crt -noout -dates
- 提取颁发者信息:
openssl x509 -in certificate.crt -noout -issuer
- 提取主题信息(证书持有者):
openssl x509 -in certificate.crt -noout -subject
3. 验证证书链完整性
若证书由中间CA签发,需合并服务器证书+中间证书+根证书为完整链(顺序:服务器→中间→根),再验证链的可信度:
# 合并证书链(示例文件名:server.crt、intermediate.crt、root.crt)
cat server.crt intermediate.crt root.crt >
fullchain.crt
# 验证链(指定根证书作为信任锚)
openssl verify -CAfile root.crt fullchain.crt
- 若输出
fullchain.crt: OK
,说明链有效;若出现unable to get local issuer certificate
等错误,需检查中间证书是否缺失或路径错误。
4. 验证证书与域名的匹配性
检查证书是否覆盖目标域名(避免“域名不匹配”错误):
openssl x509 -in certificate.crt -noout -subjectAltName | grep DNS
- 输出应包含目标域名(如
DNS:example.com
、DNS:www.example.com
);若为通配符证书,会显示DNS:*.example.com
。
5. 获取证书指纹(唯一标识)
通过SHA-256指纹确认证书未被篡改(常用于比对证书一致性):
openssl x509 -in certificate.crt -noout -fingerprint -sha256
- 输出示例:
SHA256 Fingerprint=12:34:56:...:AB:CD
,可与预期指纹对比。
6. 检查证书吊销状态
若证书可能被吊销,需通过**OCSP(在线状态协议)或CRL(吊销列表)**验证:
- OCSP验证(需证书包含OCSP URL):
openssl ocsp -issuer intermediate.crt -cert server.crt -url http://ocsp.example.com
- 若输出
Response verify OK
且状态为good
,说明证书未被吊销。
- 若输出
- CRL验证(需下载CRL文件):
openssl crl -in crl.pem -noout -text # 查看吊销列表 openssl x509 -in server.crt -noout -serial # 获取证书序列号
- 在CRL文本中搜索证书序列号,若存在则说明已被吊销。
7. 验证网站证书(实时获取)
若需验证网站证书(而非本地文件),可通过openssl s_client
获取并验证:
openssl s_client -connect example.com:443 -servername example.com <
/dev/null 2>
/dev/null | openssl x509 -outform PEM >
website.crt
- 上述命令将网站证书保存为
website.crt
,后续可使用前述命令(如openssl verify
、openssl x509 -text
)进行验证。
通过以上步骤,可全面验证Ubuntu系统中OpenSSL证书的有效性、信任关系及安全性。若遇到错误(如unable to verify the first certificate
),需检查证书链是否完整或信任锚是否正确。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何验证Ubuntu OpenSSL证书
本文地址: https://pptw.com/jishu/720463.html