Windows 7 中的错误:请求被中止:无法创建 SSL/TLS 安全通道

Posted

技术标签:

【中文标题】Windows 7 中的错误:请求被中止:无法创建 SSL/TLS 安全通道【英文标题】:Error in Windows 7: The request was aborted: Could not create SSL/TLS secure channel 【发布时间】:2020-11-30 19:14:27 【问题描述】:

我有以下问题: 如果我用网络浏览器打开地址https://info.protectiacivila.ro/test.php 然后是文本“你好!”显示出来。

我在 Windows 窗体应用程序(目标:.NET 4.5)中编写了以下单击事件处理程序:

 private void button1_Click(object sender, EventArgs e) 
  Uri uri = new Uri("https://info.protectiacivila.ro/test.php");
  ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12;
  HttpWebRequest request = WebRequest.Create(uri) as HttpWebRequest;
  try 
    string strResponse;
    using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) 
      StreamReader reader = new StreamReader(response.GetResponseStream());
      strResponse = reader.ReadToEnd();
    
    MessageBox.Show(strResponse);
   catch (Exception ex) 
    MessageBox.Show(ex.Message);
  

上述方法应显示消息“Hello!” 它在 Windows 10 中完美运行。 这意味着 SSL 证书有效。

但是,在 Windows 7 中,它会显示错误消息: 请求已中止:无法创建 SSL/TLS 安全通道。

如何才能使上述方法在 Windows 7 中也能正常工作?

谢谢

【问题讨论】:

是打补丁的windows 7吗?看起来像TLS 1.2 comes with Win7 SP1 我有 Win 7 SP1 64 位。更新 KB3140245 已安装。我还应该做些什么吗? 不确定,请深入阅读该链接。你知道 Windows 7 支持ended in January 2020 对吗?它不再接收安全更新,您应该考虑将您的机器迁移到更新的操作系统。 【参考方案1】:

Windows 7 SP1 似乎支持 TLS 1.1 和 1.2,但默认情况下未启用。此错误也会出现,例如当您想在 Windows 7 上使用 GIT 时。解决方案是通过注册表启用它:

    您需要创建一个注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client
    添加一个值为DisabledByDefault的DWORD 32位

来源:https://manage.accuwebhosting.com/knowledgebase/3008/How-do-I-enable-TLS-1-2-on-Windows-7.html

【讨论】:

谢谢。启用 TLS 1.2 对我有用。 太棒了!我无法再将 Git 与 Bitbucket 一起使用……也为我工作,谢谢!

以上是关于Windows 7 中的错误:请求被中止:无法创建 SSL/TLS 安全通道的主要内容,如果未能解决你的问题,请参考以下文章

Api 随机调用失败 - 请求被中止:无法创建 SSL/TLS 安全通道

错误 Paypal 沙箱:请求被中止:无法创建 SSL/TLS 安全通道

“请求被中止:无法创建 SSL/TLS 安全通道”

HttpClientHandler / 请求被中止:无法创建 SSL/TLS 安全通道

请求被中止:无法为 HttpWebRequest 创建 SSL/TLS 安全通道

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