工作日志_工作没进展好痛苦啊 Apr4th 2007

工作真是不顺利。解决了一个问题接下来马上又会有一个新问题!

研究别人的东西。尤其是自己的经验不是很丰富,水平又不高的,就像我现在的情况一样。那是相当的郁闷。每天都生活在沮丧当中。感觉自己很无助,就像是一个人在一个漆黑的夜晚在毫无人烟的山谷中摸索前行。随时会摔倒,随时会受伤。哎!痛苦!

我前几天用从广东网通NETCA网上申请的证书解决了cas不能从ie中读取数字证书的问题,但是新问题又来了。底层的ssl连接又出问题了。错误信息:

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://localhost:9443/cas/serviceValidate] ticket=[ST-2-1fsdDlBRpLzPzHU0Ckk7kWjorunLygwclAW-20] service=[http%3A%2F%2Flocalhost%3A8080%2Fjsp-examples%2F] renew=false]]]
 at edu.yale.its.tp.cas.client.CASReceipt.getReceipt(CASReceipt.java:52)
 at edu.yale.its.tp.cas.client.filter.CASFilter.getAuthenticatedUser(CASFilter.java:455)
 at edu.yale.its.tp.cas.client.filter.CASFilter.doFilter(CASFilter.java:378)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
 at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
 at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
 at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
 at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
 at java.lang.Thread.run(Thread.java:534)
Caused by: java.net.SocketException: Software caused connection abort: recv failed
 at java.net.SocketInputStream.socketRead0(Native Method)
 at java.net.SocketInputStream.read(SocketInputStream.java:129)
 at com.sun.net.ssl.internal.ssl.InputRecord.a(DashoA12275)
 at com.sun.net.ssl.internal.ssl.InputRecord.read(DashoA12275)
 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
 at com.sun.net.ssl.internal.ssl.HandshakeOutStream.flush(DashoA12275)
 at com.sun.net.ssl.internal.ssl.SunJSSE_ax.a(DashoA12275)
 at com.sun.net.ssl.internal.ssl.SunJSSE_az.j(DashoA12275)
 at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(DashoA12275)
 at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(DashoA12275)
 at com.sun.net.ssl.internal.ssl.SunJSSE_ax.a(DashoA12275)
 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.j(DashoA12275)
 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.b(DashoA12275)
 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(DashoA12275)
 at sun.net.www.protocol.https.HttpsClient.afterConnect(DashoA12275)
 at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(DashoA12275)
 at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:620)
 at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(DashoA12275)
 at edu.yale.its.tp.cas.util.SecureURL.retrieve(SecureURL.java:84)
 at edu.yale.its.tp.cas.client.ServiceTicketValidator.validate(ServiceTicketValidator.java:212)
 at edu.yale.its.tp.cas.client.CASReceipt.getReceipt(CASReceipt.java:50)
 ... 28 more

 

我google这个异常,发现很多人都有这个问题。可能一起这个异常的原因会有很多,但是表现都是这个错误。有的人居然三年都没有解决这个问题。Shit!

有人说换了linux平台就解决了这个问题。这对我来说毫无意义。

我猜想引起这个问题的原因是服务器的数字证书的问题。但是我从网上申请来的数字证书又不能导入到keystore文件当中去。郁闷!!

还有一个问题,就是证书路径的问题。cas对证书的认证中还包括 maxpathleng的认证。我不知道,数字证书这个pathlength的含义。cas验证证书失败就是因为这个pathleng属性超过了maxpathleng才导致验证失败。my god!!

再有就是证书的读取的问题。如果我把签发客户端证书的ca证书导入到 ie 中的话,那么cas验证的证书就直接验证ca证书,而不验证client证书。如果把ca证书从ie中完全删除的话,cas才验证client证书。

这可能是一个异常,也可能是我理解有误。现在暂且这么说。

我想先把一个功能完善的ca先建立起来再来做配置cas这个方面的工作。毕竟现在有关安全方面的应用都是基于数字证书的,数字证书是基础,如果这个基础不好扎实,那后面的工作就很难从事了。

哎,这样的话就变的工作计划。要看领导怎么想了。

 

我的时间不多了,这一周就要求我把cas配置好。今天都周三了。

努力吧。

先看看能不能将申请来的证书放到keystore文件当中去吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值