错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]”。怎么修改
时间: 2024-05-25 20:08:51 浏览: 248
这个错误提示是由于服务器使用的协议版本为TLS1.0,而客户端只支持TLS1.3和TLS1.2,因此导致了协议不兼容。为了解决这个问题,你可以尝试以下几个方法:
1. 更新客户端的TLS版本:在你的客户端中,将TLS版本更新到1.3或1.2,这样就可以与服务器协商出一个兼容的协议版本。
2. 禁用服务器的TLS1.0:如果你有权限管理服务器,可以尝试禁用TLS1.0协议,这样就可以避免这个错误。
3. 使用其他支持的协议版本:如果客户端和服务器都不支持相同的协议版本,那么可以尝试使用双方都支持的其他协议版本来建立连接。
相关问题
java连接sqlserver报错:The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]
这个错误通常是由于客户端和服务器之间的TLS协议版本不匹配导致的。解决这个问题的方法是通过更改Java应用程序的TLS协议版本来与SQL Server建立连接。
您可以尝试以下步骤来解决这个问题:
1. 确保您的Java应用程序使用的是较新的JDK版本。某些较旧的JDK版本可能不支持较新的TLS协议版本。
2. 在Java应用程序的启动参数中添加以下选项,指定所需的TLS协议版本:
```
-Dhttps.protocols=TLSv1.2,TLSv1.3
```
这将强制Java应用程序仅使用TLSv1.2或TLSv1.3协议版本进行连接。
3. 如果你正在使用第三方的JDBC驱动程序连接SQL Server,确保你使用的是支持较新TLS协议版本的驱动程序版本。你可以查看驱动程序的文档或联系驱动程序的开发者来获取相关信息。
请注意,具体的解决方法可能会因您使用的Java版本、JDBC驱动程序和SQL Server版本而有所不同。如果上述方法无效,请提供更多详细信息,以便我能够更好地帮助您。
javax.net.ssl.SSLHandshakeException: The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]
当客户端和服务器之间的TLS版本不兼容时,就会出现javax.net.ssl.SSLHandshakeException: The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]这个错误。为了解决这个问题,我们可以采取以下两种方法:
1.升级Java版本:TLS1.3是Java 11的默认协议,如果您使用的是Java 8或更早版本,则需要升级Java版本以支持TLS1.3。如果您无法升级Java版本,则可以尝试第二种方法。
2.在Java启动参数中添加以下参数:-Djdk.tls.client.protocols=TLSv1.2,TLSv1.3。这将强制Java客户端使用TLS1.2或TLS1.3协议与服务器通信,从而解决TLS版本不兼容的问题。
```shell
java -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3 YourApplication
```
阅读全文