2016-06-19 36 views
0

此問題已被問到before,但建議的答案在最新的Java運行時引擎中不起作用。如何在Java 8u91中啓用SSLv3?

如何在Java中啓用SSLv3(以訪問舊制造商決不會更新的舊網站 - 特別是舊服務器中現已停用的Dell DRAC 5卡)?自更新31起,SSLv3已被禁用,但過去可以通過編輯java.security文件重新啓用。

在更新91中,此方法似乎不再適用。有沒有新的方法來做到這一點,還是必須降級到早期版本的Java?

根據要求更新:自更新31起更新的方法是編輯java.security文件(在/ lib/security中)。該文件包含一行

jdk.tls.disabledAlgorithms = SSLv3的...

是用來工作是從該行刪除的SSLv3(或完全註釋掉線)的解決方案。在Java 8更新91中,刪除SSLv3或將其完全註釋掉似乎不再有任何效果。

+0

你是很多更有可能,如果你告訴你_have_做什麼,以使在SSLv3得到幫助。 –

+0

適用於WIndows軟件包(包括32位和64位);我的Linuxes尚未更新。你確定你正在運行已編輯的JRE並獲得特別的'SSLHandshake異常:服務器選擇了SSLv3,但是...未啓用...' –

+0

@ dave_thompson_085有意思。我在Windows和Linux上都遇到了這個問題,然後降級到8u60,然後重複該過程,爲我解決了這個問題。我的症狀略有不同,因爲應用程序只報告「SSL套接字連接失敗」 –

回答

1

我可以在post之後運行這個。我定義的屬性文件,只是jdk.tls.disabledAlgorithms項,確保它不具有的SSLv3像下面

java.sslv3.security

jdk.tls.disabledAlgorithms=RC4, MD5withRSA, DH keySize < 768 

然後如下啓動Java。注意使用=的,因爲這將追加到現有的java.security文件並沒有完全取代它

java -Djava.security.properties=java.sslv3.security SocketProtocols 
Enabled protocols: 
SSLv3 
TLSv1 
TLSv1.1 
TLSv1.2 
+0

非常感謝您的提示!就我而言,應用程序是從嵌入在網頁中的jnlp文件加載的(並且我無法控制網頁,jnlp文件或服務器應用程序),但知道這種技術是很好的。 –