Java 1.6和TLS 1.1

时间:2016-07-12 19:32:34

标签: java ssl https

(注意:这与this question

有关

我们知道,通过非自由Java 1.6_111更新,Java 1.6可以通过HTTPS支持TLS 1.1。我的问题是:我应该用Java 6 111 编译我的程序,还是只使用带有-Dhttps.protocols = TLSv1.1开关的java 6 111?

注意:我已尝试过后者,但似乎没有用。

感谢。

1 个答案:

答案 0 :(得分:1)

您的代码(包括您调用的库)是否直接使用new URL("https://xxx").connect()和NOT SSLSocketSSLEngine之类的内容?只有前者使用https.属性。

如果使用JSSE级别,我不支付扩展支持,因此没有代码(或源代码,无论如何IIRC的IIRC都不包括加密),但the release notes只讨论选择通过显式调用.setEnabledProtocols(在代码中)。 release notes for 115 b32另外说

  

新的jdk.tls.client.protocols系统属性也可用于控制用于TLS连接的协议。 (JDK-8151183)

和'new'表示这在111中不起作用,但你可以试试。

如果您确实更改代码以调用.setEnabledProtocols方法本身已经存在,则只更改参数值,因此您可以编译对任何JDK6并在6u111上运行。 (但是如果你在编译系统上进行单元测试和/或调试,那么你可能需要6u111。)