错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]”。怎么修改
时间: 2024-05-25 12:08:51 浏览: 20
这个错误提示是由于服务器使用的协议版本为TLS1.0,而客户端只支持TLS1.3和TLS1.2,因此导致了协议不兼容。为了解决这个问题,你可以尝试以下几个方法:
1. 更新客户端的TLS版本:在你的客户端中,将TLS版本更新到1.3或1.2,这样就可以与服务器协商出一个兼容的协议版本。
2. 禁用服务器的TLS1.0:如果你有权限管理服务器,可以尝试禁用TLS1.0协议,这样就可以避免这个错误。
3. 使用其他支持的协议版本:如果客户端和服务器都不支持相同的协议版本,那么可以尝试使用双方都支持的其他协议版本来建立连接。
相关问题
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
```
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版本。