我有一个在客户站点调用 Web 服务的程序,由于 Web 服务是由第三方提供的,它需要 SSL,我对此无能为力。
在大多数情况下,出现错误是因为存在自签名证书,因此我正在检查 X509Chain.ChainElements.ChainElementStatus 是否存在 UntrustedRoot 错误并忽略它。
这一切都很好,但是我从一个新客户端收到一个错误,并且 ChainElementStatus 元素似乎是一个空数组。关于可能导致这种情况的任何想法?如果我查看 IE 中的证书错误,它只是说证书不是由受信任的 CA 颁发的。
编辑:按照 Markus 的建议添加跟踪,我看到返回以下错误:
DateTime=2009-12-21T21:58:29.8719648Z
System.Net 信息:0:[0772] SecureChannel#57280435 - 远程证书有错误:ProcessId=4964 DateTime=2009-12-21T21:59:15.3239262Z System.Net 信息:0:[0772] SecureChannel#57280435 - 内部发生证书链接错误。
ProcessId=4964 DateTime=2009-12-21T21:59:15.3239262Z
System.Net 信息:0:[0772] SecureChannel#57280435 - 远程证书已被用户验证为无效。进程 ID=4964