在Mule 3.5中为HTTPS设置TLS 1.2

Erg*_*wun 5 https mule tls1.2

我们有一个使用Mule独立版3.5(我知道...)的应用程序,需要强制它为HTTPS使用TLS 1.1或1.2。

我们已经升级到最新的Java 8(8u112)。我们已经修改了m子的tls-default.conf,使其包括以下内容:

enabledProtocols=SSLv2Hello,
                 TLSv1.1
                 TLSv1.2
Run Code Online (Sandbox Code Playgroud)

我们的HTTPS GET请求导致以下异常:

没有适当的协议(已禁用协议或密码套件不合适)(javax.net.ssl.SSLHandshakeException)

无论如何,有没有让Mule 3.5的https连接器对HTTPS使用TLS 1.1或1.2?

我们的应用程序还使用了Salesforce连接器<sfdc:...>,该连接器在Java升级和配置更改后可以使用TLS 1.2正常工作。

请注意,Mule 3.5仍然具有单独的HTTPS连接器(不是3.6中引入的HTTP / HTTPS组合连接器)。

我们打算避免升级到Mule的较新版本,因为无论如何我们打算在不久的将来替换对Mule的使用,并且我们对升级的调查并不表明这会很容易。

更新

除了在Ryan Carter的答案中使用该修复程序之外,我还必须通过转义换行符来修复tls-default.conf中的错误:

enabledProtocols=SSLv2Hello, \
                 TLSv1.1     \
                 TLSv1.2
Run Code Online (Sandbox Code Playgroud)

Rya*_*ter 5

是的,Salesforce连接器会自动使用JDK的默认TLS版本。

但是对于https连接器,您需要向https连接器添加属性:

<https:connector name="https">
    <spring:property name="sslType" value="TLSv1.2"/>
</https:connector>
Run Code Online (Sandbox Code Playgroud)