在单个项目中实现单向和双向HTTPS端点时出现证书错误

在单个项目中实现单向和双向HTTPS端点时出现证书错误,https,mule,Https,Mule,我遇到了一个问题,如果我想使用多个出站HTTPS连接-一些需要相互身份验证,一些不需要,不需要双向身份验证的连接将引发错误 最初,当我为要引用的端点配置一个空(即没有密钥存储)HTTPS连接器时,只有单向HTTPS连接可以正常工作。一旦我添加了其他需要双向身份验证的出站HTTPS连接(以及它们自己的关联HTTPS连接器,包括密钥库),我就不能再连接到单向端点;Mule返回错误:“无法找到请求目标的有效认证路径” 以下是单向配置的示例: <https:connector name="empt

我遇到了一个问题,如果我想使用多个出站HTTPS连接-一些需要相互身份验证,一些不需要,不需要双向身份验证的连接将引发错误

最初,当我为要引用的端点配置一个空(即没有密钥存储)HTTPS连接器时,只有单向HTTPS连接可以正常工作。一旦我添加了其他需要双向身份验证的出站HTTPS连接(以及它们自己的关联HTTPS连接器,包括密钥库),我就不能再连接到单向端点;Mule返回错误:“无法找到请求目标的有效认证路径”

以下是单向配置的示例:

<https:connector name="emptyConnector" doc:name="HTTP-HTTPS"/>
<https:outbound-endpoint exchange-pattern="request-response" method="POST" doc:name="HTTP" host="google.com" connector-ref="emptyConnector" port="443"/>

一个用于相互认证:

<https:connector name="HTTP_HTTPS" cookieSpec="netscape" validateConnections="true" sendBufferSize="0" receiveBufferSize="0" receiveBacklog="0" clientSoTimeout="10000" serverSoTimeout="10000" socketSoLinger="0" doc:name="HTTP-HTTPS">
    <https:tls-key-store path="store.jks" storePassword="password" keyPassword="password" keyAlias="keyalias"/>
</https:connector>
<https:outbound-endpoint exchange-pattern="request-response" connector-ref="HTTP_HTTPS" method="GET" doc:name="HTTP" address="https://someservice.com"/>

他们各自都能很好地工作。只有当这两个项目包含在同一个项目中时,我才会看到这个问题。请注意,在单向端点上不使用HTTPS连接器引用将导致它使用配置了密钥库的连接器,这将导致其他证书错误。我注意到两年前在Mulesoft的存档论坛上有一个同样的问题。不幸的是,这一问题仍未解决

附加说明:如果我将站点的CA的公共证书导入密钥库,并将emptyConnector配置为包含它(作为https:tls服务器元素),则连接器可以工作。然而,由于该站点的证书是由合法CA颁发的有效证书,我不认为有必要采取这种变通办法——特别是如果端点最初在没有证书的情况下工作的话

这是一个相当奇怪的问题-有没有人有任何想法或以前见过这个问题