请求被中止:无法创建 SSL/TLS 安全通道 - 没有证书

问题描述

我在调用 HttpWebRequest 时遇到问题,错误显示请求已中止:无法创建 SSL/TLS 安全通道

首先我工作的公司有很高的安全标准,应用了防火墙。

我有三台服务器, 服务器 A:我的工作站。 服务器 B:我的同事工作站 服务器C:业务团队服务器

HttpWebRequest 的代码如下,它在我的工作站中正常工作 [ 没有 SecurityProtocol 代码工作 ] 请求以“https”开头的 URL

enter image description here

一旦我将其部署到我的同事服务器,他收到一条错误消息:

enter image description here

然后我在代码添加了下面两行,我们再次部署后,它在我的同事服务器上工作。

enter image description here

现在,一旦我将它部署到业务服务器上,上述代码都没有工作,我们得到一个错误请求被中止:无法创建 SSL/TLS 安全通道

请注意,我也尝试了以下方法

enter image description here

  • 最重要的一点与服务器的注册表有关,我将我的工作站注册表 HKEY_LOCAL_MACHINE\SYstem\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols 的值更改为与我的同事服务器相同,然后我遇到了他遇到的相同错误这是“客户端和服务器无法通信,因为它们没有通用算法”,一旦我添加了他添加“securityProtocol”的代码,那么代码就可以正常工作..

我尝试将业务团队服务器的值更改为与我的工作站注册表值相同,但我们仍然收到相同的错误“请求已中止:无法创建 SSL/TLS 安全通道”

业务团队服务器值的注册

enter image description here

值如下:

TLS1.0 客户 认禁用 1 启用 0 服务器 认禁用 1 启用 0

TLS1.1 客户 认禁用 0 启用 0 服务器 认禁用 0 启用 1

TLS1.2 客户 认禁用 0 启用 ffffffff 服务器 认禁用 1 启用 ffffffff

请帮忙,我不知道是否需要添加额外的代码,或者显示与服务器配置相关的错误??

解决方法

也许证书需要网络服务访问。您可以通过以下方式查看:

  1. 打开证书 MMC。
  2. 导航到证书(本地计算机)> 个人 > 证书。
  3. 右键单击您的证书,然后从上下文菜单中选择“所有任务”>“管理私钥...”。
  4. 设置适当的权限。