我使用cxf codegen生成了存根和绑定。一切运行正常,但由于安全问题,服务器仍拒绝该消息。基本上我有3层需要注意,所有这些都需要证书(我有)。
为了使汤更有趣,我对实际的签名和证书没有完全的控制权。基本上我必须提取正确的数据,将其发送给签名,我必须在事务中重新注入已签名的数据。
我有权访问的证书位于本地计算机的Windows证书存储区(SSL和某些签名)
阅读文档框架似乎很大程度上依赖于配置伏都教魔法。不幸的是,我发现的大部分链接都花了很多时间详细解释如何生成证书,但我们对如何实际使用它们感到吝啬。
使用CXF我该如何实现?
如何访问正确的挂钩以及我可以在消息上注入签名的代码?
由于
答案 0 :(得分:2)
原来,CXF具备从一开始就生成适当签名的能力。我们的问题是签名的接收端不接受此标准签名。我们必须创建一个自定义签名系统,以确保服务器的不良实现所需的所有挑剔和深奥的人力资源。无论事务的名称空间声明如何,都必须将名称空间前缀设置为非常特定的值。有时候空白区域有时候不得修剪......
因此我们创建了一个拦截器并将其注入到拦截器列表中,就是这样。实际上它有点复杂,因为他们坚持使用最终用户的USB密钥上的证书签署soap事务。我们的系统集中了所有接口,因此我们不得不进一步调整以使其工作,但最终一切都很好。
我虽然使用标准的目的是提供一个标准的做法,好吧......有些人似乎认为他们比创建标准的专家更好的专家,并坚持添加他们自己的泡菜罐。有人应该告诉他们在覆盆子果酱中添加泡菜不会让它味道更好。