tomcat - "PKIX path building failed"分布式CAS应用程序在单独的Tomcat实例上时出现异常

标签 tomcat ssl cas

最近,我开始致力于配置 Spring Web 应用程序以与 Jasig CAS 一起使用。当我在已经配置为使用 SSL 的 Eclipse (Spring Tool Suite) 中创建的服务器中运行 CAS 客户端和 CAS 服务器时,一切正常。我能够运行,验证,注销......但是,当我创建一个与STS中的服务器具有相同server.xml的Tomcat实例并让应用程序在其上运行时,在向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 服务器中相同的 keystore 和信任库文件,并且证书已经导入到文件 jre/lib/security/cacerts 中。

当我尝试在 Eclipse Tomcat 服务器中同时运行 CAS 客户端和在独立 Tomcat 服务器中运行 CAS 服务器时,一切正常。但反之亦然。

STS Tomcat实例和stand alone Tomcat实例有什么区别吗?两者指的是同一个 CATALINA_BASE。

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

最佳答案

我找到了原因。我同时安装了 JRE 和 JDK。 Eclipse 中的 Tomcat 使用 JRE,但独立的 Tomcat 使用 JDK 内部的 JRE。我将证书导入此 JRE 并且它有效。感谢 paulsm4 的建议。

关于tomcat - "PKIX path building failed"分布式CAS应用程序在单独的Tomcat实例上时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35572867/

相关文章:

Apache AJP,ProxyPass : How to set the Host header

java - Google App Engine 新的免费 SNI SSL 服务说明

javascript - javascript 可以指定用于设置 HTTPS 连接的全局/默认选项吗?

maven - Apache Maven 错误 : Could not transfer artifact org. apache.maven.plugins :maven-clean-plugin:pom: 2. 5 到中央

java - CAS 过滤器在部署 war 时不拦截服务票据

eclipse - java.lang.IllegalArgumentException : Invalid <url-pattern> coreservlets. ShowItems_ArrayList 异常

hibernate - 从另一个 docker 容器连接到数据库

java - 如何在发送 Http POST 请求时禁用 ssl 验证?

python - 为什么python请求默认不使用系统ssl证书?

java - 部署时映射不明确