我在Windows上运行Tomcat 6,并希望Tomcat对Java客户端Web请求使用除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时会删除证书。
原来我不见了trustStorePassword。解决方法如下:
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的server.xml事情。我创建了一个博客条目来详细解释该问题,以及该解决方案如何解决该问题以及为何更改server.xml没有解决。
truststoreFile
server.xml