我正在尝试在Spring启动应用程序和GCP MySQL实例之间 Build SSL连接 . 为此,已经从GCP生成并下载了“client-cert.pem”,“client-key.pem”和“server-ca .pem” . 遵循以下步骤:
Step 1 :生成'my-cert.p12'文件
openssl pkcs12 -export -in client-cert.pem -inkey client-key.pem -out my-cert.p12
Step 2 :导入'my-cert.p12'文件
keytool -importkeystore -srckeystore D:\my-cert.p12 -destkeystore ./cacerts -srcstoretype PKCS12 -deststorepass changeit
setp 3 :已转换' server-ca.pem
' to ' server-ca.der
'
openssl x509 -in server-ca.pem -inform pem -out server-ca.der -outform der
step 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:用户'root'@'XXX.XXX.XXX.XX'拒绝访问(使用密码:YES)
任何人都可以建议一个安装GCP MySQL SSL证书并在Spring Boot应用程序中配置它的好方法吗?
1 回答
您是否考虑过使用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