2008-12-17 78 views

回答

135
# Copy the certificate into the directory Java_home\Jre\Lib\Security 
# Change your directory to Java_home\Jre\Lib\Security> 
# Import the certificate to a trust store. 

keytool -import -alias ca -file somecert.cer -keystore cacerts -storepass changeit [Return] 

Trust this certificate: [Yes] 

的changeit是默認的信任密碼

+0

任何一個知道如何OpenSSL的 – Balamurugan 2011-07-11 08:07:42

+7

做這個命令讓你下載證書到文件namend certfile.txt:OpenSSL的的s_client.First -connect HOSTNAME:端口2>&1 | sed -ne'/ -BEGIN CERTIFICATE - /,/ - END CERTIFICATE-/p'> certfile.txt ---然後使用keytool將其導入您的信任存儲庫 – 2011-09-09 10:09:58

20

而不是使用sed過濾掉證書,還可以管openssl s_client輸出通過openssl x509 -out certfile.txt,例如:

echo "" | openssl s_client -connect my.server.com:443 -showcerts 2>/dev/null | openssl x509 -out certfile.txt 
2

問題是如何將.cer文件導入到信任庫中,但我有一個.crt文件,它我從Firefox導出。

正在搜索互聯網如何將.crt導入到信任存儲區指向此問題。由於我發現如何在信任庫中導入.crt,我也回答了這個問題。

答案是:與.cer文件相同。

順便說一句,你不必把一個別名和密鑰庫的密碼,可以輸入你輸入的命令後:

keytool -v -import -file somefile.crt -alias somecrt -keystore my-cacerts 

最好使用cacerts文件已在你的Java安裝(jre \ lib \ security \ cacerts),因爲它包含已經安全的「流行」證書。關於CER和CRT的差異

更新(只是爲了澄清) 根據Apache with SSL - How to convert CER to CRT certificates?和用戶@Spawnrider

CER是二進制形式的,DER編碼的X.509證書。
CRT是一個二進制X.509證書,封裝在文本(base-64)編碼中。
這是不相同的編碼。

相關問題