某次租户TA设备vmtools更新异常,手动更新后重启,发现desktone日志报错:
……nested exception is javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed:java.security.cert.CertPathValidatorException:signature check falied
如下所示:
1)检查日志中指向的rm01日志
从上未有明显关联性信息。
2)检查租户TA设备上的CA证书列表
检查rm01的证书是否已经在信任库中
keytool -list -keystore "$JAVA_HOME/jre/lib/security/cacerts"
3)租户TA上下载rm01的CA证书:
echo -n | openssl s_client -connect:8443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/ .crt
其中: 替换为日志中报的指向url,使用-noprompt非交互操作
4)导入rm1下载下来的CA证书:
keytool -import -v -trustcacerts -alias-file ~/ .crt -keystore /jre/lib/security/cacerts -storepass changeit
注:如果你的keystore的默认密码不是changeit,请输入你自己的,TA中默认与desktone一致。
5)重启故障TA,检查desktone日志验证,现场显示,这时desktone日志已恢复正常。
6)原因:
这是因为证书丢失或rm02设备(检查重置过)提供的证书不在租户TA2 jvm 的受信任存储库中,造成他们之间通信验证警告。当服务器更改其 HTTPS SSL 证书时会出现此问题,而租户TA设备上的 java 无法识别过期的根证书颁发机构 (CA);
三、附录:文献参考PKIX path building failed Error ?



