2016-08-12 149 views
0

我需要測試我們的nginx新的SSL連接握手性能,所以我們需要禁用客戶端或服務器端的ssl恢復功能。如何禁用Java的SSL會話恢復

它很容易在nginx端實現,就在會話緩存和會話票據的旁邊,但是每次當我想測試產品的性能時,我都必須禁用令人討厭的功能。

所以另一種方法是在客戶端禁用會話恢復,而我們的基準測試程序是由Java編寫的。我們發現適當的方法是SSLContext的setSessionCacheSize和setSessionTimeout函數,但是如果該值設置爲0,那麼我發現所有的ssl連接都被重用,所以我必須將它設置爲1,這會導致90%的連接恢復我的測試。

所以我的問題是如何在與服務器建立SSL連接時禁用Java JDK 8中的ssl會話恢復。

回答

1
  1. 從插座獲取SSLSession
  2. 致電SSLSession.invalidate()
+0

然後怎麼用這個socket使用httpclient? –

+0

我不知道。我沒有看到你的問題中提到了'HttpClient'。你以某種方式掌握了'SSLSessionContext':如果你可以這樣做,你當然可以獲得'SSLSocket'。 – EJP