没有任何改变但是得到了“peer not authenticated”错误

时间:2016-03-05 16:06:20

标签: java tomcat ssl single-sign-on self-signed

我没有更改我的tomcat上的任何内容但是从2天前大约23:00 pm“peer not authenticated”发生了,从那以后我无法登录。 错误是

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 CST 2014年至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年,但突然间它停止了工作。

1 个答案:

答案 0 :(得分:0)

解决这个问题很简单,但找出根本原因是一个痛苦的过程...希望我在这里写的内容可以帮助将来的某个人并节省一些时间。

我的属性文件中的confiration错误: 为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"/>