我有一个包含很多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客户端。
答案 0 :(得分:1)
我对Axis不太熟悉,但是应该有一种方法可以在Axis中为您的Web服务调用使用的HTTP客户端配置密钥库或信任库。
在Tomcat级别配置密钥库是不可取的,正如您已经发现的那样。