1

Tomcat 7 で実行されている Java 1.7 で Spring を使用する REST Web サービスを使用しています。開発マシンで証明書に自己署名しました。REST クライアントを使用して 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コードを変更せずにこのエラーを取り除く方法を誰か教えてもらえますか?

注:私はすでに自分のenvで以下のコマンドを実行しました:

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

2 に答える 2

0

jre 1.6 を使用すると、この問題が発生します。jre 1.7 に切り替えると、この問題はなくなります。

于 2014-03-13T21:38:31.890 に答える
0

サーバーがクライアント認証を要求しているように見えますが、クライアントからサーバーに証明書が 1 つも送信されていません。-Djavax.net.debug=all パラメーターを使用して VM を実行してみてください。

そして、コードを変更せずにそれを行うことは不可能だと思います。

于 2013-03-29T02:02:16.110 に答える