SSL出错,因为升级了驱动,字符串增加Encrypt=True;TrustServerCertificate=True; 返回

版本:5.1.4.169
本地运行没问题,在linux服务器上报这个错误:加上Encrypt=True;TrustServerCertificate=True;也报错中文提示 : SSL出错,因为升级了驱动,字符串增加Encrypt=True;TrustServerCertificate=True;即可。详细错误:已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: SSL 提供程序, error: 31 - 加密(ssl/tls)握手失败)\r\nEnglish Message : 已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: SSL 提供程序, error: 31 - 加密(ssl/tls)握手失败)
热忱回答(13)
-
相顾无言 VIP0
2024/9/25我的连接串:"Server=127.0.0.1;Database=DB;User Id=sa;Password=123456789;Connect Timeout=500;Encrypt=True;TrustServerCertificate=True;"
数据库是:SqlServer
在Linux服务器报上面的错误0 回复 -
fate sta VIP0
2024/9/25new SqlConnection(字符串).Open()
这个能跑ORM就能跑
0 回复 -
fate sta VIP0
2024/9/25方案1. 在客户端环境中安装目标 SQL Server 的 TLS/SSL 证书。 如果需要加密,将对其进行验证。
方案2.(不太安全)在连接字符串中设置“TrustServerCertificate=true”属性。
方案3.(不安全的解决方案)在 docker 映像/客户端环境中配置 TLS/SSL 设置,以便与 TLS 1.0 连接。
MinProtocol = TLSv1
CipherString = DEFAULT@SECLEVEL=1
0 回复 -
相顾无言 VIP0
2024/9/25@fate sta:
数据库都是连的远程数据库,在Windows显示能成功,但是在Linux报错
0 回复 -
相顾无言 VIP0
2024/9/25@fate sta:有什么简单点的解决办法吗?
0 回复 -
kiyo VIP0
2024/9/26我也同样遇到了,在linux上远程连接sqlserver,即使在连接串加上Encrypt=True;TrustServerCertificate=True; 依旧报这个错误
0 回复 -
fate sta VIP0
2024/9/26@kiyo: new SqlConnection(字符串).Open() 原生能跑就行了
0 回复 -
Ray VIP0
2024/10/8我也同样遇到了,在linux上远程连接sqlserver,即使在连接串加上Encrypt=True;TrustServerCertificate=True; 依旧报这个错误
问题我还是部署的 阿里云fc,Debian 9.NET 6.0
又不能修改环境,郁闷
0 回复 -
fate sta VIP0
2024/10/9@Ray: new SqlConnection(字符串).Open() 用原生测试
0 回复 -
hans VIP0
2024/10/23@相顾无言:解决了吗
0 回复 -
hans VIP0
2024/10/23@fate sta:会报Microsoft.Data.SqlClient.SqlException (0x80131904): 已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: SSL 提供程序, error: 31 - 加密(ssl/tls)握手失败),但是我本地代码跑没有问题,数据库比较老是2008的
0 回复 -
hans VIP0
2024/10/23@相顾无言:我也是这样,大哥解决了吗
0 回复 -
hans VIP0
2024/10/230 回复