用于解密Web服务响应的密钥不正确

时间:2014-01-30 19:49:21

标签: c# wcf web-services ws-security x509

我正在使用WCF客户端来使用我无法控制的第三方Web服务。它适用于自定义绑定和WS安全性。没有app.config,所有通过代码。我可以成功发送请求并收到回复。但是,似乎.Net无法解密服务响应,所以我必须手动完成。我已经实现了自定义编码器并覆盖了ReadMessage方法。我可以访问原始SOAP响应。我在MSDN和博客中看到了代码,他们解释了如何解密响应。我阅读了响应xml架构的绿洲规范。响应包含对x509证书的引用,该证书具有解密会话密钥所需的私钥,因此可以解密正文。根据我正在尝试使用的服务的文档,以及我读过的几乎所有地方,我应该使用我用来签署我的请求的证书的私钥,但是我得到一个Exception,说密钥不正确。然后,我在所有证书库中使用私钥尝试了所有可能的证书,以查看其中一个证书是否能成功解密,但所有证书都失败了。如果我理解正确,这意味着服务希望我使用我没有的私钥解密消息。我对WCF和Web服务本身很新,所以我可能会遗漏一些东西。

你知道会发生什么吗?或许我理解错了。任何帮助将不胜感激。

由于

0 个答案:

没有答案