https - 在 Mule 3.5 中为 HTTPS 设置 TLS 1.2

标签 https mule tls1.2

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

我们已升级到最新的 Java 8 (8u112)。
我们修改了 mule 的 tls-default.conf 以包含以下内容:

enabledProtocols=SSLv2Hello,
                 TLSv1.1
                 TLSv1.2

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

No appropriate protocol (protocol is disabled or cipher suites are inappropriate) (javax.net.ssl.SSLHandshakeException)



有没有办法让 Mule 3.5 的 https 连接器将 TLS 1.1 或 1.2 用于 HTTPS?

我们的应用程序还使用了 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

最佳答案

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

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

<https:connector name="https">
    <spring:property name="sslType" value="TLSv1.2"/>
</https:connector>

关于https - 在 Mule 3.5 中为 HTTPS 设置 TLS 1.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40278083/

相关文章:

nginx - ERR_EMPTY_RESPONSE 与 Ghost 0.7.5、Nginx 1.9、HTTPS 和 HTTP/2

tomcat - 如何使用 Apache cxf/jaxrs 拒绝非 https 请求

file - 如何在 Mule 中设置文件的系统修改日期

.net - 如何测试我的 .NET 客户端正在使用哪个版本的 TLS?

macos - 如何使用 OS X 的 "security add-trusted-cert"命令为证书指定策略约束? (用于 SSL 网络套接字连接)

linux - Linux 中的 Charles 代理 HTTPS

javascript - Mulesoft 项目使用react

java - 无法从 jar 文件访问 xsl 文件 (Mule)

c# - 从已建立的 SqlConnection 确定 TLS 版本

ios - 尝试在 UIWebView 内的 iframe 中加载 TLSv1.2 站点时出现 SSL 错误