Tomcat JDBC 认证 MySQL SSL加密

本文详细介绍了如何配置MySQL数据库使用SSL加密连接,并通过JDBC实现与应用服务器的安全通信。主要内容包括MySQL证书的签发配置、使用keytool导入证书到Java信任库、设置JDBC连接参数以及配置Tomcat等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近公司做三级认证,也没怎么更新java博客,近期忙完则更新。其中三级认证有一项感觉很有意思:

一般公司MySQL/Mariadb Tomcat做JDBC认证一般是这样的:

1

2

3

4

db.default.driver=com.mysql.jdbc.Driverdb.default.url="jdbc:mysql://url.to.database/database"

db.default.user= "..."     //MySQL用户名

db.default.password="..."  // MySQL密码

......                     //其它参数优化

也就是说,除了用户名,密码,IP,端口,基本调优,就可以。

但是如果数据库用的是ssl加密连接,那么连接方式务必是需要证书的。于是乎引起了我的兴趣,经过查询,大致流程是这样的,分享一下:

1、MySQL签发证书配置

 

1

2

3

4

5

[mysqld]

ssl    #开启ssl功能

ssl-ca= /etc/mysql/ssl/cacert.pem   #指定CA文件位置

ssl-cert= /etc/mysql/ssl/master.crt #指定证书文件位置

ssl-key= /etc/mysql/ssl/master.key  #指定密钥所在位置

2、keytool 导入证书

keytool -import -alias mysqlServerCACert -file cacert.pem.pem -keystore mysqlServerCACertSSL.jks

3、JDBC相关参数:

 eg:

1

db.default.url="jdbc:mysql://url.to.database/test_db?verifyServerCertificate=true&useSSL=true&requireSSL=true"

verifyServerCertificate=true  --拒绝不能确认证书如果主机连接(使用ssl证书)

useSSL=true                   --使用SSL连接。

requireSSL=true               --拒绝如果MySQL服务器不支持SSL连接。

 

4、指明自己的mysqlServerCACertSSL.jsk

1

export JAVA_OPTS="-Djavax.net.ssl.keyStore=/usr/local/etc/tomcat/certs/mysqlServerCACertSSL.jsk -Djavax.net.ssl.keyStorePassword=password -Djavax.net.ssl.trustStore=/usr/local/etc/tomcat/certs/mysqlServerCACertSSL.jsk -Djavax.net.ssl.trustStorePassword=password"

the same:

1

2

3

4

-Djavax.net.ssl.keyStore=path_to_keystore_file

-Djavax.net.ssl.keyStorePassword=password

-Djavax.net.ssl.trustStore=path_to_truststore_file

-Djavax.net.ssl.trustStorePassword=password

5、重启tomcat

1

/etc/init.d/tomat restart

6、注意事项:

6.1)MySQL支持ssl,并确保登陆验证。

6.2)账号授权。

6.3)证书权限管理。

6.4)考虑ssl带来的问题。(实际情况要具体分析,否则会带来很多问题)

 

登录乐搏学院官网http://www.learnbo.com/

或关注我们的官方微博微信,还有更多惊喜哦~

本文出自 “永不放弃!任志远” 博客,谢绝转载!

转载于:https://my.oschina.net/learnbo/blog/903429

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值