繁体   English   中英

对等未在Web服务中通过身份验证?

[英]peer not authenticated in web service?

我在Tomcat 7上使用Java 1.7中的Spring使用REST Web服务。我在我的开发机上具有自签名证书。 当我尝试使用Rest Client调用API时,出现以下错误:

    peer not authenticated
    javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
        at sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:397)
        at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
        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:640)
        at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
        at org.wiztools.restclient.HTTPClientRequestExecuter.execute(HTTPClientRequestExecuter.java:387)
        at org.wiztools.restclient.ui.RESTViewImpl$2.run(RESTViewImpl.java:320)

谁能告诉我如何在不进行任何Java代码更改的情况下摆脱此错误?

注意:我已经在环境中运行以下命令:

keytool -genkey -v -keyalg RSA -alias tomcat -keypass 12345 -storepass 12345

看起来服务器正在请求客户端认证,并且您没有从客户端向服务器发送一个证书。 尝试使用-Djavax.net.debug = all参数运行VM。

而且我认为,如果不对代码进行更改,就不可能做到这一点。

如果使用jre 1.6,则会出现此问题。 当我切换到jre 1.7时,此问题消失了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM