升级到java 8u292后,tls连接失败,出现sslhandshakeexception

y3bcpkx1  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(694)

我有一台运行wildfly 21.0.2的lxc centos 7主机。应用服务器使用双向tls连接(相互认证)和mysql connector/j5.1.47jdbc驱动程序连接到mariadb 10.4.18数据库。在昨天从java8u282升级到java8u292之前,它一直工作得很好。连接现在失败,出现以下错误:

IJ000604: Throwable while attempting to get a new connection: null: javax.resource.ResourceException: IJ031084: Unable to create connection
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

我的第一个想法是java8u292不赞成mysql connector/j5.1.47jdbc驱动程序用来建立连接的协议或密码套件。

qzwqbdag

qzwqbdag1#

jdk8和jdk8更新版本的统一发行说明指出,在java8u292中tls1.0和tls1.1已被禁用,我的目标是强制连接使用tls1.2。
我尝试将jdbc驱动程序升级到mysql connector/j5.1.49,这是目前的最新版本,但没有任何改进。
最后,enabledtls协议似乎是最好的选择,在添加了 enabledTLSProtocols=TLSv1.2 在连接url中。

相关问题