驱动程序无法与sql server建立安全链接“The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12] 怎么解决这个报错
时间: 2024-05-31 15:06:42 浏览: 18
这个报错通常表示客户端和服务器端的TLS版本不一致。在这种情况下,建议您采取以下措施:
1. 确认您的SQL Server是否已配置为接受TLS 1.0版本,如果是,请将其升级为TLS 1.2及更高版本。
2. 更新您的客户端,以确保其支持TLS 1.2及更高版本。如果您使用的是SQL Server Native Client,则需要将其升级为SQL Server Native Client 11.0或更高版本。
3. 如果您无法升级客户端或服务器,则可以尝试通过更改注册表设置来启用TLS 1.0。请注意,这可能会降低系统的安全性,并且不建议长期使用。具体操作步骤可以参考以下链接:https://docs.microsoft.com/en-ole-db-provider-to-use-tls-11-and-tls-12?view=sql-server-ver15
相关问题
jdbc连接sqlServer出现 The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]
您好!针对您的问题,出现 "The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]" 错误可能是由于 JDBC 驱动程序和 SQL Server 数据库之间的 TLS 版本不匹配所致。
为了解决这个问题,您可以尝试以下几种方法:
1. 升级 JDBC 驱动程序:请确保您正在使用最新版本的 JDBC 驱动程序。您可以从 Microsoft 官方网站或其他可靠来源下载最新的 JDBC 驱动程序,并将其替换为旧版本。
2. 检查 SQL Server 配置:请确保您的 SQL Server 数据库已正确配置以支持 TLS12 或更高版本。您可以联系您的数据库管理员或参考 Microsoft 文档来进行相应的配置更改。
3. 设置 JVM 参数:在连接数据库之前,尝试在应用程序中设置以下 JVM 参数,以强制使用较低的 TLS 版本:
```
System.setProperty("https.protocols", "TLSv1.2");
```
这会将 TLS 版本限制为 TLSv1.2,从而与 SQL Server 的要求相匹配。
请注意,具体方法可能因您使用的 JDBC 驱动程序和 SQL Server 版本而有所不同。如果以上方法都无法解决问题,请提供更多关于您的环境和配置的详细信息,以便我能够更好地帮助您解决问题。
The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]报错
这个错误信息"The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]"表明客户端在尝试连接到服务器时,拒绝了服务器提供的TLS (Transport Layer Security) 协议版本1.0,因为客户端只支持更高级别的协议版本TLS 1.3和TLS 1.2。
TLS 1.0是一个较早的安全协议版本,自2016年左右,许多现代浏览器和客户端由于安全性和性能考虑,开始不再支持它,转而倾向于使用更新、更强加密标准的TLS 1.2和更高版本(如TLS 1.3)。服务器选择TLS 1.0可能是因为它的设置仍然默认为该版本,或者服务器不支持更新。
为了解决这个问题,你需要确保你的客户端配置能够接受至少TLS 1.2的连接。这通常可以在客户端的设置中更改,例如在浏览器的高级网络选项中,或者在代码中使用相应的SSL/TLS库并明确指定支持的最小协议版本。如果服务器端无法升级,可能需要管理员干预修改服务器配置以支持更高的TLS版本。