如何在 Tomcat 8 和 Java 8 中重新启用 SSLv3
How to re-enable SSLv3 in Tomcat 8 and Java 8
将嵌入式 Tomcat 8 与 Java 8 一起使用,我无法重新启用 SSLv3 协议。我无法通过 Internet 选项 -> 选中 SSLv3 和所有其他(SSLv2、TLS1.0、TLS1.1、TLS1.2)未选中的高级设置来访问 Web 应用程序。我试过像这样设置 SSL 协议:
httpsConnector.setAttribute("sslProtocol", "SSLv3");
我也试过像这样设置 SSL 协议:
httpsConnector.setAttribute("sslEnabledProtocols", "SSLv3");
我还将此行添加到 deployment.properties 文件以在 JRE 8 中启用 SSLv3
deployment.security.SSLv3=true
最近的 JRE 禁用了 SSLv3,这是正确的:此时应该避免它是一个损坏的协议。但是,某些环境绝对需要支持 SSLv3,并且可以做到。
首先,您永远不应该禁用 TLSv1、TLSv1.1 和 TLSv1.2 等更高级别的协议。相反,将 SSLv3 添加到这些协议中,以便具有更好安全性的客户端仍然可以使用更高级别的协议。
为了在 JVM 中重新启用 SSLv3,您需要设置此系统 属性,可能在 JVM 启动时:
-Djdk.tls.disabledAlgorithms=
(注意这里没有值。)
您还需要做与上面已经完成的相同类型的事情,即设置 sslEnabledProtocols
和 sslProtocol
,但是,再次强调,请不要禁用更高级别的协议.
更新 2017-06-21
对于 Tomcat 8.5 和 9.0,SSLv3
已被硬编码为禁用并且需要源补丁并重新构建才能重新启用它,至少要通过 Tomcat 8.5.15 和 Tomcat 9.0.0.M21。目前有一些关于在 Tomcat 8.5 和 9.0 中取消该禁令的讨论。
更新 2017-06-22
SSLv3
将不再被列入黑名单 Tomcat 8.5.17 and Tomcat 9.0.0.MR23。
将嵌入式 Tomcat 8 与 Java 8 一起使用,我无法重新启用 SSLv3 协议。我无法通过 Internet 选项 -> 选中 SSLv3 和所有其他(SSLv2、TLS1.0、TLS1.1、TLS1.2)未选中的高级设置来访问 Web 应用程序。我试过像这样设置 SSL 协议:
httpsConnector.setAttribute("sslProtocol", "SSLv3");
我也试过像这样设置 SSL 协议:
httpsConnector.setAttribute("sslEnabledProtocols", "SSLv3");
我还将此行添加到 deployment.properties 文件以在 JRE 8 中启用 SSLv3
deployment.security.SSLv3=true
最近的 JRE 禁用了 SSLv3,这是正确的:此时应该避免它是一个损坏的协议。但是,某些环境绝对需要支持 SSLv3,并且可以做到。
首先,您永远不应该禁用 TLSv1、TLSv1.1 和 TLSv1.2 等更高级别的协议。相反,将 SSLv3 添加到这些协议中,以便具有更好安全性的客户端仍然可以使用更高级别的协议。
为了在 JVM 中重新启用 SSLv3,您需要设置此系统 属性,可能在 JVM 启动时:
-Djdk.tls.disabledAlgorithms=
(注意这里没有值。)
您还需要做与上面已经完成的相同类型的事情,即设置 sslEnabledProtocols
和 sslProtocol
,但是,再次强调,请不要禁用更高级别的协议.
更新 2017-06-21
对于 Tomcat 8.5 和 9.0,SSLv3
已被硬编码为禁用并且需要源补丁并重新构建才能重新启用它,至少要通过 Tomcat 8.5.15 和 Tomcat 9.0.0.M21。目前有一些关于在 Tomcat 8.5 和 9.0 中取消该禁令的讨论。
更新 2017-06-22
SSLv3
将不再被列入黑名单 Tomcat 8.5.17 and Tomcat 9.0.0.MR23。