【发布时间】:2017-04-21 16:20:34
【问题描述】:
jdbc:mysql://localhost:3306/MyDb?verifyServerCertificate=true&useSSL=true&requireSSL=true
我从 mySql 服务器下载了公共证书并将其放入 cacerts 中,如下所示:
keytool.exe -import -alias mysql_dev \
-keystore /c/dev/tools/Java/jre1.8.0_131/jre/lib/security/cacerts \
-file rds-combined-ca-bundle.pem
我使用keytool 生成了新密钥,如下所示:
keytool.exe -genkeypair -alias adam \
-keypass changeit \
-keysize 1024 \
-keystore /c/dev/.secure/haa2xt.jks \
-storepass changeit
所以现在我可以看到 Java 正在从密钥库中获取我的密钥和从信任库中获取服务器证书,但我仍然收到 PKIX 错误。
PKIX 路径构建失败: sun.security.provider.certpath.SunCertPathBuilderException:无法 找到请求目标的有效认证路径
我将此调试参数添加到命令行并获得了一些看起来不错的更多信息,并且我可以在其中看到 mySql 证书。
-Djavax.net.debug=all
trustStore 为:c:\dev\tools\java\jdk1.8.0_131\jre\lib\security\cacerts
trustStore 类型是:jks
[.....]
keyStore 是:C:/dev/.secure/haa2xt.jks
keyStore 类型为:jks
keyStore 提供者是:
初始化密钥库
初始化 SunX509 类型的密钥管理器
*** 找到以下密钥:adam
我做错了什么?
【问题讨论】: