CAS JDK 证书错误学习笔记

通过之前生产上发现的问题总结得出以下结论:

 问题现象就是:由F5 进行分发到cas 两个服务端 导致 客户端访问时  (时好时坏的现象 ) 通过在服务端的查看apahce 的访问日志得出的结论

 发现其中有一台apache 一直都没有访问日志发现的

 由于使用weblogic 12c 和 cas3.5 版本 最大问题在于 cas 服务端的两台机器生成的证书不规范 两个证书的生成时间有时间差

 这个可以通过浏览器查看证书的基本信息可得;重点是weblogic 12c 高版本对证书的要求性比较高 所以会报错、低版本的weblogic 不会存在证书验证

 不通过的问题 

 1、CAS 证书 分为 HTTP 和HTTPS 两种访问方式 (HTTP 模式 不需要JDK 证书直接可以访问,而HTTPS 模式需要JDK 证书的支持)。

 2、如果JDK 中的jre/lib/security 目录下的密钥文件 cacerts 没有访问权限的话也是报错的。

 3、如果在应用程序访问的JDK 不是你所导入证书的JDK的话也会出现证书的错误。

 4、目前还有一种情况是当jdk 中存在证书时,且以上的情况都满足的时候还出现如下错误暂时还没有解决

 以下是应用程序CAS报错信息: 

edu.yale.its.tp.cas.util.SecureURL -ST票据验证异常,e:class javax.net.ssl.SSLHandshakeException

                                                         ST票据验证异常

javax.net.ssl.SSLHandshakeException:General SSLEngine problem

javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:

PKIX path validation failed:java.security.cert.CertPathValidatorException: signature check failed

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://cas.hundsun.com:8443/cas/serviceValidate] ticket=[ST-73-gicvl1BIeG9b5LdPWBFz-cas] service=[http%3A%2F%2Flocalhost%3A8086%2FCasTest%2Findex.jsp] renew=false]]]

方法一:使用keytool手动导入证书,为JRE环境导入信任证书

摘自:http://www.cnblogs.com/wanghaixing/p/5630070.html

方法二:使用代码下载证书保存

摘自:https://blog.csdn.net/frankcheng5143/article/details/52164939

方法三:服务器不信任我们自己创建的证书,所以在代码中忽略证书信任问题。

原文地址:https://www.cnblogs.com/tzhyy/p/10131922.html