使用可信路径方式连接数据库

介绍JDBC如何通过可信路径方式连接数据库

首先需要设置后台参数SECURE_COMMUNICATION_LEVEL,其中:

参数值 参数说明
0 不启用安全通信功能
1 启用安全通信功能, 但是否进行安全通信,由客户端来决定
2 启用安全通信功能, 强制客户端进行安全通信

并通过DBA工具生成ca证书,详情可查看DBA管理工具,CA使用说明 CA使用说明

package com.sun.cts.tests.jdbc.help_doc.ru_men;

/******************************************
 *这个例子演示使用可信路径方式连接数据库
 ******************************************/
import static org.junit.Assert.fail;

import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;

import org.junit.Test;

public class TrustedChannel {
	
	private Connection con;
	
	@Test
	public void execute() {
		try {
			Class.forName("com.oscar.Driver");
			Properties p = new Properties();
			p.setProperty("user", "SYSDBA");
			p.setProperty("password", "szoscar55");
			p.setProperty("ssl", "t");
			p.setProperty("ssl_load_style", "SSL_LOAD_STYLE_FILE");
			p.setProperty("certfile", "E:\\db\\ShenTong_20240429\\bin\\private\\sysdba.crt");//全路径
			p.setProperty("keyfile", "E:\\db\\ShenTong_20240429\\bin\\private\\sysdba.key");
			p.setProperty("keyfilepwd", "szoscar55123456!");
			 p.setProperty("rootfile", "E:\\db\\ShenTong_20240429\\bin\\private\\ca.crt");
			p.setProperty("NOSSLVersion", "f");
			con = DriverManager.getConnection("jdbc:oscar://192.168.1.63:4444/AQ", p);
			con.close();
		} catch (Exception e) {
			fail(e.getMessage());
		}

	}

	public static void main(String[] args) {
		new TrustedChannel().execute();
	}
}