小编Car*_*los的帖子

在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万
查看次数

在JVM信任库中列出证书

我已经通过系统属性定义了一个自定义信任库:

System.setProperty("javax.net.ssl.trustStore", ...);
System.setProperty("javax.net.ssl.trustStorePassword", ...);
Run Code Online (Sandbox Code Playgroud)

鉴于VM已经负责加载文件,我想列出那些已加载的证书.我不想再次将信任库加载到流中并从那里获取证书,而是希望看到VM已经自己加载的那些.另外,我希望在我自己的应用程序中看到它们,而不是使用单独的工具.我做了一些谷歌搜索,但到目前为止,我一直无法找到这个.

java ssl truststore

5
推荐指数
1
解决办法
7550
查看次数

标签 统计

java ×2

ssl ×2

truststore ×1

web-services ×1