参考:https://www.jianshu.com/p/5bc9a59dcf95
MySQL 开启SSL
# vim /opt/mysqlconfig/mysqld.cnf
添加:
require_secure_transport = ON
ssl-ca = /var/lib/mysql/ca.pem
ssl-cert = /var/lib/mysql/server-cert.pem
ssl-key = /var/lib/mysql/server-key.pem
# ll /opt/mysqldata/*.pem
MySQL 开启SSL,客户端jdbc的几种设置
关于开启 MySQL SSL,客户端dbc的设置分以下几种情况:
1. 服务端开启SSL,配置证书,客户端连服务端,直接信任证书,不用配置证书
2. 服务端开启SSL,配置证书,客户端连服务端,配置单向验证客户端或者服务端证书
3. 服务端开启SSL,配置证书,客户端连服务端,配置双向验证服务端证书和客户端证书
MySQL Server端是 x509 的pem格式证书,怎么跟客户端的 java程序(要连MySQL,jks格式证书)建立证书认证关系?
x509 的 pem格式证书,可以通过转换,变成 jks格式证书。
1. 服务端开启SSL,配置证书,客户端连服务端,直接信任证书,不用配置证书
MySQL驱动
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://xx.xx.xx.xx:3306/test?allowMultiQueries=true&useUnicode&characterEncoding=UTF-8&autoReconnect=true&useSSL=true&verifyServerCertificate=false&requireSSL=true
username=root
password=MySQL@123
MariaDB驱动
driverClassName=org.mariadb.jdbc.Driver
url=jdbc:mariadb://xx.xx.xx.xx:3306/test?allowMultiQueries=true&useUnicode&characterEncoding=UTF-8&autoReconnect=true&useSSL=true&trustServerCertificate=true&requireSSL=true
username=root
password=MySQL@123
关于证书信任设置