报错sun.security.validator.ValidatorException: PKIX path building failed

Java客户端访问HTTPS站点(服务器)时,Java客户端的会试图构建一个从当前服务器证书到信任的根证书颁发机构(CA)的信任路径,如果无法成功构建这条路径,就可能抛出如下异常:

  • javax.net.ssl.SSLHandshakeException:表示SSL/TLS握手失败。可能是由于服务器证书不受信任,请检查服务器端使用的证书是否过期或者无效。

  • sun.security.validator.ValidatorException:表示PKI(Public Key Infrastructure,公钥基础设施)路径构建失败。即在证书链验证过程中找不到从服务器证书到一个受信任根CA的有效路径,可能是JVM信任库(通常位于$JAVA_HOME/jre/lib/security/cacerts)没有服务端证书的根证书或中间证书。请您尝试将目标服务器证书对应的根证书或者整个证书链添加到本地JVM的信任存储库。对应证书品牌的根证书和中间证书下载说明,请参见下载根证书和中间证书

    说明

    在Java中,JVM的信任库(TrustStore)通常指的是包含一系列受信任的CA证书或自签名证书的密钥库文件,用于验证远程服务器的身份。默认的信任库文件路径取决于您的操作系统和Java版本。