• 首页 > 
  • 在Windows10系统的Java环境中通过SSL加密方式连接PolarDB

在Windows10系统的Java环境中通过SSL加密方式连接PolarDB

KB: 193878

 · 

更新时间:2021-02-02 10:49

概述

本文主要介绍在Windows10系统的Java环境中,如何通过SSL加密方式连接云原生关系型数据库PolarDB(此方法同样适用于RDS MySQL) 。

详细信息

  1. 登录云数据库PolarDB控制台,选择目标地域,单击目标集群ID,单击安全管理,然后单击SSL状态右侧的开通按钮。
  2. 单击下载证书,下载的是压缩包,压缩包中包含3个文件,Java环境需要使用以.jks结尾的文件,具体文件信息请参见设置SSL加密
  3. 将ApsaraDB-CA-Chain.jks文件移动至[$PATH]\lib\security目录下。
    说明:[$PATH]为Java环境的安装目录,本文以 D:\PyCharm Community Edition 2018.1.3\jre64为例进行介绍。
  4. 打开Windows命令行界面,使用cd命令切换至Java环境的bin目录下,然后执行如下命令,导入证书。
    keytool -import -v -trustcacerts -alias appmanagement -file "[$PATH]\lib\security\ApsaraDB-CA-Chain.jks" -storepass apsaradb -keystore cacerts
    系统显示类似如下。

    此时会提示是否信任证书,输入“是”,然后按Enter键确认,系统显示类似如下。
  5. 执行如下命令,查看证书信息。
    keytool -list -keystore "[$PATH]\lib\security\cacerts" -storepass apsaradb -keystore cacerts
    系统显示类似如下。
  6. 在Java环境中使用JKS证书文件时,JDK7和JDK8需要修改默认的JDK安全配置文件。因此需要在连接PolarDB数据库的服务器的[$PATH]\jre\lib\security\java.security文件中,添加如下两项配置。
    jdk.tls.disabledAlgorithms=SSLv3, RC4, DH keySize < 224
    jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024
    说明:若不修改java.security安全配置文件,会报如下错误或其它由Java安全配置导致的报错。
    javax.net.ssl.SSLHandshakeException: DHPublicKey does not comply to algorithm constraints
  7. 到此客户端证书导入完成,现在您通过JDBC连接时,需要添加“useSSL=true”配置,如下所示。
    "jdbc:mysql://XXX.mysql.polardb.rds.aliyuncs.com:3306/jmdb?useUnicode=true&characterEncoding=UTF-8&useSSL=true",

适用于

  • 云原生关系型数据库PolarDB
  • 云数据库RDS MySQL版