“PKIX 路径构建失败:无法找到请求目标的有效证书路径”仅在发布版本中

Posted

技术标签:

【中文标题】“PKIX 路径构建失败:无法找到请求目标的有效证书路径”仅在发布版本中【英文标题】:"PKIX path building failed: unable to find valid certification path to requested target" Only in release version 【发布时间】:2016-05-10 02:25:09 【问题描述】:

这个问题有点棘手。我试图通过 LDAPS 将我的 war 文件连接到 Active Directory。在 IntelliJ IDEA 的调试模式下运行时,代码运行良好。

当我在同一台或不同台机器上安装war文件时,我面临这个错误。

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

证书是自签名的。我在truststore.jks 中添加了CA.crt,在cacerts 中添加了LDAP.cer。我也尝试添加 `jssecacerts',但结果相同。

注意:我使用的是 Apache Shiro 框架。

如何避免这个错误?为什么它没有进入调试模式?

【问题讨论】:

你将它“部署”到哪里?同一台机器? 显然您无法将相应的正确证书导入您的信任库... 是和否,在同一台机器和其他机器上试过@rmlan @SercanOzdemir 我也已将证书添加到 truststore.jks 文件中。 您是否也将相应的属性添加到您部署战争的服务器的运行配置中?开始选项中的 -Djavax.net.ssl.trustStore=<path/to/your/truststore> 之类的? 【参考方案1】:

这不是 Shiro 问题。你的证书有问题。我怀疑您的 IDE 使用的 Java 安装可能与您部署的 WAR 的执行位置不同。

此异常之前已处理 How to ignore PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException?。

另外,我发现这篇文章很有用PKIX path building failed: SunCertPathBuilderException: unable to find valid certification path to requested target.。

【讨论】:

【参考方案2】:

肯定是它的证书问题。对我有用的是,将所需的证书放在 C -> program files-> java -> jre -> lib -> security 位置。在此位置粘贴证书后,构建成功

【讨论】:

【参考方案3】:

如果您使用 *** 或转发代理,您只需将代理的证书添加到 Java cacerts。

查看此答案以了解如何执行此操作。 https://***.com/a/9619478/4144572

【讨论】:

以上是关于“PKIX 路径构建失败:无法找到请求目标的有效证书路径”仅在发布版本中的主要内容,如果未能解决你的问题,请参考以下文章