3

我正在开发一个 C# 应用程序,它使用 3rd 方 WCF 服务的测试版本,其中服务器具有自签名证书。到目前为止,我在设置集成测试时采用了大锤方法:

ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };

但是,我现在想为 UAT 测试提供一些东西。

我已尝试将证书添加到我的受信任的根证书颁发机构,如下所述:

http://blogs.adobe.com/livecycle/2012/04/rights-management-how-to-get-windows-7-to-trust-a-self-signed-server-certificate.html

按照这些说明,证书被添加到商店,但我仍然收到“无法为 SSL/TLS 安全通道建立信任关系”。

我注意到证书中的“颁发给”和“颁发自”值是不同的——这会导致问题吗?

此外,我退后一步,看看在导航到服务 URL 时是否可以简单地在浏览器级别获得信任,但这也会产生 SSL 错误。

最后,我不关心 SSL 错误,因为当我们切换到使用实时服务器时它会得到解决,但我不想将这些问题放在生产代码中。

任何想法:

  1. 安装证书无法解决连接失败的原因是什么?
  2. 我可以解决这个问题的方法

提前致谢

4

1 回答 1

0

值得一提的是,在我们过去的经验中(尤其是使用自签名证书),我们看到“无法为 SSL/TLS 安全通道建立信任关系”错误主要有两个原因:

  • 证书未正确保存在证书存储中
  • url 和证书的“名称”不匹配

由于您似乎尝试了一些证书存储位置,因此您的问题可能是名称不匹配。以下链接解释了名称不匹配。 http://www.digicert.com/ssl-support/certificate-name-mismatch-error.htm

问候,

于 2013-10-04T20:50:37.670 回答