使用基于 HTTPS 的基本身份验证的 Camel CXF 消费者

Camel CXF consumer using basic authentication over HTTPS

我正在尝试研究如何将 CXF 消费者配置为使用 https,但使用基本身份验证。

我想我们需要使用 httpj:engine-factory 附加我们的证书,但每当我尝试这样做时,服务器都会生成以下错误:

javax.net.ssl.SSLHandshakeException: null cert chain

编辑:我相信正在发生的事情是服务器正在请求客户端证书,但客户端没有发送证书。对于 "One Directional" SLL,我认为服务器不应该向客户端请求证书。

如何防止服务器请求客户端证书?

非常感谢任何帮助。

您需要在 JVM 信任库中安装证书。请通过下面link: How to solve javax.net.ssl.SSLHandshakeException Error?

原来很简单。在 httpj:engine-factory 中,有一个用于客户端身份验证的设置。

 <sec:clientAuthentication want="false" required="false"/>

这控制服务器是否向客户端请求证书。我从使用双向 SSL 的示例中复制了这个,并将这些值设置为 true。