关于贵宾狗漏洞,如果我理解正确的话,它需要一个客户端,当无法使用服务器通告的更高版本的协议与服务器建立安全通道时,客户端会自动将TLS协议降级为SSLv3。
常见的java HTTP客户端库,特别是javax.net.ssl.HttpsURLConnection和Apache HttpClient,是否在与服务器建立TLS会话失败时自动降级TLS协议?如果不是,我认为它们对贵宾犬攻击免疫是正确的,除非(a)服务器只支持SSLv3,或者(b)更高级别的逻辑执行降级?
我正在寻找类似于http://blog.hagander.net/archives/222-A-few-short-notes-about-PostgreSQL-and-POODLE.html的东西,但它是为Java客户端准备的。
发布于 2014-10-27 05:41:57
如果使用https,则必须在java客户端上禁用SSL 3.0版。
这可以通过在java 6/7上添加以下属性来实现:
-Dhttps.protocols="TLSv1“
对于Java 8:
-Dhttps.protocols="TLSv1,TLSv1.1,TLSv1.2“
-Djdk.tls.client.protocols="TLSv1,TLSv1.1,TLSv1.2“
来源:http://www.oracle.com/technetwork/java/javase/documentation/cve-2014-3566-2342133.html
发布于 2015-02-09 23:39:17
在花了相当长的时间试图弄清楚为什么在将-Dhttps.protocols=设置为“TLSv1”的情况下仍然使用TLSv1.2之后,我们终于找到了这篇文章。神奇的标志确实是-Djdk.tls.client.protocols="TLSv1“,我们的Apache Axis1.4客户端再次工作。因此,如果您从Java7迁移到Java8,您可能需要添加此标志,因为在Java8之前使用TLSv1作为缺省设置,而Java8使用TLSv1.2
谢谢!
https://stackoverflow.com/questions/26429751
复制相似问题