JDBC使用SSL连接mysql

JDBC使用SSL连接mysql,第1张

前言

因为工作中上层领导发话,保密级别高的数据库交互需要用SSL连接,然后集体懵逼了,都没有弄过,问过自己的朋友也都没搞过这些,网上找的案例总是失败,最后参照MySql官网终于打通了x509的连接,接下来上实例

将客户端密钥和证书文件转换为 PKCS #12 存档

首先准备好client-cert.pem和client-key.pem文件,然后执行以下指令,如果没有安装openssl可以下载安装或在linux上执行,然后download生成的p12文件

openssl pkcs12 -export -in client-cert.pem -inkey client-key.pem -name "mysqlclient" -passout pass:mypassword -out client-keystore.p12
将客户端密钥和证书导入 Java 密钥库:

Windows系统下进入java bin目录运行

keytool -importkeystore -srckeystore client-keystore.p12 -srcstoretype pkcs12 -srcstorepass mypassword -destkeystore keystore -deststoretype JKS -deststorepass mypassword
配置连接

这是最后一步,可以通过三种方式实现:

1.使用 Java 命令行参数
-Djavax.net.ssl.keyStore=path_to_keystore_file
-Djavax.net.ssl.keyStorePassword=mypassword
2.直接在客户端代码中设置系统属性:
System.setProperty("javax.net.ssl.keyStore","生成的keystore路径"); 
System.setProperty("javax.net.ssl.keyStorePassword","mypassword");
3.通过 Connector/J 连接属性:
clientCertificateKeyStoreUrl=file:生成的keystore路径
clientCertificateKeyStorePassword=mypassword

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/798960.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存