2017-10-20 120 views
2

我已經爲/ etc/pki/ca-trust/source/anchors添加了一個crt,以便服務器證書可以被ssl客戶端信任。所以,例如,當我curl https://<server>證書是自動信任的。java trust unix證書存儲

有沒有什麼辦法讓java應用程序信任安裝在系統上的證書?

是否只有在將java證書添加到jvm信任庫中才能使其生效的唯一方法是?

Regards

回答

1

我不知道任何開箱即用的解決方案。我覺得有很多種方式來達到自己的目標:

  1. 寫一個類來同步你定義的信任存儲和證書目錄
  2. 寫它是基於證書目錄中的自己TrustManager實現
0

將它導入到您的JRE中的cacerts文件中,如果有的話將它導入到JDK中。

+2

_「是唯一方式使它在java中添加證書到jvm truststore?「_ – asbachb

0

導入在CACERT文件中的證書


下面是路徑
C:\ Program Files文件(x86)的\的Java \ jre1.8.0_121 \ BIN

使用此代碼導入(假設你的* .CER文件名是abc.cer,你需要粘貼在bin文件夾中的文件abc.cer然後用箱的CMD相同的路徑運行下面的代碼)
keytool -import -file abc.cer -alias anyName -keysotre cacert -trustcacerts

+0

OP使用Unix。 –

+0

@KlitosKyriacou感謝您的更新,在這種情況下,他/她需要使用OpenSSL並將環境變量設置爲特定路徑。代碼保持不變 – rodriguesf53

+0

他們每次升級JRE或JDK時都需要運行'keytool'嗎?這是OP明顯想要避免的。 – DodgyCodeException