2011-03-02 28 views
9

我在Windows上運行Tomcat 6並希望Tomcat使用除cacerts之外的其他信任存儲用於Java客戶端Web請求。在關鍵配置Tomcat以使用除cacerts之外的信任存儲

-Djavax.net.ssl.trustStore="C:\ca.keystore" 

到註冊表:我已經嘗試添加該設置

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\Java 

似乎不是工作,雖然。它仍然使用JRE cacerts商店。我們的Java代碼向HTTPS端點發出了Web請求,並且我想將證書保存在除JRE之外的密鑰存儲區中,因爲在卸載/更新Java時它會被刪除。

+0

考慮到討論,這個問題應該是「配置JRE(我在其中運行Tomcat)[...但只涉及到Tomcat安裝程序而言......]使用其他信任存儲庫比默認「。 – Bruno 2012-01-06 13:31:15

+0

@Bruno否,因爲該解決方案特定於Tomcat。查看註冊表項。 – 2012-01-06 13:32:16

+0

當然,我只是說可以澄清問題(無論如何它都屬於ServerFault),因爲「配置Tomcat」通常是指配置其連接器和容器本身。在這裏你是在一個跨越整個JRE的配置之後。 – Bruno 2012-01-06 13:38:56

回答

11

結果我失蹤了trustStorePassword。這裏是解決方案:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\Java 

-Djavax.net.ssl.trustStore="C:\ca.keystore" 
-Djavax.net.ssl.trustStorePassword="password" 

更新:似乎有一些在這裏什麼之間此設置,並從truststoreFileserver.xml的評論有些混亂。我創建了一個blog entry來解釋這個問題(非常詳細),以及該解決方案如何解決這個問題,以及爲什麼更改server.xml沒有。

+0

EJP的回答是正確的,不是嗎?通常在連接器配置中指定信任庫(及其密碼)(儘管它確實會回落到全局'javax.net.ssl.trustStore *'設置)。 – Bruno 2012-01-06 12:44:51

+0

@Bruno不,不在server.xml中。這必須完成註冊表!這兩個用於不同的目的。這是針對JVM的。 – 2012-01-06 13:25:52

+0

啊,你的問題有點混亂。標題和開始討論的是Tomcat,最後你只提到你的應用程序實際上是一個客戶端(就信任存儲庫而言)。 – Bruno 2012-01-06 13:29:31

相關問題