相关疑难解决方法(0)

在Java中选择SSL客户端证书

我们的系统与多个Web服务提供商通信.它们都是从单个Java客户端应用程序调用的.到目前为止,所有Web服务都已通过SSL,但没有一个使用客户端证书.好吧,一个新的合作伙伴正在改变这一点

使应用程序使用证书进行调用很容易; 设置javax.net.ssl.keyStorejavax.net.ssl.keyStorePassword将做到这一点.但是,现在的问题是如何使它在调用特定Web服务时仅使用证书.我想更一般地说,我们希望能够选择要使用的客户端证书(如果有的话).

一个快速的解决方案是设置系统属性,调用方法,然后取消设置.唯一的问题是我们正在处理多线程应用程序,所以现在我们需要处理同步或锁定或者你有什么.

每个服务客户端应该完全相互独立,并且它们被单独打包在单独的JAR中.因此,我发现的一个选项(虽然我们没有对其进行适当的分析)是以某种方式隔离每个JAR,可能在具有不同参数的不同VM下加载每个JAR.这只是一个我不知道如何实现的想法(或者如果可能的话,那就是这个问题.)

这篇文章表明可以从密钥库中选择一个单独的证书,但如何将它附加到请求似乎完全是一个不同的问题.

我们使用的是使用wsimport或生成的Java 1.5,Axis2和客户端类wsdl2java.

java ssl web-services

25
推荐指数
2
解决办法
3万
查看次数

标签 统计

java ×1

ssl ×1

web-services ×1