我正在开发一个 C# 应用程序,该应用程序使用服务器具有自签名证书的第 3 方 WCF 服务的测试版本。到目前为止,我在设置我的集成测试时采用了大锤方法:
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
不过,我现在想让 UAT 测试可用。
我已尝试将证书添加到我的受信任的根证书颁发机构,详情如下:
按照这些说明,证书已添加到商店,但我仍然收到“无法为 SSL/TLS 安全通道建立信任关系。”
我注意到证书中的“颁发给”和“颁发自”值不同 - 这会导致问题吗?
此外,我退后一步,看看在导航到服务 URL 时是否可以简单地让信任在浏览器级别工作,但这也会生成 SSL 错误。
最后我不关心 SSL 错误,因为当我们切换到使用实时服务器时它会得到解决,但我不想在生产代码中加入困惑。
任何想法:
- 安装证书失败,无法解决连接失败的原因?
- 我可能解决这个问题的方法
提前致谢
最佳答案
值得一提的是,根据我们过去的经验(尤其是自签名证书),我们已经看到“无法为 SSL/TLS 安全通道建立信任关系”错误,主要原因有两个:
- 证书未正确保存在证书库中
- url 和证书的“名称”不匹配
由于您似乎已经尝试了几个证书存储位置,您的问题可能是名称不匹配。以下链接解释了名称不匹配。 http://www.digicert.com/ssl-support/certificate-name-mismatch-error.htm
问候,
关于c# - 安装自签名证书无法解决 Windows 7 中的安全错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19176857/