我是如何解决java.security.cert.CertPathValidatorException异常的
[TOC] 问题来了 昨天,我还在我的工位上愉快的敲的代码,有位开发组的同事Z给我发消息。 开发组同事Z:大哥,这个PKI的登录功能是你做的吗? 我:是呀!N年前的事了。。。 开发组同事Z:PKI登录功能出问题了!有位客户使用他的PKI登录我们做的系统,登录时报错,换了几台电脑也不行。但是他使用他的PKI能登录其他的系统。能帮忙看一下吗,我找过好多同事看过了,他们看了下,都不知道如何入手 我:报错是报什么错?能具体的描述下吗? 开发组同事Z:访问系统时,能弹出证书的选择框,选择完证书后,Chrome浏览器的报错信息是: ERR_SSL_PROTOCOL_ERROR 我:行吧,我待会过去瞧瞧 问题分析 之前在配置tomcat的SSL时,我已经把客户证书的根证书已经导入到服务器信任证书列表内(配置见附录),“能弹出证书的选择框”说明服务器端是能识别出客户证书,但是为什么在登录的过程中,就报错了,可能有如下的几种原因: 服务器端的证书和服务器端的信任证书配置有误;(我一直以为是服务器端证书中的IP地址和服务器的IP不一致,后来才发现这个是不可能的) 登录过程中,tomcat能读取到客户端的证书,在程序处理的过程中,拒绝该证书;(客户端的证书的格式不被服务器端接受) 客户端证书过期了?(通过上面的描述好像不是这个错误) tomcat或者JDK有问题?(这个不太可能