2013-04-02 108 views
0

我用CAS升级了我的GWT项目。当我在开发模式下测试它时,它工作正常。现在我想将我的项目部署到tomcat。当我运行它时,我可以访问CAS服务器。但是当CAS服务器将我指回我的webapp时,我收到了这个错误。GWT CAS Tomcat部署失败

HTTP状态500 - javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径建设失败: sun.security.provider.certpath.SunCertPathBuilderException:无法找到 有效证明路径请求的目标

类型异常报告

消息javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:PKIX p ATH建筑失败: sun.security.provider.certpath.SunCertPathBuilderException:无法找到

说明服务器遇到阻止其 履行这一要求一个内部错误有效证明文件路径请求的目标。

例外

了java.lang.RuntimeException:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:PKIX路径建设失败: sun.security.provider.certpath.SunCertPathBuilderException:无法 找到有效的认证路径要求的目标 org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:295) org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketValidator.retrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java:33) org.jasig.cas.client.validation.AbstractUrlBasedTicketValida tor.validate(AbstractUrlBasedTicketValidator.java:178) org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:132) org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java: 102) org.jasig.cas.client.util.HttpServletRequestWrapperFilter.doFilter(HttpServletRequestWrapperFilter.java:62) org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:110)

根源

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:PKIX路径构建失败: sun.security.provider.certpath.SunCertPathBuilderException:无法到 找到有效的证书路径到请求的目标 sun.security.ssl.Alerts.getSSLException(Alerts.java:192) sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl .java:1902) sun.security.ssl.Handshaker.fatalSE(Handshaker.java:276) sun.security.ssl.Handshaker.fatalSE(Handshaker.java:270) sun.security.ssl.ClientHandshaker.serverCertificate( ClientHandshaker.java:1338) sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:154) sun.security.ssl.Handshaker.processLoop(Handshaker.java:868) sun.security.ssl.Handshaker.process_record (Handshaker.java:804) sun.security.ssl.S SLSocketImpl.readRecord(SSLSocketImpl.java:1032) sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl。java:1328) sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355) sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339) sun.net.www.protocol.https.HttpsClient .Connect(HttpsClient.java:515) sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1299 ) sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254) org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:281) org.jasig.cas。 client.validation.AbstractCasProtocolUrlBasedTicketValidator.retrieveResponseFromServer(AbstractCasProtocolUrlBa sedTicketValidator.java:33) org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:178) org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:132) 组织.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:102) org.jasig.cas.client.util.HttpServletRequestWrapperFilter.doFilter(HttpServletRequestWrapperFilter.java:62) org.jasig.cas.client.session .SingleSignOutFilter.doFilter(SingleSignOutFilter.java:110)

根源

sun.security.validator.Validato r异常:PKIX路径建设失败: sun.security.provider.certpath.SunCertPathBuilderException:无法找到 有效证明路径请求的目标 sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385) sun.security。 validator.PKIXValidator.engineValidate(PKIXValidator.java:292) sun.security.validator.Validator.validate(Validator.java:260) sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:326) sun.security .ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231) sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126) sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1320) sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:154) sun.security.ssl.Handshaker.processLoop(Handshaker.java:868) sun.security.ssl.Handshaker.process_record(Handshaker.java:804 ) sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1032) sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1328) sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java: (HttpsClient.java:515) sun.net.www.protocol.https .AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) su n.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1299) sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254) org.jasig.cas.client。 util.CommonUtils.getResponseFromServer(CommonUtils.java:281) org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketValidator.retrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java:33) org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator。 Java的:178) org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:132) org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:102) org.jasig .cas.client。util.HttpServletRequestWrapperFilter.doFilter(HttpServletRequestWrapperFilter.java:62) org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:110)

根源

sun.security.provider.certpath .SunCertPathBuilderException:无法找到 有效证明路径请求的目标 sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:196) java.security.cert.CertPathBuilder.build(CertPathBuilder.java:268) sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380) sun.security.validator.PKI XValidator.engineValidate(PKIXValidator.java:292) sun.security.validator.Validator.validate(Validator.java:260) sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:326) sun.security.ssl .X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231) sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126) sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1320) sun.security。 ssl.ClientHandshaker.processMessage(ClientHandshaker.java:154) sun.security.ssl.Handshaker.processLoop(Handshaker.java:868) sun.security.ssl.Handshaker.process_record(Handshaker.java:804) sun.security .ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1 032) sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1328) sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355) sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java :1339) sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:515) sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) sun.net。 www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1299) sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254) org.jasig.cas.client.util.CommonUtils。 getResponseFromServer(CommonUtils.java:281) org.jasig.cas.clien t.validation.AbstractCasProtocolUrlBasedTicketValidator.retrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java:33) org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:178) org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter( AbstractTicketValidationFilter.java:132) org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:102) org.jasig.cas.client.util.HttpServletRequestWrapperFilter.doFilter(HttpServletRequestWrapperFilter.java:62) 组织.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:110)

note注意根本原因的完整堆栈跟踪可用在Apache Tomcat/7.0.37日志中。 Apache Tomcat/7.0.37

无法弄清楚如何解决它。

回答

0

我假设您在deployDescriptor.xml中启用https=true。序,使CAS的工作与HTTPS你必须创建一个keystore文件

Creating a Keystore File

+0

是的,我已经做了这一点。我也通过https:// localhost:8443/ – Laura

+0

到达我的服务器你的意思是通过deployDescriptor.xml? – Laura

+0

我的意思是deployConfigContext.xml ..你在tomcat上粘贴keystore文件的地方? –