我正在尝试在Spring启动应用程序和GCP MySQL实例之间建立SSL连接。 为此已经生成并下载了客户端-cece.pem' client-key.pem'和 ' server-ca .pem'来自GCP。 遵循以下步骤:
第1步:生成' my-cert.p12'文件
openssl pkcs12 -export -in client-cert.pem -inkey client-key.pem -out my-cert.p12
第2步:导入' my-cert.p12'文件
keytool -importkeystore -srckeystore D:\my-cert.p12 -destkeystore ./cacerts -srcstoretype PKCS12 -deststorepass changeit
setp 3 :已转换' server-ca.pem
'到' server-ca.der
'
openssl x509 -in server-ca.pem -inform pem -out server-ca.der -outform der
第4步:导入' server-ca.der
'
keytool -importcert -alias gcp-mysql-ca -keystore ./cacerts -storepass changeit -file D:\ server-ca.der
步骤5:配置spring boot application.properties文件:
spring.datasource.url= jdbc:mysql://xxx.xxx.xxx.xxx:3306/xxx?useUnicode=true&characterEncoding=utf8&useSSL=true&requireSSL=true
当我运行spring boot应用程序时,获得以下异常:
引起:java.sql.SQLException:拒绝用户访问 '根' @' XXX.XXX.XXX.XX' (使用密码:是)
有人建议安装GCP MySQL SSL证书并在Spring Boot应用程序中配置它的好方法吗?
答案 0 :(得分:0)
您是否考虑过使用Spring Cloud GCP SQL集成? 您可以使用Google OAuth2凭据,Spring Cloud GCP将负责其余工作。
https://github.com/spring-cloud/spring-cloud-gcp
https://docs.spring.io/spring-cloud-gcp/docs/1.0.0.M2/reference/htmlsingle/#_spring_jdbc