2010-08-17 61 views
4

我已经使用cxf codegen生成了存根和绑定。一切运行良好,但由于安全问题,服务器仍拒绝该消息。基本上我有3层照顾所有需要证书(我有)。在管如何在传出的SOAP消息上应用XML签名

  1. SSL加密的特定数据元素上
  2. 证书签名上的有效载荷数据
  3. 证书XML签名。

为了增加汤的有些我没有完全控制实际的签名和证书。基本上我必须提取正确的数据,将其发送出去签名,并且我必须在交易中重新注入已签名的数据。

我也有机会获得该证书是在本地机器上(SSL和一些签名)

阅读框架似乎在很大程度上依赖于配置巫术文件的Windows证书存储区。不幸的是,我发现的大多数链接花费了大量的时间来详细解释如何生成证书,而不是简单地实际使用它们。

使用CXF我该如何做到这一点?

如何访问正确的钩子以及可以在消息中注入哪些代码?

感谢

回答

2

原来CXF拥有所有产生从一开始就正确的签名的能力。我们的问题是签名的接收端不接受这个标准签名。我们必须创建一个自定义签名系统,以确保服务器实施不善所需的所有挑剔和深奥的焦点。无论事务的名称空间声明如何,名称空间前缀都必须设置为非常特定的值。空白不得不有时修剪有时不等...

因此,我们创建了一个拦截器,并将其注入out拦截器列表,就是这样。事实上,它有点复杂,因为他们坚持使用位于最终用户USB密钥上的证书来签署肥皂交易。我们的系统集中了所有接口,所以我们不得不进一步调整以使其工作,但最终都是好的。

我虽然使用标准的目标是提供一个标准的意思来做事情,好吧......有些人认为他们比创建标准的专家更好的专家,并坚持要添加他们自己的泡菜罐子里。有人应该告诉他们,添加泡菜覆盆子果酱并不会让它口感更好。