这个问题很棘手。我试图通过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框架。
如何避免此错误?为什么它没有进入调试模式?
答案 0 :(得分:3)
这不是Shiro问题。这是您的证书的问题。我怀疑您的IDE可能正在使用与执行部署的WAR不同的Java安装。
此异常已在先前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.。
答案 1 :(得分:0)
肯定是其证书问题。对我有用的是将所需的证书放在 C->程序文件-> java-> jre-> lib->安全 位置。在此位置粘贴证书后,构建成功