我的ASP.NET应用程序调用了多个供应商的Web服务,这些服务最近已重新配置为实施TLS 1.2。但是,其中一个提供程序落后了,并继续使用TLS 1.0。结果,应用程序因
失败无法创建SSL / TLS安全通道
该项目的目标是.NET 4.5运行时,我已将其更改为4.7.1,以使用TLS 1.2作为默认值,以避免代码更改(4.6就足够了)。当然,这破坏了使用TLS 1.0配置的Web服务的应用程序部分。
如下所示指定安全协议无效。
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls | SecurityProtocolType.Ssl3;
答案 0 :(得分:0)
经过反复试验,我意识到在某些时候我已经在Windows注册表中禁用了TLS 1.0。要解决此问题,请导航至:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ TLS 1.0 \ Client
,并确保已启用该协议。就我而言,我添加了“ Enabled” REG_DWORD,其值为“ 1”。您可能要更改“ DisabledByDefault”,但我选择了手动替代。要使更改生效,需要重新启动。