2017-05-30 30 views
0

我希望啓用TLSv1.2作爲jdk7中客戶端的默認協議。我可以看到java 7支持TLS v1.1,1.2,但默認啓用的是TLSv1.0。在JDK 7中啓用TLSv1.2作爲默認設置

我已經經歷了一些像this one here這樣的帖子,它說客戶端應用程序必須在啓動腳本中指定他們想要使用哪種安全協議,或者其他方式是通過java編程。

那麼有什麼方法可以將默認啓用的協議轉換爲TLSv1.2因此,在所有運行的客戶端應用程序中都不需要chnage。

如果您在投票之前需要其他詳細信息,請告訴我。我已經足夠搜索,但無法找到解決方案。

這是我們用來啓動SSL連接的代碼。

//create the SSLContext with your key manager and trust 
//manager, and get your socket factory from the context: 
SSLContext ctx = SSLContext.getInstance("SSL"); 
ctx.init(km, tm, null); 
SSLSocketFactory factory = ctx.getSocketFactory(); 

感謝, 尼基爾

+0

切入點在JDK啓用TLSv1.2工作是一個廣義的術語。你可以在你的帖子中添加代碼來啓動SSL連接嗎?還有,你如何啓動你的客戶端應用程序? (如果您的客戶端直接與服務器通話並且您沒有控制器通過服務器),那麼無法將這種代碼魔法放入正在運行的應用程序中(無需重新啓動) –

+0

@JigarJoshi感謝您的回覆。我添加了代碼。客戶端應用程序部署在weblogic託管服務器上,以便重新啓動應用程序時重新啓動託管服務器。 –

+0

看起來像https://superuser.com/questions/747377/enable-tls-1-1-and-1-2-for-clients-on-java-7的副本 – eis

回答

1

改成這樣在你的主要

SSLContext sslContext = SSLContext.getInstance("TLSv1.2"); 
    sslContext.init(null, null, null); 
    SSLContext.setDefault(sslContext); 
+0

如果您使用SSLSocketConnection,我們不能將java的默認值設置爲TLSv1.2 –

+0

對於JDK 7,我不知道其他方式來處理它。除了創建一個不適合你的SSL代理 –

相關問題