OpenSSL是Ubuntu下检查SSL证书的核心工具,可通过以下命令实现不同维度的检查:
x509模块解析证书文件(如certificate.crt),显示主题、颁发者、有效期、公钥等完整信息。openssl x509 -in certificate.crt -text -noout
notBefore)和结束日期(notAfter),快速判断是否过期。openssl x509 -in certificate.crt -dates -noout
server.crt)、中间证书(intermediateCA.pem)、根证书(rootCA.pem)合并为fullchain.pem,使用verify命令验证链的完整性(需确保根证书可信)。cat server.crt intermediateCA.pem rootCA.pem > fullchain.pem
openssl verify -CAfile rootCA.pem fullchain.pem
subjectAltName字段确认证书是否覆盖目标域名(避免“域名不匹配”错误)。openssl x509 -in certificate.crt -noout -subjectAltName | grep DNS
openssl x509 -in certificate.crt -noout -fingerprint -sha256
Ubuntu系统中的证书通常存储在以下位置,可通过命令查看:
/etc/ssl/certs目录下存放了系统信任的证书(多为符号链接,指向/usr/share/ca-certificates中的实际文件)。ls /etc/ssl/certs
openssl version -d命令获取OpenSSL的证书存储路径(如/usr/lib/ssl/certs),查看其中的证书文件。openssl version -d
ls /usr/lib/ssl/certs
update-ca-certificates --list命令列出系统已信任的所有证书(需root权限)。sudo update-ca-certificates --list
若需检查远程网站的SSL证书(如example.com),可使用openssl s_client命令模拟HTTPS连接,获取证书信息:
openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -text
该命令会输出网站的证书详情(包括有效期、颁发者、域名等),适用于快速排查网站证书问题。
若偏好图形界面,可安装ssl-cert-check等工具(需通过apt安装),通过命令行交互查看证书信息:
sudo apt install ssl-cert-check
ssl-cert-check -f /path/to/certificate.crt
或使用浏览器(如Firefox)的“证书查看器”(访问网站后点击地址栏锁图标→“更多信息”→“查看证书”),直观查看浏览器信任的证书信息。
以上方法覆盖了Ubuntu下检查SSL证书的主要场景,从本地证书验证到远程网站检查均适用。根据需求选择合适的方式即可。