将WS-Security应用于原始SOAP有效负载

时间:2018-08-08 14:59:25

标签: java ws-security

使用基于Java的集成引擎(Mirth,出于好奇),我需要对通过引擎的SOAP有效负载进行签名。我所拥有的只是原始的未签名SOAP XML,以及安装扩展和调用Java API的能力。

到目前为止,我在Google上的搜索还没有发现任何有效地允许我有效设置WS-Security参数然后将原始有效负载传递给签名的API /框架。如果需要的话,安装提供此功能的第三方罐子不是问题。我看了一下Apache-CXF和JAX-WS,但从我的了解来看,它们可以处理残缺的Java类,而不是原始的有效负载。

我是否错过了一些明显的事情,还是必须编写一个定制的WS-Security实现?

1 个答案:

答案 0 :(得分:2)

WSS4J库支持对使用DOM或STAX API(或非SOAP消息)解析的任何XML进行签名。您可以在单元测试的source code中找到示例(DOM API的文件夹ws-security-dom和StaX API的ws-security-stax)。

例如,如果您使用的是DOM API,则代码CertificateStoreTest#testSignatureDirectReference()显示了如何签名SOAPPart,它是解析为DOM文档的SOAP有效负载。