我使用ASP.NET创建了一个项目。当我在本地测试一切都很好。当我推送到服务器时,我在数据库调用的任何页面上都出现此错误:
客户端和服务器无法通信,因为它们没有通用算法
我尝试使用以下代码行在我的Global.asax文件中将我的TLS设置为1.2:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
但那没有做任何事。
以下是更多错误详情:
已成功与服务器建立连接,但在登录过程中发生错误。 (提供者:SSL提供者,错误:0 - 客户端和服务器无法通信,因为它们没有通用算法。)]
答案 0 :(得分:0)
最近,大家好,我都遇到了类似的问题,经过更长的研究后解决了,请按照以下步骤操作。 我们需要启用TSL1.0,TSL1.1,SSL2注册表。请按以下步骤操作。
1。通过单击“开始并运行”来启动注册表编辑器。在“运行”字段中输入“ regedit”(不带引号)。
2。突出显示注册表树顶部的计算机。首先通过单击文件,然后单击导出来备份注册表。选择文件位置以保存注册表文件。
注意:您将编辑注册表。如果操作不正确,可能会对您的计算机造成不利影响,因此强烈建议您进行备份。
3。浏览到以下注册表项: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols
右键单击Protocols文件夹,然后选择New,然后从下拉菜单中选择Key。这将创建新文件夹。将该文件夹重命名为TLS 1.2。
4。右键单击TLS 1.2密钥,并在其下面添加两个新密钥。
两个新键是: 客户 服务器
5。右键单击Client键,然后从下拉列表中选择“新建”,然后选择“ DWORD(32位)值”。
6。右键单击名称Enabled,然后从下拉菜单中选择Modify...。
7。确保“值”数据字段设置为0,并且“基数”为十六进制。单击确定。
8。同样,对服务器密钥重复步骤5到7。
希望我能帮上忙。
答案 1 :(得分:0)
我找到了解决此问题的方法 将此添加到您的webconfig中,将解决问题
<appSettings>
<add key="AppContext.SetSwitch:Switch.System.Net.DontEnableSchUseStrongCrypto" value="false" />
<add key="AppContext.SetSwitch:Switch.System.Net.DontEnableSystemDefaultTlsVersions" value="false" />
</appSettings>
Cannot set app to use system default TLS version by adding appcontext settings in web.config