首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebService使用TLS1.1,TLS1.2无法连接开发服务器,在本地开发中工作

WebService使用TLS1.1,TLS1.2无法连接开发服务器,在本地开发中工作
EN

Stack Overflow用户
提问于 2020-03-06 18:49:03
回答 1查看 1.7K关注 0票数 0

我有一个.NET WebService调用,它被设置为使用TLS1.1或更高版本。这在我的本地开发中有效,但是当我移动到我们的开发服务器时,我会收到以下错误:

无法为xxx数据创建ExecuteRequest --请求被中止:无法创建SSL/TLS安全通道。

在代码中,我有tls设置:

代码语言:javascript
复制
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls13 | SecurityProtocolType.Ssl3;

我已经在服务器上验证了注册表设置对于启用TLS1.1、1.2等等是正确的.通过检查:*HKEYLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\ProtocolsTLS 1.1,TLS 1.2*,在这些位置上,对于“客户端”和“服务器”键,我都有DisabledByDefault =0和Enabled =1。

在windows系统日志中,有一个Schannel错误: EventID 36887:从远程端点接收到致命警报。TLS协议定义的致命警报代码为40。

我不知道从这里往哪里走。我觉得这可能是一个简单的设置或注册表调整,但我现在迷路了。

提前感谢您的帮助

EN

回答 1

Stack Overflow用户

发布于 2020-03-06 22:11:21

如果我正确地理解了您,那么您有一个在一个服务器上工作的代码,而不是另一个服务器上的代码。在这种情况下,似乎至少您已经正确配置了.Net框架,但正如其中一条评论所建议的那样,您应该检查操作系统是否支持TLS1.1(也许值得检查一下您是否运行在完全相同的.net框架版本上)。

我看到您使用的是win server 2012,在默认情况下似乎没有启用它。以下是MS docs 这里的引文

早期版本的Windows,如Windows 7或Windows 2012,默认情况下不启用TLS 1.1或TLS 1.2,以便使用WinHTTP进行安全通信。对于这些早期版本的Windows,请安装Update 3140245以启用下面的注册表值,可以将注册表值设置为将TLS 1.1和TLS 1.2添加到WinHTTP的默认安全协议列表中。

试着检查文档并验证TLS 1.1。在操作系统中启用。

如果您试图连接到的服务器支持TLS 1.2,那么我根本不会使用TLS 1.1,而只是强制all使用TLS 1.2。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60569959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档