我们有一个使用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)
是的,Salesforce连接器会自动使用JDK的默认TLS版本。
但是对于https连接器,您需要向https连接器添加属性:
<https:connector name="https">
<spring:property name="sslType" value="TLSv1.2"/>
</https:connector>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1155 次 |
| 最近记录: |