GBase 8c以SSL方式通过JDBC连接-客户端配置

客户端配置

配置步骤如下:

上传证书文件,将在服务端配置章节生成出的文件client.key.pk8,client.crt,cacert.pem放置在客户端。

示例

注:示例1和示例2选择其一。

public class SSL{

public static void main(String[] args) { Properties urlProps = new Properties();

String urls = "jdbc:postgresql://10.29.37.136:5600/postgres";

/**

* ================== 示例1 使用NonValidatingFactory通道

*/ urlProps.setProperty("sslfactory","org.postgresql.ssl.NonValidatingFactory"); urlProps.setProperty("user", "world");

urlProps.setProperty("password", "test@123"); urlProps.setProperty("ssl", "true");

/**

* ================== 示例2 使用证书

*/

urlProps.setProperty("sslcert", "client.crt"); urlProps.setProperty("sslkey", "client.key.pk8"); urlProps.setProperty("sslrootcert", "cacert.pem"); urlProps.setProperty("user", "world"); urlProps.setProperty("ssl", "true");

/* sslmode可配置为:require、verify-ca、verify-full,以下三个示例选择其一*/

/* ================== 示例2.1 设置sslmode为require,使用证书 */ urlProps.setProperty("sslmode", "require");

/* ================== 示例2.2 设置sslmode为verify-ca,使用证书 */ urlProps.setProperty("sslmode", "verify-ca");

/* ================== 示例2.3 设置sslmode为verify-full,使用证书(Linux下验证) */ urls = "jdbc:postgresql://world:5600/postgres";

urlProps.setProperty("sslmode", "verify-full"); try {

Class.forName("org.postgresql.Driver").newInstance();

} catch (Exception e) { e.printStackTrace();

}

try {

Connection conn;

conn = DriverManager.getConnection(urls,urlProps); conn.close();

} catch (Exception e) { e.printStackTrace();

}

}

}

/**

注:将客户端密钥转化为DER格式:

openssl pkcs8 -topk8 -outform DER -in client.key -out client.key.pk8 -nocrypt

openssl pkcs8 -topk8 -inform PEM -in client.key -outform DER -out client.key.der -v1 PBE-MD5-DES

openssl pkcs8 -topk8 -inform PEM -in client.key -outform DER -out client.key.der -v1 PBE-SHA1-3DES

以上算法由于安全级别较低,不推荐使用。

如果客户需要采用更高级别的私钥加密算法,启用bouncycastle或者其他第三方私钥解密密码包后可以使用的私钥加密算法如下:

openssl pkcs8 -in client.key -topk8 -outform DER -out client.key.der -v2 AES128

openssl pkcs8 -in client.key -topk8 -outform DER -out client.key.der -v2 aes-256-cbc -iter 1000000

openssl pkcs8 -in client.key -topk8 -out client.key.der -outform Der -v2 aes-256-cbc -v2prf hmacWithSHA512

启用bouncycastle:使用jdbc的项目引入依赖:bcpkix-jdk15on.jar包,版本建议:1.65以上。

*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值