在tomcat中为每个webapp使用不同的密钥库(一个JVM)

时间:2013-05-14 19:19:08

标签: java tomcat ssl keystore truststore

我有一个包含很多webapps的tomcat实例。其中一些需要自己的独立密钥库来通过 SSL 调用外部Web服务。到目前为止,我发现使用提供的密钥库的唯一方法是使用:

System.setProperty("javax.net.ssl.trustStore", "mykeystore.jks");
System.setProperty("javax.net.ssl.trustStorePassword","mypwd");

但是这种方式的问题是系统属性的范围是每个java进程,(tomcat为所有webapp共享相同的JVM),这会影响所有其他webapps。正确?

如何在tomcat实例中为每个webapp使用特定的密钥库,并将其限制为特定的Web Service调用?

我正在使用Axis(1)WS客户端。

1 个答案:

答案 0 :(得分:1)

我对Axis不太熟悉,但是应该有一种方法可以在Axis中为您的Web服务调用使用的HTTP客户端配置密钥库或信任库。

在Tomcat级别配置密钥库是不可取的,正如您已经发现的那样。