【问题标题】:SunCertPathBuilderException; JAVA_OPTS with keystore required?SunCertPathBuilderException;需要带有密钥库的 JAVA_OPTS?
【发布时间】:2020-05-08 01:14:29
【问题描述】:

当通过 java API 服务通过 https 连接到远程服务器时,出现以下异常

sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

服务器是 Windows Server 2012,它也安装了相应的通配符证书作为根证书。 我已经使用 keytool 将完全相同的证书导入到名为 cacerts 的密钥库中,因此 jvm 使用它来防止上述异常。 如keytool所示,证书安装正确,但连接服务器时仍然出现握手异常。

我检查了服务器上的 windows 环境变量,发现缺少 JAVA_OPTS。 甚至尝试重新启动整个服务器,但这也无济于事。

为了让它工作,我是否需要手动添加环境变量来引用密钥库,如下所示?

-Djavax.net.ssl.trustStore=C:\path\to\cacerts

【问题讨论】:

  • 如果它是默认的 cacerts 文件,则不会。

标签: java ssl https keystore sslhandshakeexception


【解决方案1】:

我也可以通过将证书添加到 java 应用程序密钥库来解决此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-10
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 2020-10-26
    • 1970-01-01
    • 2014-02-18
    相关资源
    最近更新 更多