使用 keytool 在服務器上導入證書操作指南(SSL 證書驗證錯誤處理)
一、概述
本文檔用于指導如何在運行 Java 應用程序的服務器上,通過keytool工具將證書導入 Java 信任庫,解決因證書未被信任導致的 SSL/TLS 通信問題(如PKIX path building failed錯誤)。
二、操作步驟
1. 獲取證書文件
需先獲取目標服務器的證書文件(通常為.cer或.crt格式)。若未獲取,可通過以下方式導出:
-
瀏覽器導出:訪問目標 HTTPS 網站 → 點擊地址欄鎖圖標 → 查看證書 → 導出為.cer或.crt格式。
-
OpenSSL 導出(適用于 Linux/macOS):
執行以下命令(將example.com替換為實際域名):
echo -n | openssl s_client -connect example.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > certificate.crt
2. 上傳證書到服務器
將獲取的證書文件(如certificate.crt)上傳至服務器的指定目錄(示例:/tmp/certificate.crt)。
3. 執行 keytool 命令
在服務器上執行以下keytool命令(以 Linux/macOS 為例),將證書導入 Java 信任庫:
keytool -import -alias myserver -keystore $JAVA_HOME/jre/lib/security/cacerts -file /tmp/certificate.crt
參數說明:
-
-alias myserver:為證書設置自定義別名(便于后續識別,可修改,如oa-server)。