我正在使用 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。