由於Poodle攻擊,現在建議爲客戶端和服務器應用程序禁用SSLv3,並且只允許TLS 1.0 -TLS 1.2連接。是否可以爲所有Java應用程序禁用SSLv3?
有沒有辦法在計算機上禁用所有基於Java的應用程序(服務器和客戶端)的SSLv3,而無需修改每個Java程序?
可能有可能更改JRE的配置或使用特殊的環境變量。
有沒有人知道這樣的方式?
由於Poodle攻擊,現在建議爲客戶端和服務器應用程序禁用SSLv3,並且只允許TLS 1.0 -TLS 1.2連接。是否可以爲所有Java應用程序禁用SSLv3?
有沒有辦法在計算機上禁用所有基於Java的應用程序(服務器和客戶端)的SSLv3,而無需修改每個Java程序?
可能有可能更改JRE的配置或使用特殊的環境變量。
有沒有人知道這樣的方式?
看看http://www.oracle.com/technetwork/java/javase/overview/tlsreadme-141115.html
相關部分:
重新談判可以重新啓用那些由之前的新系統屬性sun.security.ssl.allowUnsafeRenegotiation設置爲true需要它的應用程序JSSE庫被初始化。有幾種方法來設置該屬性: 命令行: %的Java -Dsun.security.ssl.allowUnsafeRenegotiation =真正的主 Java控制面板(Java插件/ Java Web Start的) - 運行時環境。 在應用程序內: java.lang.System.setProperty(「sun.security.ssl.allowUnsafeRenegotiation」,true); 請注意,除非客戶端和服務器已啓用重新協商,否則不會發生TLS/SSL重新協商。
它解釋了問題和修復。
對於使用java.net包,你可以嘗試使用環境變量_JAVA_OPTIONS
設置系統屬性https.protocols
HTTPS的連接:
_JAVA_OPTIONS=-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
應該只啓用了以上協議。請注意,在Java 7之前,受支持的最大版本是TLSv1。
此解決方案不會影響任何其他SSL連接或http連接,例如, apache-http連接器。
這隻會影響Java **客戶端**。檢查[這裏](https://blogs.oracle.com/java-platform-group/diagnosing-tls,-ssl,-and-https) – BonanzaOne 2017-11-06 14:37:59
您還沒有指定的Java版本,因爲下面的Java 8是沒有辦法禁止或禁用特定SSL協議,但在Java中8,您可以設置啓用協議,如以下
靜:
% java -Djdk.tls.client.protocols="TLSv1,TLSv1.1,TLSv1.2" MyApp
動態:
java.lang.System.setProperty("jdk.tls.client.protocols", "TLSv1,TLSv1.1,TLSv1.2");
如果你還在使用Java 7或以下嘗試用變通解釋Instructions to disable SSL v3.0 in Oracle JDK and JRE
我只是執行下面的代碼段不允許SSLv3和SSLv2Hello我們的Java6應用之一。
if(disabledSSLProtocols != null) {
String[] protocols = sslEngine.getEnabledProtocols();
List<String> protocolList = new ArrayList<String>();
for (String s : protocols) {
if (disabledSSLProtocols.contains(s)) {
log4j.info("{} protocol is disabled", s);
continue;
}
log4j.info("{} protocol is enabled", s);
protocolList.add(s);
}
sslEngine.setEnabledProtocols(protocolList.toArray(new String[0]));
}
凡disabledSSLProtocols
與SSLv3,SSLv2Hello
這隻會影響Java **客戶**。檢查[這裏](https://blogs.oracle.com/java-platform-group/diagnosing-tls,-ssl,-and-https) – BonanzaOne 2017-11-06 14:37:48
初始化現在可以修補的Java的Oracle。 http://www.oracle.com/technetwork/java/javase/documentation/cve-2014-3566-2342133.html
[Java的HTTP客戶端和獅子狗]的可能重複(http://stackoverflow.com/questions/26429751/java-http-clients-and-poodle) – 2014-12-08 14:04:12