客户端tomcat错误:
2011-9-19 13:04:20 edu.yale.its.tp.cas.client.CASReceipt getReceipt
严重: edu.yale.its.tp.cas.client.CASAuthenticationException: Unable to validate ProxyTicketValidator [[edu.yale.its.tp.c
as.client.ProxyTicketValidator proxyList=[null] [edu.yale.its.tp.cas.client.ServiceTicketValidator casValidateUrl=[https
://timeless.:8443/cas/proxyValidate] ticket=[ST-1-AzWvAM1V0tmpJ1fbv30M] service=[http%3A%2F%2Fjsp.client%3A8080%2Fjsp-ex
amples%2F] renew=false]]]
2011-9-19 13:04:20 edu.yale.its.tp.cas.client.filter.CASFilter doFilter
严重: edu.yale.its.tp.cas.client.CASAuthenticationException: Unable to validate ProxyTicketValidator [[edu.yale.its.tp.c
as.client.ProxyTicketValidator proxyList=[null] [edu.yale.its.tp.cas.client.ServiceTicketValidator casValidateUrl=[https
://timeless.:8443/cas/proxyValidate] ticket=[ST-1-AzWvAM1V0tmpJ1fbv30M] service=[http%3A%2F%2Fjsp.client%3A8080%2Fjsp-ex
amples%2F] renew=false]]]页面错误:
exception javax.servlet.ServletException: Unable to validate ProxyTicketValidator [[edu.yale.its.tp.cas.client.ProxyTicketValidator proxyList=[null] [edu.yale.its.tp.cas.client.ServiceTicketValidator casValidateUrl=[https://timeless.:8443/cas/proxyValidate] ticket=[ST-1-AzWvAM1V0tmpJ1fbv30M] service=[http%3A%2F%2Fjsp.client%3A8080%2Fjsp-examples%2F] renew=false]]]
edu.yale.its.tp.cas.client.filter.CASFilter.doFilter(CASFilter.java:381)
root cause edu.yale.its.tp.cas.client.CASAuthenticationException: Unable to validate ProxyTicketValidator [[edu.yale.its.tp.cas.client.ProxyTicketValidator proxyList=[null] [edu.yale.its.tp.cas.client.ServiceTicketValidator casValidateUrl=[https://timeless.:8443/cas/proxyValidate] ticket=[ST-1-AzWvAM1V0tmpJ1fbv30M] service=[http%3A%2F%2Fjsp.client%3A8080%2Fjsp-examples%2F] renew=false]]]
edu.yale.its.tp.cas.client.CASReceipt.getReceipt(CASReceipt.java:52)
edu.yale.its.tp.cas.client.filter.CASFilter.getAuthenticatedUser(CASFilter.java:455)
edu.yale.its.tp.cas.client.filter.CASFilter.doFilter(CASFilter.java:378)
root cause java.io.IOException: Server returned HTTP response code: 500 for URL: https://timeless.:8443/cas/proxyValidate?service=http%3A%2F%2Fjsp.client%3A8080%2Fjsp-examples%2F&ticket=ST-1-AzWvAM1V0tmpJ1fbv30M
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1241)
sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)
edu.yale.its.tp.cas.util.SecureURL.retrieve(SecureURL.java:84)
edu.yale.its.tp.cas.client.ServiceTicketValidator.validate(ServiceTicketValidator.java:212)
edu.yale.its.tp.cas.client.CASReceipt.getReceipt(CASReceipt.java:50)
edu.yale.its.tp.cas.client.filter.CASFilter.getAuthenticatedUser(CASFilter.java:455)
edu.yale.its.tp.cas.client.filter.CASFilter.doFilter(CASFilter.java:378)
访问服务器时完全正确,没有错误,但是客户端访问的时候就报这个错,开始我查可能是keytool生成认证的错误,但是生成了好几次,都是同样的错误,我的生成keytool的命令是:1.命令:keytool -genkey -alias fingoo -keyalg RSA -keystore fingoo2.命令:keytool -export -file fingoo.crt -alias wsria -keystore keys/fingoo3.命令:keytool -import -keystore %JAVA_HOME%\jre\lib\security\cacerts -file fingoo.crt -alias fingoo请求高人指点

解决方案 »

  1.   

    服务器的tomcat的错误是:
    2011-09-19 12:01:58,796 ERROR [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/cas].[cas]] - <Servlet.se
    rvice() for servlet cas threw exception>
    java.lang.InstantiationException
            at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccess
    orImpl.java:30)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
            at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:85)
            at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:60)
            at org.springframework.web.servlet.view.UrlBasedViewResolver.buildView(UrlBasedViewResolver.java:431)
            at org.springframework.web.servlet.view.UrlBasedViewResolver.loadView(UrlBasedViewResolver.java:412)
            at org.springframework.web.servlet.view.AbstractCachingViewResolver.createView(AbstractCachingViewResolver.java:
    159)
            at org.springframework.web.servlet.view.UrlBasedViewResolver.createView(UrlBasedViewResolver.java:378)
            at org.springframework.web.servlet.view.AbstractCachingViewResolver.resolveViewName(AbstractCachingViewResolver.
    java:78)
            at org.springframework.web.servlet.DispatcherServlet.resolveViewName(DispatcherServlet.java:1178)
            at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1122)
            at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:878)
            at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792)
            at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:475)
            at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:430)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
            at org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:115)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
            at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java
    :665)
            at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
            at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
            at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
            at java.lang.Thread.run(Thread.java:619)
    2011-09-19 12:02:13,343 INFO [org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner] - <Starting cleaning o
    f expired tickets from ticket registry at [Mon Sep 19 12:02:13 CST 2011]>
    2011-09-19 12:02:13,343 INFO [org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner] - <0 found to be remov
    ed.  Removing now.>
    2011-09-19 12:02:13,343 INFO [org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner] - <Finished cleaning o
    f expired tickets from ticket registry at [Mon Sep 19 12:02:13 CST 2011]>
    2011-09-19 13:03:33,734 INFO [org.jasig.cas.web.flow.InitialFlowSetupAction] - <Setting ContextPath for cookies to: /cas
    >
    2011-09-19 13:04:20,265 INFO [org.jasig.cas.authentication.AuthenticationManagerImpl] - <AuthenticationHandler: org.jasi
    g.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler successfully authenticated the user which provided the following
    credentials: 13763187250>
    2011-09-19 13:04:20,281 INFO [org.jasig.cas.CentralAuthenticationServiceImpl] - <Granted service ticket [ST-1-AzWvAM1V0t
    mpJ1fbv30M] for service [http://jsp.client:8080/jsp-examples/] for user [13763187250]>
    2011-09-19 13:04:20,718 ERROR [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/cas].[cas]] - <Servlet.se
    rvice() for servlet cas threw exception>
    java.lang.InstantiationException
            at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccess
    orImpl.java:30)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
            at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:85)
            at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:60)
            at org.springframework.web.servlet.view.UrlBasedViewResolver.buildView(UrlBasedViewResolver.java:431)
            at org.springframework.web.servlet.view.UrlBasedViewResolver.loadView(UrlBasedViewResolver.java:412)
            at org.springframework.web.servlet.view.AbstractCachingViewResolver.createView(AbstractCachingViewResolver.java:
    159)
            at org.springframework.web.servlet.view.UrlBasedViewResolver.createView(UrlBasedViewResolver.java:378)
            at org.springframework.web.servlet.view.AbstractCachingViewResolver.resolveViewName(AbstractCachingViewResolver.
    java:78)
            at org.springframework.web.servlet.DispatcherServlet.resolveViewName(DispatcherServlet.java:1178)
            at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1122)
            at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:878)
            at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792)
            at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:475)
            at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:430)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
            at org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:115)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
            at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java
    :665)
            at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
            at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
            at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
            at java.lang.Thread.run(Thread.java:619)
      

  2.   

    我是在一台机器上的两个tomcat模拟的服务器和客户端,证书的cn输入的是timeless.客户端访问服务器的是用的这个,我本地host中配置了127.0.0.1是jsp.client;是用的这个访问的,
    http://jsp.client:8080/jsp-examples
    然后他会跳转到
    https://timeless.:8443/cas/login?service=http%3A%2F%2Fjsp.client%3A8080%2Fjsp-examples%2F
    输入用户名,密码后
    地址栏是:http://jsp.client:8080/jsp-examples/?ticket=ST-4-ANpE2m4fEVldPC4UdE4o
    同时也就出错了
      

  3.   

    查看Jre lib security 里面是否有cacerts 证书文件 如果没有copy到目录下
    我的是这么解决的 不知道是否能帮到你