配置Tomcat以使用cacerts以外的信任存储

时间:2011-03-02 00:59:13

标签: java tomcat ssl https webclient

我在Windows上运行Tomcat 6,并且希望Tomcat使用除cacerts之外的其他信任存储来处理Java客户端Web请求。我尝试添加此设置:

-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时它会被删除。

1 个答案:

答案 0 :(得分: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"

更新:此设置与truststoreFile的{​​{1}}之间的一些评论似乎有些混淆。我创建了一个blog entry来解释问题(非常详细)以及此解决方案如何解决它以及更改server.xml的原因。