在Coldfusion中启用TLSv1.2

时间:2014-11-25 21:37:42

标签: java apache tomcat ssl coldfusion

我目前正在寻找一种在Coldfusion java jre中启用TLSv1.1,TLSv1.2而不是TLSv1(.0)的方法。我正在运行Java 7 jre。

管理员认为tlsv1不再足够安全,而且由于SSL2 / SSL3的问题/漏洞,我被迫使用TLSv1.1或TLSv1.2。

我已经遵循了多个建议,例如使用http.protocol = TLSv1.2,这对SSLContext.getInstance(“TLSv1.2”)无效。但是,由于调用是在coldfusion中,我似乎无法找到一种方法来执行getInstance或setEnabledProtocols方法,因为我无法访问cfobject / cfinvoke方法调用的java后端。

我已经尝试通过Java控制面板默认将它们设置为on,但是看起来这些设置似乎不在applet之外使用。

如果我遗失了什么,请告诉我。如果不可能的话,我确信我可以编写一个Java项目来处理这个问题,但我想首先用尽所有可能的解决方案。

谢谢

2 个答案:

答案 0 :(得分:1)

尝试将此开关添加到/runtime/bin/jvm.config文件中的Java args(此文件的位置可能因CF安装的类型而异)。

-Djavax.net.debug=all 

然后检查输出日志(标准安装的运行时/日志中的cfusion-out.log),以获取有关每次握手(传出)的信息。您可能会在那里看到一些线索,并能够确定来自服务器的SSL连接达到了哪个协议/级别的TLS。 diagnosing TLS上的这个链接也有一些有用的花絮 - 尽管你必须弄清楚它们如何转化为ColdFusion。

请注意,CPL for Java对您来说没用。 JVM以它自己的配置文件启动,详细说明它能够和不能支持的内容。 CPL将设置由Java客户端(桌面上的应用程序)使用的标准INI文件,但CF作为服务实例运行,不会使用该信息。我甚至不确定它存储在哪里:)

答案 1 :(得分:0)

解决方案是用Java 8替换Java 7. Java 8启用了所需的协议并自动设置为默认值。