繁体   English   中英

错误请求被中止:无法创建 SSL/TLS 安全通道。 仅在 Windows 服务器 2012 上

[英]Error The request was aborted: Could not create SSL/TLS secure channel. only on Windows Server 2012

我知道关于这个错误的类似问题很少,但我的问题有点不同,因为我的代码在本地工作,实际上来自 Windows 10,当我将它部署在生产环境(Windows Server 2012)上时它不起作用。

所以这就是故事。 我尝试联系服务人员,但出现错误:

System.Net.Http.HttpRequestException:发送请求时出错。 ---> System.Net.WebException:请求被中止:无法创建 SSL/TLS 安全通道。

几天前开始发生此错误,我们从该服务获得了 email,告诉他们不再支持某些密码。 这是他们的 email:

这意味着从 12 月 1 日起,我们将仅支持以下密码套件:

Cipher suites (TLS 1.3):
TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256

Cipher suites (TLS 1.2):
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES256-GCM-SHA384
CDHE-RSA-AES256-GCM-SHA384
ECDHE-ECDSA-CHACHA20-POLY1305
ECDHE-RSA-CHACHA20-POLY1305
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES256-GCM-SHA384

我发现很少有解决方案建议包含我已经完成的所有 TLS 协议。 这是我的代码的一部分:

ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls 
   | SecurityProtocolType.Tls11 
   | SecurityProtocolType.Tls12 
   | SecurityProtocolType.Ssl3;

但问题是一样的。 所以呼叫服务在我的本地工作,但在 Windows 服务器上不起作用。

我还在注册表中编译了密码套件(位置 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Cryptography\Configuration\Local\SSL\00010003),我发现我的 Windows 10 和 Windows 服务之间存在差异。 所以我尝试将所有密码从我的计算机手动复制到 windows 服务器,但我仍然遇到同样的错误。

所以我不知道可能是什么问题。 请帮忙!

ps 我忘了提到我尝试了许多不同的解决方案,比如只包括 TLS1.2 协议。 这是也不起作用的代码的一部分:

 ServicePointManager.Expect100Continue = true;
 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

那应该是密码套件问题。

Windows 的先前版本中没有一些密码套件。

使用 ssllabs 或 Wireshark 扫描您的应用程序以了解问题。 启用在目标服务器上禁用的受支持的密码套件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM