sql-server - 带有 .NET Core 的 TLS 1.2 的 SQL Server 和 ODBC
问题描述
我知道这已经出现了一百万次,但显然不是 .NET Core 使用System.Data.Odbc
.
在注册表中打开 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 客户端上使用开发机器连接到远程 SQL Server。
SSMS 在服务器和客户端上运行和连接都很好。当我打开 TLS 1.0 支持并重新启动 SQL Server 时,该站点在服务器和客户端上都运行良好。(无需重新启动即可查看差异)。
确保我启用了 FIPS 支持,即使我在某处读到不再需要它。
这是配置:
- Windows Server 2016(最新)
- 具有最新更新的 SQL Server 2016 SP2
- 可以肯定的是,即使我不使用它,我也安装了 .NET 4.7。
[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
我怀疑System.Data.Odbc
for .NET Standard 2.0 不支持 1.2。我很想得到一些帮助和指点。
[编辑] @TallTed 这是安装的,它应该支持 TLS 1.2:
- Microsoft SQL Server 2012 Native Client 带版本
11.4.7001.0
- Microsoft ODBC Driver 17 for SQL Server 带版本
17.3.1.1
- Microsoft ODBC Driver 11 for SQL Server 带版本
12.2.5543.11
- Microsoft ODBC Driver 13 for SQL Server 带版本
14.0.1000.169
解决方案
System.Data.Odbc
不是问题;[Microsoft][ODBC SQL Server Driver][DBNETLIB]
是。
解决方案是从 Microsoft或我的雇主或其他供应商处获取(或确认您正在使用)更新的 SQL Server ODBC 驱动程序......
推荐阅读
- jupyter-notebook - Tqdm进度条在模型训练中的使用
- tinymce - 支持韩语 TinyMCE
- firebase - 在控制台中何处查看 Firebase Analytics 事件自定义参数?
- python - 使用 set_data() 更新一行后,Matplotlib 的“重置原始视图”按钮缩放到以前数据的限制
- machine-learning - Inception V2 在 Inception V1 上没有改进
- gcc - 如何打印介子执行的 GCC 命令?
- python - 使用热图居中表格
- c++ - 简单倒计时码不能倒计时
- javascript - 超出图表中的最大文本大小 - mermaid.js
- php - Nginx 站点显示空白