CXF客户端的WS-SecurityPolicy配置

WS-SecurityPolicy configuration of CXF client

问题:CXF 能否根据 WS-SecurityPolicy 文件自动为客户端配置 WS-Security?

如果是这样,是否有实际这样做的文档?我花了几个小时查看 CXF 站点并进行搜索但没有找到答案。

CXF documentation表示"CXF 2.2 introduced support for using WS-SecurityPolicy to configure WSS4J instead of the custom configuration documented on the WS-Security page",也表示"In CXF 2.2, if the cxf-rt-ws-policy and cxf-rt-ws-security modules are available on the classpath, the WS-SecurityPolicy stuff is automatically enabled." 最后,还有一个可能需要配置的属性列表(密钥库位置等)。所有这些我都明白,但文档实际上并没有解释启用 WS-SecurityPolicy 的作用。它只是用于策略生成,还是实际上有助于配置客户端?


我问的原因是我正在开发一个应用程序,该应用程序通过 Camel 使用 CXF(JAX-WS 前端)来使用受 WS-Security 保护的 SOAP 服务。由于我们应用程序的现有结构,我一直在尝试使用 WSS4J 拦截器配置客户端,但在实际实现他们所描述的内容时遇到了困难。

经过几天的努力,提供商提到他们有一个可以发送给我的 WS-SecurityPolicy 文件(他们为什么不提前提到这个是个谜)。既然我有了他们的政策,我真的很想找出一种代码驱动程度较低的安全配置方式。

拥有 WS-SecurityPolicy 可为客户端配置 "most" 安全要求。您仍然需要指定 JAX-WS 属性来配置用户、密码、密钥等。我建议您查看 CXF 源代码并查看 systests/ws-security-examples 测试。