文档章节

Tomcat JDBC 认证 MySQL SSL加密

乐搏学院
 乐搏学院
发布于 2017/05/18 11:12
字数 454
阅读 7
收藏 0

最近公司做三级认证,也没怎么更新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/

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

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

© 著作权归作者所有

共有 人打赏支持
乐搏学院
粉丝 6
博文 526
码字总数 707467
作品 0
丰台
程序员
tomcat实现SSL配置(详细版)

Tomcat双向认证的问题这么多,贴一篇我总结的Tomcat双向认证方法 tomcat实现SSL配置 tomcat实现SSL配置 编辑tomcat的配置文件server.xml,去掉下面SSL Connector的注释,修改为如下: <!-- D...

被风遗忘
2012/03/16
0
0
Java安全通信:HTTPS与SSL

HTTPS概念 1)简介 HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因...

亭子happy
2013/06/19
0
0
【翻译】Java Keystore Tutorial

(技术小白,如有错误请指出。) 原文地址:http://www.javacodegeeks.com/2014/07/java-keystore-tutorial.html 目录 Introduction --简介 SSL and how it works --SSL的原理 Private Keys......

iamhej
2015/07/14
0
0
SSL简要介绍以及Tomcat的SSL配置

SSL简要介绍 SSL是Secure Socket Layer的缩写.可以在不可信通道上安全的传输数据.SSL主要发生在应用层,如下图所示: 主要分为两层,上层包括三个子协议:SSL Handshake、SSL Change Cipher s...

水牛叔叔
2014/02/27
0
0
使用 CAS 在 Tomcat 中实现单点登录

public interface AuthenticationHandler { Method to determine if the credentials supplied are valid. @param credentials The credentials to validate. @return true if valid, return......

张xtpgyaps
2011/06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

移除或自定义 WordPress 仪表盘欢迎面板

第一次登录 WordPress 后台仪表盘页面,默认都会显示 WordPress 的欢迎面板: 如果我们要移除这个面板,在主题的 functions.php 中添加下面的代码即可: 12 //移除 WordPress 仪表盘欢迎面...

james_laughing
17分钟前
0
0
HashMap实现原理及源码分析

HashMap实现原理及源码分析   哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,...

DemonsI
20分钟前
0
0
eggjs学习笔记

快速初始化 生成项目(要求最低的node版本8.x) npm i egg-init -gegg-init egg-example --type=simplecd egg-examplenpm i 启动项目 npm run dev 配置 环境配置会覆盖默认配置 config...

别人说我名字很长
23分钟前
1
0
Winform Timer控件时间间隔

sender as System.Timers.Timer).Interval = 23 * 60 * 60 * 1000.0;//将时间间隔改为23小时,23小时后重新发生timer_Elapsed事件。 //60000:时间间隔1分钟,300000:时间间隔5分钟,600000:...

笑丶笑
24分钟前
0
0
在win10系统下怎样快速切换任务视图

切换窗口:Alt + Tab 任务视图:Win + Tab (松开键盘界面不会消失) 切换任务视图:Win + Ctrl +左/右 创建新的虚拟桌面:Win + Ctrl + D 关闭当前虚拟桌面:Win + Ctrl + F4...

SummerGao
28分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部