阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Tomcat JDBC 认证 MySQL SSL加密

148次阅读
没有评论

共计 1535 个字符,预计需要花费 4 分钟才能阅读完成。

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

一般公司 MySQL/Mariadb Tomcat 做 JDBC 认证一般是这样的:
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 签发证书配置

[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:
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
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:
-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

/etc/init.d/tomat restart

6、注意事项:
6.1)MySQL 支持 ssl,并确保登陆验证。
6.2)账号授权。
6.3)证书权限管理。
6.4)考虑 ssl 带来的问题。(实际情况要具体分析,否则会带来很多问题)

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-05/143709.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1535字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中