我成功使用MySQL Workbench对Bluemix托管的MySQL Compose服务执行完全攻击。将SpringBoot连接到托管在云中的MySQL需要SSL
然后,我在本地笔记本电脑上用Apache Derby构建了一个简单的SpringBoot Microservice ...成功。
我的下一步是使用Bluemix中托管的MySQL Compose。
我编辑application.properties跑进此错误 “PKIX路径建设失败:......” “SunCertPathBuilderException:找不到请求目标的有效证书路径”
application.properties file
spring.jpa.hibernate.ddl-auto=create
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
spring.datasource.url=jdbc:mysql://somedomain:port/compose?useSSL=true?requireSSL=true
spring.datasource.username=myname
spring.datasource.password=mypassword
Bluemix为我提供这些凭据在JSON:
{
"db_type": "mysql",
"name": "bmix-dal-yp-xxxxxxx-",
"uri_cli": "mysql -u myname -p --host somedomain.com --port 5555 --ssl-mode=REQUIRED",
"ca_certificate_base64": "LS0tLS1CRUd......",
"deployment_id": "58fexxxxxxxxxxx",
"uri": "mysql://myname:[email protected]:55555/compose"
}
我应该在我的application.properties中的某处使用CA证书吗?
我是否需要在默认情况下使用springBoot运行的嵌入式tomcat服务器上启用ssl?
如何配置我的springBoot应用程序以连接到我的云提供商带有SSL提供的json的MySQL实例?
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
问:我应该提供给我的“ca_certificate_base64”,其解码为一个名为“信任”的文件,并把它放在我的资源文件夹(SpringBoot项目)? – xpagesbeast
我已经更新了答案。请让我知道你是如何得到的。如果这不起作用,也许你可以在没有ssl的github中创建一个最小的例子,我可以尝试添加ssl并验证修复工作。 –
我将jdbc更改为不使用ssl,并且我能够从我的笔记本电脑(springBoot项目)上对云数据库执行全面的检查...成功我遵循您编写的创建密钥存储库的所有步骤,但有点困惑JAVA_OPTS环境变量。是否有我需要编辑的spring application.properties,以便Tomcat加载环境变量,还是需要在我的O/S(便携式计算机)中创建环境变量“global”。我正在使用Ubuntu Linux工作站。 – xpagesbeast