如果您管理網站或服務器,確保您的 SSL 證書有效且配置正確是首要任務。一種方法是使用流行的開源加密實用程序 OpenSSL。
您可以使用 OpenSSL 檢查證書的到期日期、頒發者和主題。在本文中,我們將向您展示如何在 Linux 中使用 OpenSSL 命令檢查證書。無論您是 Web 開發人員、系統管理員,還是隻是對 SSL 感到好奇,本指南都將提供使用 OpenSSL 檢查證書的確切步驟和命令行。
如何檢查 OpenSSL 版本?
大多數 Linux 系統都預裝了OpenSSL,但最好確保您擁有最新的運行版本。您可以通過運行以下命令來檢查您的 OpenSSL 版本:
openssl version –a
Linux 中的證書文件默認位於/etc/pki/tls/certs文件夾中,有時位於特定於應用程序的文件夾中,例如Apache 的/etc/httpd。這些文件通常使用.pem或 .crt 擴展名,並可能命名為yourdomain.pem或yourdomain.crt,但有時也會使用通用的“服務器”文件名。
如果您已經申請了SSL證書並將其安裝在服務器上,那麼您應該已經知道它的位置和文件名。
如何查看完整的證書詳細信息
您可以使用 OpenSSL 單獨或一次性檢查證書有效性、頒發者和主題。確保您可以訪問服務器和 SSH 終端。
OpenSSL 提供了豐富的命令來生成、安裝和管理證書。要檢查特定證書的詳細信息,請運行以下命令:
openssl x509 -in /root/mycertificate.crt -text -noout
使用此 OpenSSL 命令檢查證書到期日期、主題、頒發者、密鑰詳細信息和簽名算法。您應該會看到以下內容:
查看 SSL 證書本身(編碼)
OpenSSL 允許您以原始編碼格式查看 SSL 證書。運行以下命令來顯示它:
$ echo | openssl s_client -servername howtouselinux.com -connect yourplc.com:443 2>/dev/null | openssl x509
檢查密鑰是否與證書匹配
要驗證公鑰和私鑰是否匹配,您需要從每個文件中提取公鑰併為其生成哈希輸出。所有三個文件應共享相同的公鑰和相同的哈希值。以下是使用 OpenSSL 檢查證書和密鑰詳細信息的方法。以下命令生成每個文件公鑰的哈希值:
openssl pkey -pubout -in privateKey.key | openssl sha256
openssl req -pubkey -in CSR.csr -noout | openssl sha256
openssl x509 -pubkey -in certificate.crt -noout | openssl sha256
檢查誰頒發了 SSL 證書
如果您想檢查 SSL 證書頒發者,請運行下面的命令行。它將向您顯示簽署證書的證書頒發機構。
echo | openssl s_client -servername yourplc.com -connect yourplc.com:443 2>/dev/null | openssl x509 -noout -issuer
檢查 SSL 證書頒發給誰
您還可以檢查 SSL 證書的主題。根據驗證類型,您將只看到通用名稱,或者還會看到官方公司的名稱。
$ echo | openssl s_client -servername .com -connect howtoyourplcuselinux.com:443 2>/dev/null | openssl x509 -noout -subject
在 Linux 中檢查 SSL 證書有效性
瞭解 SSL 證書的到期日期非常重要,這樣您就可以提前續訂並避免潛在的網站中斷和數據泄露。以下是在 Linux 中檢查 SSL 證書到期日期的方法:
$ echo | openssl s_client -servername howtouselinux.com -connect yourplc.com:443 2>/dev/null | openssl x509 -noout -dates
顯示有關 SSL 證書的所有上述信息
您還可以使用 OpenSSL 命令檢查證書頒發者、主題和到期日期,命令如下:
$ echo | openssl s_client -servername howtouselinux.com -connect yourplc.com:443 2>/dev/null | openssl x509 -noout -issuer -subject -dates
如果您的 SSL 連接出現問題,驗證證書的詳細信息是找到罪魁禍首的第一步。在 OpenSSL 中,您可以使用一個很棒的實用程序來執行各種檢查,從檢查證書頒發者到分析技術數據以及查看證書何時到期。OpenSSL 與 Linux 集成,並通過其靈活的命令行提供對 SSL 安裝的控制。