如何在不同客户的spring Web服务中实现数字签名验证?

时间:2016-12-22 01:06:18

标签: java web-services spring-ws ws-security

我需要使用X509证书为基于Spring的Web服务验证SOAP请求的数字签名,该Web服务接受来自多个供应商的请求。

实施此类安全的一般策略是什么?我应该为每个供应商创建一个Web服务,以便我可以根据调用者的公钥验证数字签名吗?理想情况下,我希望只有一个Web服务,因为每个供应商请求的内容都具有相同的架构。

1 个答案:

答案 0 :(得分:0)

SOAP消息的数字签名嵌入到消息的SOAP头中。这是消息的简化模式。 (参见完整示例here

output: {
    filename: "./bundle_a.js",
    devtoolModuleFilenameTemplate: "bundle_a/[resource-path]"
},

签名允许知道引用用于签名的x509证书的签名者的身份。

您不需要为每个供应商提供不同的Web服务。 要允许访问,请将证书的公共部分请求给将用于签名邮件的供应商。收到soap消息后,将签署者证书与预期证书进行比较。

为简化比较,您可以查看序列号+发行人