gpt4 book ai didi

ssl - Mule cxf :outbound-endpoint (client) and HTTPS/SSL 问题

转载 作者:太空宇宙 更新时间:2023-11-03 13:29:46 25 4
gpt4 key购买 nike

我在配置 Mule 2.2 中的 CXF 传输以使用 HTTPS/SSL 在公开的服务上调用 WS 方法时遇到了一个小问题。使用纯 HTTP 调用相同的方法工作正常。我在这个问题上进行了很多搜索,发现了以下链接:

http://www.mulesoft.org/documentation/display/MULE2CB/Using+HTTPS+with+CXF

这很有帮助,但还有一些我不完全理解的事情:

  • CXF 端点配置如下:,即它位于 cxf 命名空间中。 cxf-命名空间是否与用于配置链接中所述的 https-命名空间有任何关系?

  • 更令人困惑的是,Mule 的东西是我从以前的开发人员那里接手的,据说它按原样通过 SSL 工作,但在 Mule 配置文件中我找不到任何 https 的踪迹:连接器配置。从链接中的信息来看,我的印象是它是强制性的,至少是“服务器 keystore ”和“信任库”,例如:

    <https:connector name="myHttpsConnector">
    <https:tls-key-store path="serverKeystore" keyPassword="mulepassword"
    storePassword="mulepassword"/>
    <https:tls-server path="trustStore" storePassword="mulepassword"/>
    </https:connector>

当我尝试连接到支持 HTTPS 的 WS 时,我在 Mule 日志中得到的内容如下所示,它显然与 SSL key 相关,但我错过了最后一段以使其全部到位。非常感谢对此事的任何帮助和评论。

/奥拉

********************************************************************************
Message : Failed to invoke lifecycle phase "initialise" on object:
HttpsConnector{this=a7769e, started=false, initialised=false,
name='connector.https.0', disposed=false, numberOfConcurrentTransactedReceivers=4,
createMultipleTransactedReceivers=true, connected=false, supportedProtocols=[https],
serviceOverrides=null}
Type : org.mule.api.lifecycle.LifecycleException
Code : MULE_ERROR-70228
JavaDoc : http://www.mulesource.org/docs/site/current2/apidocs/org/mule/api/lifecycle/LifecycleException.html
********************************************************************************
Exception stack is:
1. The Key password cannot be null (java.lang.IllegalArgumentException)
org.mule.api.security.tls.TlsConfiguration:290 (null)
2. Failed to invoke lifecycle phase "initialise" on object:
HttpsConnector{this=a7769e, started=false, initialised=false,
name='connector.https.0', disposed=false, numberOfConcurrentTransactedReceivers=4,
createMultipleTransactedReceivers=true, connected=false, supportedProtocols=[https],
serviceOverrides=null} (org.mule.api.lifecycle.LifecycleException)
org.mule.lifecycle.DefaultLifecyclePhase:277 (http://www.mulesource.org/docs/site
/current2/apidocs/org/mule/api/lifecycle/LifecycleException.html)
********************************************************************************
Root Exception stack trace:
java.lang.IllegalArgumentException: The Key password cannot be null
at
org.mule.api.security.tls.TlsConfiguration.assertNotNull(TlsConfiguration.java:290)
at org.mule.api.security.tls.TlsConfiguration.validate(TlsConfiguration.java:208)
...
..

最佳答案

如果没有 Mule https:connector,则可能意味着外部服务正在执行 SSL 部分(如 JBoss 服务器)。不过,我自己没有这样做的经验。

但是如果一切都通过 Mule 完成,您还需要设置客户端属性(如您提到的链接中所述):

<https:tls-client path="clientKeystore" storePassword="mulepassword" />

并回顾一下各种 key 存储(可能会造成混淆):

  • clientKeyStore 包含您客户的 key
  • serverKeyStore 包含您服务器的 key
  • trustStore 包含所有对等方的公钥,即连接到您的服务器的客户端的 key 、任何外部服务器的 key (例如您尝试连接的 ws)

但是您收到的错误消息表明缺少 key 密码。如果您已正确设置 key 存储和 https 连接器,则不应发生这种情况。

关于ssl - Mule cxf :outbound-endpoint (client) and HTTPS/SSL 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4035819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com