如何解决问题:C# API 无法为 SSL/TLS 安全通道建立信任关系
我刚刚在调用 API 时遇到以下错误。 “无法为 SSL/TLS 安全通道建立信任关系”
我使用 RemoteCertificateValidationCallback 类修复了它:
ServicePointManager.ServerCertificateValidationCallback +=
new RemoteCertificateValidationCallback(Helpers.CertificateHelper.ValidateCertificates);
然后我就应用了这里找到的一段代码:How to verify X509 cert without importing root cert?
现在它工作正常,但是..这是要走的路吗?可以吗,还是不应该用这个方法?
解决方法
当您的服务器根据请求检查证书时,它会尝试验证整个证书链。 您使用的代码基本上告诉您的服务器跳过验证根 ca。您不应该这样做,因为正如 Crypt32 所说,这会让您更容易受到攻击。
如果您收到的错误提示您缺少根证书,您应该确保您的服务器信任这些证书
如果这是 Windows 服务器,您可以将它们安装在受信任的根证书颁发机构中 - 对此有一个说明here
注意您信任哪些证书 - 确保您的来源是可信的
如果这不起作用,您应该在此处发布您遇到的确切错误,我们可能能够更好地理解问题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。