linux已经具备G2证书,代码中也没有指定使用根证书的代码,但是绑定到新证书环境:43.142.224.50 api.mch.weixin.qq.com 就会报sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target这个错误,不指定就正常,也使用命令:keytool -importcert -keystore cacerts -storepass changeit -noprompt -file ./DigiCertGlobalRootG2.crt -alias digicertglobalrootg2 重新安装了证书还是不行,应该怎样去排查处理这个问题呢
看上去是没有使系统的服务器证书,请排查业务相关代码是否有指定了证书的。
https://developers.weixin.qq.com/community/develop/article/doc/0002284c6948c066ad919a2bc67813?page=1#comment-list
JAVA 还可能会默认使用 JDK 的 KeyStore 用下面命令检查:
cd $JAVA_HOME/jre/lib/security/ keytool -list -keystore cacerts | grep "digi"
如果缺失 G2 的话用下面命令添加:
cd $JAVA_HOME/jre/lib/security/ wget https://cacerts.digicert.com/DigiCertGlobalRootG2.crt keytool -importcert -alias "DigiCertGlobalRootG2" -file DigiCertGlobalRootG2.crt -keystore cacerts