温馨提示×

Ubuntu如何检查SSL证书

小樊
53
2025-10-08 11:39:57
栏目: 云计算

Ubuntu检查SSL证书的常用方法

1. 使用OpenSSL命令行工具(基础且全面)

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
    
  • 获取证书指纹:生成证书内容的SHA-256哈希值(唯一标识),用于快速比对证书是否被篡改。
    openssl x509 -in certificate.crt -noout -fingerprint -sha256
    

2. 检查系统已安装的证书

Ubuntu系统中的证书通常存储在以下位置,可通过命令查看:

  • 系统证书目录/etc/ssl/certs目录下存放了系统信任的证书(多为符号链接,指向/usr/share/ca-certificates中的实际文件)。
    ls /etc/ssl/certs
    
  • OpenSSL默认路径:通过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
    

3. 验证网站SSL证书(实时检查)

若需检查远程网站的SSL证书(如example.com),可使用openssl s_client命令模拟HTTPS连接,获取证书信息:

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

该命令会输出网站的证书详情(包括有效期、颁发者、域名等),适用于快速排查网站证书问题。

4. 使用图形化工具(可选)

若偏好图形界面,可安装ssl-cert-check等工具(需通过apt安装),通过命令行交互查看证书信息:

sudo apt install ssl-cert-check
ssl-cert-check -f /path/to/certificate.crt

或使用浏览器(如Firefox)的“证书查看器”(访问网站后点击地址栏锁图标→“更多信息”→“查看证书”),直观查看浏览器信任的证书信息。

以上方法覆盖了Ubuntu下检查SSL证书的主要场景,从本地证书验证到远程网站检查均适用。根据需求选择合适的方式即可。

0