我知道这已经出现了一百万次,但显然不是使用System.Data.Odbc
的.NET Core。
在注册表中打开TLS 1.0后,出现错误:
{System.Data.Odbc.OdbcException (0x80131937): ERROR [08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SSL Security error
ERROR [01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (SECDoClientHandshake()).
我在承载SQL Server的服务器上运行ASP.NET Core站点时遇到错误,但在Windows 10客户端上使用dev机器连接到远程SQL Server。
SSMS在服务器和客户端上运行并连接良好。当我打开TLS 1.0支持并重新启动SQL Server时,该站点在服务器和客户端上都运行良好。 (无需重启以查看差异)。
为了确保我已经启用了FIPS支持,即使我在某处读到了不再需要它。
这是配置:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server] "Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server] "DisabledByDefault"=dword:00000001
我怀疑.NET标准2.0的System.Data.Odbc
不支持1.2。我很乐意得到一些帮助和指示。
[编辑] @TallTed这是安装的,它应该支持TLS 1.2:
11.4.7001.0
的Microsoft SQL Server 2012 Native Client17.3.1.1
12.2.5543.11
14.0.1000.169
System.Data.Odbc
不是问题; [Microsoft][ODBC SQL Server Driver][DBNETLIB]
是。
解决方案是获取(或确认您正在使用)更新的SQL Server,from Microsoft或from my employer或from another vendor的ODBC驱动程序...