@TedZhou
2024-09-06T15:02:19.000000Z
字数 880
阅读 84
ssl
java
jdk
keytool
httpClient.executeMethod(method)出错如下:
javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException:
PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
由于Mozilla更新了其根证书信任策略,即对于全球所有CA的可信根证书生成后最少15年更换一次,超过时间的可信根将会逐步被Mozilla停止信任,因此Digicert的部分老根证书将会在2023年07月01日左右逐步升级为Digicert Global Root G2。
也就是说新证书的根证书变了。我的老java应用的jre带的security/cacerts没有自带Digicert Global Root G2
从浏览器导出"Digicert Global Root G2.crt",然后导入到用到的java jre中:
keytool -importcert -file '/pathto/DigiCert Global Root G2.crt' -keystore '/pathto/jre/lib/security/cacerts' -storepass changeit
然后重启java应用即可。
只是根证书改为:TrustAsia ECC DV TLS CA G3