我正在使用 Delphi 7 的HTTPReqResp
组件将数字签名的 SOAP XML 文档发送到 HTTPS Web 服务。我使用 Eldos XML BlackBox 并已将所有transformAlgorithms
、CanonicalizationMethod
、signaturemethod
等设置为 Web 服务所需的,并已与技术支持人员确认了这一点。
我已经使用 XML BlackBox 和这个XML Verifier website验证了签名。
两种方式都确认签名是正确的。但是,当我通过 发送 XML 文档时HTTPReqResp.execute
,我得到的响应是BadSignature (The signature value is invalid)
.
最初,由于 XML 错误(格式错误等),我收到了不同的错误消息。看来该服务将首先进行所有标准格式检查,然后尝试验证签名。因为我得到了BadSignature
响应,所以 XML 的其余部分必须是正确的。
我想我在这里有两个问题。
HTTPReqResp 组件是否更改 XML。
网络服务是否可能会更改 XML。
该站点正在使用 Access Manager WebSEAL。