2011-05-25 70 views
2

我還沒有設置java_home,我需要知道c:\Windows\System32\java.exe文件指向的位置。 我的系統上有幾個JDK和JRE。c: Windows System32 java.exe默認證書存儲位置?

的原因是,我試圖通過SSL連接到某個服務器,它後,我工作在Netbeans的出口在適當的JRE的證書(我可以通過Netbeans的選項見)

但是,當我連接通過命令行,我得到一個SSL錯誤。我嘗試將證書添加到所有JRE中,但是我無法使其正常工作。我認爲這個Windows快捷方式指向我忽略的某個地方是一個問題。

有沒有簡單的方法來找出哪個JRE是默認的?

[編輯]或者,我需要找到缺省JRE中默認密鑰庫的位置。

[編輯]我的問題闡述如下:

以下兩種給予SSL錯誤:

"c:\Program Files\Java\jre6\bin\java.exe" -cp myjar.jar mypackage.myclass 
"c:\Program Files (x86)\Java\jre6\bin\java.exe" -cp myjar.jar mypackage.myclass 

以下兩個工作

"c:\Program Files\Java\jdk1.6.0_24\bin\bin\java.exe" -cp myjar.jar mypackage.myclass 
"c:\Program Files (x86)\jdk1.6.0_24\bin\jre6\bin\java.exe" -cp myjar.jar mypackage.myclass 

我已出口使用所有四個證書命令:

"c:\Program Files\Java\jdk1.6.0_24\bin\bin\keytool.exe" -import -alias myalias -file mycertfile 
"c:\Program Files (x86)\Java\jdk1.6.0_24\bin\bin\keytool.exe" -import -alias myalias -file mycertfile 
"c:\Program Files\Java\jre6\bin\bin\keytool.exe" -import -alias myalias -file mycertfile 
"c:\Program Files (x86)\Java\jre6\bin\bin\keytool.exe" -import -alias myalias -file mycertfile 

因此,keytool似乎使用與java.exe不同的商店。

希望能對此有所幫助。

+0

'java的-version'。 – khachik 2011-05-25 19:49:45

+1

這也可能是一個問題:c:\ Windows – 2011-05-25 19:57:55

+0

也許你是64位和32位Java版本有點混合起來? – Rekin 2011-05-25 20:26:38

回答

5

我找到了解決辦法。感謝this link

它提到了密鑰庫的位置。令人驚訝的是,它花了一些谷歌搜索。

位置是jre6\lib\security\cacerts

,所以我不得不使用以下命令導入證書:

keytool.exe -import -alias myalias -file mycertfile -keystore "c:\Program Files\Java\jre6\lib\security\cacerts" 
+0

嗨Jus12,我執行了上述命令,但我收到了一個錯誤消息,如「keytool錯誤:java.io.FileNotFoundException:C:\ Program Files \ Java \ jre1.8.0_77 \ lib \ security \ mycertfile.cer找不到指定的文件)「即使我有cer文件在同一個安全文件夾中。任何想法? – 2017-12-23 19:29:17