开启MySql数据库SSL证书以后 如何在jdbc中配置证书访问呢?
关于数据库如何配置SSL证书自行百度 这里演示客户端如何利用证书来进行数据通讯。
开启证书jdbc认证后 肯定是有一定的性能开销的,个人觉得内网环境无需配置CA证书校验。

下面用一个示例来演示如何配置

未配置证书访问前


spring.datasource.url=jdbc:mysql://127.0.0.1:3306/sslcatestdb?zeroDateTimeBehavior=convertToNull&characterEncoding=utf-8

配置了证书访问后


spring.datasource.url=jdbc:mysql://127.0.0.1:3306/sslcatestdb?zeroDateTimeBehavior=convertToNull&characterEncoding=utf-8useSSL=true&trustCertificateKeyStoreUrl=file:/证书路径&trustCertificateKeyStoreType=证书类型&trustCertificateKeyStorePassword=证书密码&
clientCertificateKeyStoreUrl=file:/证书路径&clientCertificateKeyStoreType=证书类型&clientCertificateKeyStorePassword=证书密码&verifyServerCertificate=true

证书相关配置属性

  • useSSL 开启ssl
  • trustCertificateKeyStoreUrl 服务端证书路径
  • trustCertificateKeyStoreType 服务端证书类型
  • trustCertificateKeyStorePassword 服务端证书密码
  • clientCertificateKeyStoreUrl 客户端证书路径
  • clientCertificateKeyStoreType 客户端证书类型
  • clientCertificateKeyStorePassword 客户端证书密码
  • verifyServerCertificate 信任验证服务器证书

参考 https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-connp-props-security.html