2

在一个应用程序中,我通过 SSL 使用三个不同的连接。其中两个已签署证书,但一个我正在验证:

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

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

4

1 回答 1

1

您当然可以记住这些属性的旧值并在调用后重新设置它们。

但是,这会引入竞争条件:如果另一个线程在设置此信任库时建立 SSL 连接,它也将使用此信任库而不是标准信任库。

最好将此信任库专门用于此连接,而无需触及系统属性。不过,这是否容易(甚至可能)取决于建立 SSL 连接的库。

于 2011-09-04T13:00:26.243 回答