【发布时间】:2017-06-12 18:41:21
【问题描述】:
我最近遇到了一个问题,我试图从网站获取资源。该站点已与自签名证书相关联。当我通过 WebRequest 请求资源时,它会抛出以下错误:
无法为 SSL/TLS 安全通道建立信任关系
我确实在寻找解决方案。我不想完全禁用检查证书。简而言之,我无法找到令人信服的答案。请告诉我处理自签名证书的最佳方式。
【问题讨论】:
-
该错误意味着底层 TCP 客户端无法验证服务器的真实性。执行此操作的方法有多种,涉及证书配置。例如,将自签名证书加载到您的个人存储中以使用对等信任验证。
-
你能解释一下吗?
-
在典型场景中,启用 TLS 后,服务器会在建立安全连接之前的握手过程中向客户端提供证书。该证书允许客户端在客户端接受连接并将潜在的敏感信息发送到服务器之前以加密方式验证服务器是真实的(以防止欺骗)。您可以自行决定跳过(不推荐)客户端中的此服务器验证。
-
有没有办法让它接受自签名证书?我不想跳过验证。
-
您可以将服务器证书安装到您的个人存储中。尝试搜索访问 Windows 证书存储以及如何配置对等信任验证的示例。你应该不需要再写代码了。
标签: c# httpwebrequest webrequest self-signed