JDBC连接MariaDB:数据传输加密

Posted 小溪(潺潺流水,润泽千里)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC连接MariaDB:数据传输加密相关的知识,希望对你有一定的参考价值。

环境:win7+springboot+mybatis+mariadb

需求说明:

未做安全加固前用wireshark抓包:

image

image

可以很明显看到用户名、数据库和 SQL,这种情况是有安全风险的。

1.下载openssl

官网上面是源码,需要自己编译,可以到http://slproweb.com/products/Win32OpenSSL.html 下载,32和64位均有。

2.证书生成

参考:https://www.cnblogs.com/huiy/p/9982405.html

我这边的my.ini配置,红色部分是我添加的:

[mysqld]
datadir=D:/app/MariaDB 10.3/data
port=3306
innodb_buffer_pool_size=511M
character-set-server=utf8
event_scheduler=ON
max_connections=1000
ssl
ssl-ca=D:/cert/ca-cert.pem
ssl-cert=D:/cert/server-cert.pem
ssl-key=D:/cert/server-key.pem
[client]
port=3306
plugin-dir=D:/app/MariaDB 10.3/lib/plugin

3.改造自己的JDBCURL

添加:useSSL=true&trustServerCertificate=true

4.启动工程测试

image

已经看不到用户名和数据库了。

image

再也找不到明文SQL,返回的数据也已经加密了。

以上是关于JDBC连接MariaDB:数据传输加密的主要内容,如果未能解决你的问题,请参考以下文章

将jdbc连接明文密码加密方案

部分代码片段

数据库连接用户名和密码加密

MariaDB JDBC 连接字符串中的多个主控

MariaDB jdbc 连接在批量插入期间失败

如何将MariaDB与Grails连接?