咨询npm模块soap是否支持数字签名及指定格式SOAP Header生成
npm
soap 模块数字签名支持说明 soap模块原生完全支持你列的这类W3C标准XML数字签名(xmldsig)格式的SOAP Header生成,可直接产出你示例中要求的完整Header结构,不需要手动拼接原始XML字符串计算签名值。
- 模块内置的WS-Security扩展能力,可自动完成你示例中所有签名环节的计算:包含XML规范化(对应
http://www.w3.org/2001/10/xml-exc-c14n#算法)、Body节点的SHA1摘要计算、RSA-SHA1签名值生成、X509证书及颁发者序列号信息填充,不需要手动计算DigestValue、SignatureValue这类动态生成的内容。 - 你示例中的
Action寻址头,可通过模块的SOAP Header配置项直接设置mustUnderstand="1"属性与对应命名空间,无需硬编码XML节点。 - 两个需要注意的适配细节:
- 模块默认会把安全签名头插入到Header的最靠前位置,如果要严格匹配你示例中
Action在前、Signature在后的节点顺序,需要自定义Header节点的注入顺序。 - 模块默认的签名引用规则就是指向
#Body节点,和你示例中的Reference配置完全匹配,不需要额外调整引用策略。 - 如果有特殊的节点格式要求,也可以手动完成签名值计算后,把完整的签名XML片段作为自定义Header参数传入,模块不会对自定义传入的Header节点做格式篡改。
- 模块默认会把安全签名头插入到Header的最靠前位置,如果要严格匹配你示例中
内容的提问来源于stack exchange,提问作者Anil Bhaskaran
相关产品推荐
相关产品推荐

