MySQL配置SSL之后的JAVA连接MySQL的代码
来源:互联网 发布:名字分析软件 编辑:程序博客网 时间:2024/06/04 18:27
MySQL配置SSL之后的JAVA连接MySQL的代码
代码之前的工作:
1、mysql已经正确配置好ssl(openssl证书)
2、授权用户只可以用ssl方式连接(这里例子是用户:admin、密码:admin)
以下是java代码的实现(用mysql驱动的MysqlDataSource实现 开始用的mysql-connector-java-5.0.4-bin.jar 不支持
换了5.1.30 可行)
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
public class DBUtil {
private static String USERNAME = "admin";
private static String PASSWORD= "admin";
private static String HOST = "localhost";
private static int PORT = 3306;
private static String DATABASE = "compass";
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
public class DBUtil {
private static String USERNAME = "admin";
private static String PASSWORD= "admin";
private static String HOST = "localhost";
private static int PORT = 3306;
private static String DATABASE = "compass";
//keystore路径 参数字符串必须是 file:/ XXXXX类型
private static String KEYSTORE_PATH = "file:/D:/myssl/keystore";
private static String KEYSTORE_PATH = "file:/D:/myssl/keystore";
//密码
private static String KEYSTORE_PASSWORD = "123456";
private static String TRUSTORE_PATH = "file:/D:/myssl/truststore";
private static String TRUSTORE_PASSWORD = "123456";
/**
* <p>Description:</p>
* @param args
* @return void
* @author LinwangFan
* @time 2014-11-21 上午10:29:00
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Statement stm = null;
ResultSet res = null;
Connection conn = null;
MysqlDataSource mysqlDS=null;
try{
mysqlDS = new MysqlDataSource();
mysqlDS.setUseSSL(true);
mysqlDS.setRequireSSL(true);
mysqlDS.setVerifyServerCertificate(true);
mysqlDS.setLogger("com.mysql.jdbc.log.StandardLogger");
mysqlDS.setClientCertificateKeyStoreType("JKS");
mysqlDS.setClientCertificateKeyStoreUrl(KEYSTORE_PATH);
mysqlDS.setClientCertificateKeyStorePassword(KEYSTORE_PASSWORD);
mysqlDS.setTrustCertificateKeyStoreType("JKS");
mysqlDS.setTrustCertificateKeyStoreUrl(TRUSTORE_PATH);
mysqlDS.setTrustCertificateKeyStorePassword(TRUSTORE_PASSWORD);
mysqlDS.setServerName(HOST);
mysqlDS.setPort(PORT);
mysqlDS.setUser(USERNAME);
mysqlDS.setPassword(PASSWORD);
mysqlDS.setDatabaseName(DATABASE);
conn = mysqlDS.getConnection();
stm = conn.createStatement();
res = stm.executeQuery("SELECT * FROM system_parameter");
while(res.next()){
System.out.println(res.getString(1));
}
}catch(Exception e){
e.printStackTrace();
} finally {
try {
if (res != null)
res.close();
if (stm != null)
stm.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
private static String KEYSTORE_PASSWORD = "123456";
private static String TRUSTORE_PATH = "file:/D:/myssl/truststore";
private static String TRUSTORE_PASSWORD = "123456";
/**
* <p>Description:</p>
* @param args
* @return void
* @author LinwangFan
* @time 2014-11-21 上午10:29:00
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Statement stm = null;
ResultSet res = null;
Connection conn = null;
MysqlDataSource mysqlDS=null;
try{
mysqlDS = new MysqlDataSource();
mysqlDS.setUseSSL(true);
mysqlDS.setRequireSSL(true);
mysqlDS.setVerifyServerCertificate(true);
mysqlDS.setLogger("com.mysql.jdbc.log.StandardLogger");
mysqlDS.setClientCertificateKeyStoreType("JKS");
mysqlDS.setClientCertificateKeyStoreUrl(KEYSTORE_PATH);
mysqlDS.setClientCertificateKeyStorePassword(KEYSTORE_PASSWORD);
mysqlDS.setTrustCertificateKeyStoreType("JKS");
mysqlDS.setTrustCertificateKeyStoreUrl(TRUSTORE_PATH);
mysqlDS.setTrustCertificateKeyStorePassword(TRUSTORE_PASSWORD);
mysqlDS.setServerName(HOST);
mysqlDS.setPort(PORT);
mysqlDS.setUser(USERNAME);
mysqlDS.setPassword(PASSWORD);
mysqlDS.setDatabaseName(DATABASE);
conn = mysqlDS.getConnection();
stm = conn.createStatement();
res = stm.executeQuery("SELECT * FROM system_parameter");
while(res.next()){
System.out.println(res.getString(1));
}
}catch(Exception e){
e.printStackTrace();
} finally {
try {
if (res != null)
res.close();
if (stm != null)
stm.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
0 0
- MySQL配置SSL之后的JAVA连接MySQL的代码
- Hibernian连接mysql的配置参考代码
- mysql 配置支持SSL连接
- 下安装支持ssl连接的Mysql
- Java jdbc连接MySQL的代码
- Java代码与mysql数据库的连接
- Java连接MYSQL数据库的示例代码
- 连接mysql数据库之后的“分页”问题
- C3P0 数据库连接池 详细配置 解决mysql连接8小时之后连接异常的问题
- java mysql 的连接
- Java连接mysql代码
- Java的SSL连接
- MySQL 远程连接的配置
- 配置mysql的远程连接
- MySQL远程连接的配置
- 连接mysql数据库的配置
- Mysql连接字符串的配置
- 配置mysql的连接数
- SQL语句查询指定的数据,查询只选择了指定4门课程的学生
- iOS工程环境
- BZOJ 1087 SCOI 2005 互不侵犯King 状压DP
- 测试所用
- 文件选择器(JFileChooser)
- MySQL配置SSL之后的JAVA连接MySQL的代码
- XP做的按键精灵脚本在WIN7上面不能用?
- 每位开发人员都应铭记的10句编程谚语
- 预防死锁之银行家算法
- 广东移动:各技术岗简介——FML
- 禁止gallery手动滑动,但可以响应item的点击
- 看似不为人知的Linux操作系统到底有多重要
- CSS动态实现文本框清除按钮的隐藏与显示
- jQuery 自定义网页滚动条样式插件 mCustomScrollbar 的介绍和使用方法