代码之家  ›  专栏  ›  技术社区  ›  Newtopian

如何对传出的SOAP消息应用XML签名

  •  4
  • Newtopian  · 技术社区  · 14 年前

    我已经使用cxfcodegen生成了存根和绑定。一切正常,但服务器仍然拒绝消息,因为安全问题。基本上我有3层照顾所有需要证书(我有)。

    1. 管道上的SSL加密
    2. 特定数据元素上的证书签名

    为了给汤加点调料,我不能完全控制实际的签名和证书。基本上,我必须提取正确的数据,将其发送以进行签名,并且必须在事务中重新注入签名的数据。

    阅读文档框架似乎严重依赖配置巫毒魔法。不幸的是,我发现的大多数链接都花费了大量时间详细解释如何生成证书,但对于如何实际使用它们却略知一二。

    使用CXF如何实现这一点?

    如何访问正确的钩子,以及使用什么代码可以在消息上注入签名?

    谢谢

    1 回复  |  直到 13 年前
        1
  •  2
  •   Newtopian    14 年前

    事实证明,CXF从一开始就具备生成正确签名的所有能力。我们的问题是签名的接收端不接受这个标准签名。我们必须创建一个定制的签名系统,以确保服务器所需的所有吹毛求疵和深奥的窍门都到位。不管事务的名称空间声明如何,名称空间前缀都必须设置为非常特定的值。空格有时要删掉,有时不删掉,等等。。。

    我认为使用标准的目的是提供一个标准的方法来做事,好吧。。。有些人似乎认为他们比那些制定标准并坚持在罐子里加上自己腌菜的专家更擅长于此。有人应该告诉他们,在覆盆子果酱中加入泡菜并不能让它尝起来更好。