首页 > 数据库技术 > 详细

SpringBoot设置mysql的ssl连接

时间:2020-06-02 23:36:31      阅读:1517      评论:0      收藏:0      [点我收藏+]

因工作需要,mysql连接需要开启ssl认证,本文主要讲述客户端如何配置ssl连接

 开发环境信息:

SpringBoot: 2.0.5.RELEASE
mysql-connector-java: 8.0.18
mysql version:8.0.18

 

一、检查服务端是否开启ssl认证

show variables like %ssl%;

技术分享图片

 

二、确认用户强制使用ssl认证

1.检查用户是否启动ssl认证

use mysql;
select ssl_type from user where user=username and host=%;
ps:username替换成具体的用户名。

技术分享图片

 

 

 2.强制用户使用ssl认证

ALTER USER username@% REQUIRE SSL;
FLUSH PRIVILEGES;

 

三、生成客户端证书

1.找服务端提供三个原始文件

技术分享图片

  2.生成truststore文件

 

keytool -importcert -alias Cacert -file ca.pem  -keystore truststoremysql -storepass password123

 3.生成keystore文件

 

openssl pkcs12 -export -in client-cert.pem -inkey client-key.pem -name "mysqlclient" -passout pass:mypassword -out client-keystore.p12
keytool -importkeystore -srckeystore client-keystore.p12 -srcstoretype pkcs12 -srcstorepass mypassword -destkeystore keystoremysql -deststoretype JKS -deststorepass password456

以上两个文件生成的参数可以自己修改,windows环境中没有openssl,在linux环境中执行。红色部分的参数是后面配置要用到的。

技术分享图片

 

 四、修改mysql的连接参数

1.正常的请求如下

spring.datasource.url = jdbc:mysql://1.2.3.4:3306/db?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&useSSL=false

2.ssl双向认证的请求如下

ssl.cert.path = /home/app/cert
ssl.config = true&verifyServerCertificate=true&requireSSL=true&clientCertificateKeyStoreUrl=file:${ssl.cert.path}/keystoremysql&clientCertificateKeyStorePassword=password456&trustCertificateKeyStoreUrl=file:${ssl.cert.path}/truststoremysql&trustCertificateKeyStorePassword=password123 
spring.datasource.url = jdbc:mysql://1.2.3.4:3306/db?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&useSSL=${ssl.config}

因为加上ssl认证后url太长了,所以提取了两个变量。

   ssl.cert.path表示生成的两个证书文件存放路径

ssl.config的value里根据证书生成的参数对应修改,如果不需要ssl认证值设置为false即可。

以上就完成了客户端的配置,如常启动服务,验证连接正常即可。

参考资料:
Connecting Securely Using SSL

 

SpringBoot设置mysql的ssl连接

原文:https://www.cnblogs.com/ccgood/p/13034426.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!