这个问题有些棘手。我试图通过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框架。
如何避免这个错误?为什么它不进入调试模式?
最佳答案
这不是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.有用。