通过配置在Java 6中启用TLS1.1
我们运行一个使用Java6的遗留应用程序。最近,我们的合作伙伴通知我们,他们将放弃对早于TLS 1.1的TLS版本的支持。 这意味着升级后,我们与这些合作伙伴的出站HTTPS连接将停止工作 这个应用程序很大,升级到较新版本的JDK是我们现在负担不起的 我们尝试使用从Oracle站点(jdk-6u113)的受限部分下载的Java6的最新非公开版本。尽管本版本Java 6的发行说明中说TLS1.1可用,但它并不是开箱即用的,其中没有说明如何通过更改配置来启用它,并且尝试建立到不支持TLS1.1之前版本的端点的连接会导致通过配置在Java 6中启用TLS1.1,java,security,ssl,jdk1.6,Java,Security,Ssl,Jdk1.6,我们运行一个使用Java6的遗留应用程序。最近,我们的合作伙伴通知我们,他们将放弃对早于TLS 1.1的TLS版本的支持。 这意味着升级后,我们与这些合作伙伴的出站HTTPS连接将停止工作 这个应用程序很大,升级到较新版本的JDK是我们现在负担不起的 我们尝试使用从Oracle站点(jdk-6u113)的受限部分下载的Java6的最新非公开版本。尽管本版本Java 6的发行说明中说TLS1.1可用,但它并不是开箱即用的,其中没有说明如何通过更改配置来启用它,并且尝试建立到不支持TLS1.1之前版
SSLHandshakeException
现在我正在尝试启用TLS1.1。到目前为止,我已经尝试了两种不同的选择:
- 将属性
添加到 运行java的用户的.java文件夹中的deployment.properties文件deployment.security.TLSv1.1=true
- 将
系统属性包含到 java命令行-Ddeployment.security.TLSv1.1=true
deployment.security.TLSv1.1
属性仅由Java的never版本使用
请有人告诉我如何通过更改配置来启用TLS1.1
还需要指出的是,所讨论的应用程序相当大,为了启用TLS 1.1而对代码进行更改是我们希望避免的事情。即使应用程序是用Java 6编写的,您也应该能够使用JRE 8运行它(至少在理论上)。你试过了吗?这个应用程序很大,运行在JBoss5上,使用了许多我们知道与Java8不兼容的旧组件。我们没有考虑升级JDKOne选项可能是使用不同的JCE提供程序,例如与jdk6一起使用;这就是我在没有关于如何通过配置启用TLS1.1的想法之后要尝试的。