2011-09-04 92 views
2

在我使用的SSL三种不同的连接一个应用程序。他们的 两人已签署的证书,但有我与认证:Java的SSL信任库设置

System.setProperty("javax.net.ssl.trustStore","F:\\eclipse\\terefere\\testkeystore"); 
System.setProperty("javax.net.ssl.trustStorePassword","123456"); 

的问题是 - 如何在连接,以便下一次连接结束摆脱这些设置是使用新的服务器的证书?

+0

可能重复[如何在java SSL客户端应用程序中支持多个TrustStore](http://stackoverflow.com/questions/3674849/how-support-multiple-truststores-in-java-ssl-client-application) –

回答

1

你当然可以记住这些属性的旧值,并在此调用后重新设置。

这虽然引入了竞争条件:如果另一个线程使SSL连接,而这种信任存储已定,它也将使用的不是标准的一个这种信任存储。

更好的办法是使用这个信任存储无需触摸系统属性明确此连接。不过,这是否容易(甚至可能)取决于哪个库正在进行SSL连接。