华为云云数据库rdsmariadb-connector SSL方式连接数据库失败_云淘科技

场景描述

使用jdbc无法连接数据库,报如下错误:

unable to find certification path to requested target

原因分析

从错误截图中可以看出,使用的是mariadb的jar包,而非MySQL的官方驱动包,而mariadb与官方的使用方法略有区别。

解决方案

对于mariadb-java-client-2.7.5的连接串应该为:

不提供CA证书,不对服务端证书校验:

String url = "jdbc:mysql://ip:port/mysql?useSsl=true&trustServerCertificate=true";

提供CA证书,对服务端证书进行校验:

String url = "jdbc:mysql://ip:port/mysql?useSsl=true&serverSslCert=D:\ca.pem&disableSslHostnameVerification=true";

注意:RDS for MySQL实例不支持hostname校验,因此需要设置disableSslHostnameVerification=true,不同mariadb jar包版本设置方式不同,可查看对应版本的使用说明。

父主题: 连接类

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家