Java 什么都没变,只是变了;“对等方未经验证”;错误
我没有在我的tomcat上更改任何内容,但从2天前23:00左右发生“对等未验证”事件以来,我无法登录。 错误是Java 什么都没变,只是变了;“对等方未经验证”;错误,java,tomcat,ssl,single-sign-on,self-signed,Java,Tomcat,Ssl,Single Sign On,Self Signed,我没有在我的tomcat上更改任何内容,但从2天前23:00左右发生“对等未验证”事件以来,我无法登录。 错误是 2016-03-05 19:23:34 ERROR [UsernamePasswordAuthnHandler] - IOException happended during authentication javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated at sun.security.ssl.SSLSe
2016-03-05 19:23:34 ERROR [UsernamePasswordAuthnHandler] - IOException happended during authentication
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
at sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:407)
at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:126)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:572)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:645)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:480)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784)
at com.company.userservice.common.util.HttpUtil.execute(HttpUtil.java:256)
at com.company.userservice.common.util.HttpUtil.issueGetRequest(HttpUtil.java:94)
at com.company.userservice.engine.handler.UsernamePasswordAuthnHandler.authenticateUsernamePasswordInternal(UsernamePasswordAuthnHandler.java:124)
at org.jasig.cas.authentication.handler.support.AbstractUsernamePasswordAuthenticationHandler.doAuthentication(AbstractUsernamePasswordAuthenticationHandler.java:71)
我猜这是由自签名证书过期引起的,但它表明它仍然有效:
keytool-list-v-keystore xxxx.jks
序列号:7a692bb1
有效期:2014年7月3日星期四16:13:19至2016年6月2日星期四16:13:19
证书指纹:
下面是我在server.xml中的配置
<Connector port="8491" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/usr/local/tomcat7_8091/conf/xxxx.jks" keystorePass="123456" />
当前自签名密钥发生了什么变化?我还尝试生成一个新的自签名密钥,但仍然出现与上面相同的错误。我该怎么办?它已经工作了2年,但突然停止了工作 解决这个问题很容易,但找出根本原因却是一个痛苦的过程。。。希望我在这里写的东西能帮助将来的人,节省一些时间 我的属性文件中的确认错误: 为ssl端口设置了一个非ssl端口,在我的例子中,它应该是8443,而设置为8081 因此出现了错误 8443已在tomcat server.xml中启用,如下所示:
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="D:\xxxx\keystore" keystorePass="123456"/>
学到的另一个教训是在编辑之前不要忘记备份旧的配置文件!