我有一个 Mule 应用程序,它需要使用 2 种 SSL 身份验证通过 HTTPS 与外部服务器通信。
我的问题是:如何在 Mule 中启用服务器证书验证?看来,默认情况下 Mule 不验证服务器的证书。我正在使用 Mule v 3.3.0。
例如:curl 中的 '-k' 选项禁用服务器的证书验证。
以类似的方式,是否有任何配置参数可以启用/禁用服务器的证书验证?
谢谢 杰
最佳答案
对于 3.6 之前的 Mule 版本,HTTP 传输支持配置 HTTP 出站端点使用的信任库,以确定是否应信任 HTTPS 服务器提供的证书。
要提供包含您需要信任的服务器证书的 keystore ,请提供 <https:tls-server />
到 <https:connector />
,并在您的 <https:outbound-endpoint />
中引用该连接器:
<https:connector name="myHttpsConnector">
<https:tls-server path="truststore.jks" storePassword="supersecure" />
</https:connector>
<flow name="someFlow">
<https:outbound-endpoint host="remote-host" port="443" path="/api" connector-ref="myHttpsConnector" />
</flow>
clare 的回答中链接的博文从服务器端和客户端对此做了一些解释。您也可以引用HTTPS Transport Reference ,尽管它没有解释 tls-server 与 tls-client 的使用。
关于ssl - Mule 2 方式 HTTPS 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29270826/