2011-09-04 68 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連接。