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證書的主要場景,從本地證書驗證到遠程網站檢查均適用。根據需求選擇合適的方式即可。