在单独的 Tomcat 实例上分发 CAS 应用程序时"PKIX path building failed"异常



最近,我开始配置Spring Web应用程序以与Jasig CAS一起使用。当我在 Eclipse(Spring 工具套件)中创建的服务器中运行 CAS 客户端和 CAS 服务器时,一切都很好,该服务器已配置为使用 SSL。我能够运行,身份验证,注销...但是,当我在 STS 中创建与服务器相同的服务器.xml并让应用程序在其上运行时,在输入用户名、密码到 CAS 服务器登录表单后,服务器重定向到客户端登录页面并生成票证后,发生了此异常:

HTTP Status 500 - javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

我使用了与STS Tomcat服务器相同的密钥库和信任库文件,并且证书已经导入到文件jre/lib/security/cacerts中。

当我尝试在Eclipse Tomcat服务器中运行

CAS客户端以及在独立的Tomcat服务器中运行CAS服务器时,还可以。但反之亦然。

STS 雄猫实例和独立雄猫实例之间有什么区别吗?两者都指同一个CATALINA_BASE。

我使用 Tomcat 7.0.67、CAS 3.6.0、Spring Security 3.1.4。

我找到了原因。我同时安装了 JRE 和 JDK。Eclipse 中的 Tomcat 使用 JRE,但独立的 Tomcat 在 JDK 中使用 JRE。我将证书导入此JRE,它可以工作。感谢保罗斯姆4的建议。

相关内容

最新更新