2015-08-27 3 views
0

У меня проблема с SSL-рукопожатием. Я пытаюсь запустить GET-запрос, сервер вернет мне java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException.Abdera SSLHandshakeException

Я использую Abdera для соединения с сервером Connections, и на Websphare я установить SSL из соединений сайта, но это din't работу, мой код это:

государственной статической силы посыла (HttpServletRequest REQ, HttpServletResponse Respo) бросает исключение {

String back = ""; 

    String connectionsUser = req.getHeader("user"); 
    String connectionsPassword = req.getHeader("password"); 

    Abdera abdera = new Abdera(); 
    AbderaClient abderaClient = new AbderaClient(abdera); 

    AbderaClient.registerTrustManager(); 

    System.out.println(connectionsUser + " " + connectionsPassword); 
    abderaClient.addCredentials(Utils.configJson.getString("connectionsServer"), null, null, new UsernamePasswordCredentials(connectionsUser, connectionsPassword)); 

    ClientResponse resp = abderaClient.get(Utils.configJson.getString("connectionsServerURL") + Utils.configJson.getString("profileService")); 

и войти, это:

[8/27/15 17:14:56:663 CDT] 0000007c SystemErr  R java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure 
[8/27/15 17:14:56:664 CDT] 0000007c SystemErr  R  at org.apache.abdera.protocol.client.AbderaClient.execute(AbderaClient.java:701) 
[8/27/15 17:14:56:664 CDT] 0000007c SystemErr  R  at org.apache.abdera.protocol.client.AbderaClient.get(AbderaClient.java:216) 
[8/27/15 17:14:56:664 CDT] 0000007c SystemErr  R  at org.apache.abdera.protocol.client.AbderaClient.get(AbderaClient.java:404) 
[8/27/15 17:14:56:664 CDT] 0000007c SystemErr  R  at com.cemex.services.ProfileServiceDo.send(ProfileServiceDo.java:71) 
[8/27/15 17:14:56:664 CDT] 0000007c SystemErr  R  at com.cemex.services.ProfileServiceDo.doGet(ProfileServiceDo.java:38) 
[8/27/15 17:14:56:664 CDT] 0000007c SystemErr  R  at javax.servlet.http.HttpServlet.service(HttpServlet.java:575) 
[8/27/15 17:14:56:664 CDT] 0000007c SystemErr  R  at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) 
[8/27/15 17:14:56:664 CDT] 0000007c SystemErr  R  at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1230) 
[8/27/15 17:14:56:664 CDT] 0000007c SystemErr  R  at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779) 
[8/27/15 17:14:56:665 CDT] 0000007c SystemErr  R  at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478) 
[8/27/15 17:14:56:665 CDT] 0000007c SystemErr  R  at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) 
[8/27/15 17:14:56:665 CDT] 0000007c SystemErr  R  at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1071) 
[8/27/15 17:14:56:665 CDT] 0000007c SystemErr  R  at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3774) 
[8/27/15 17:14:56:665 CDT] 0000007c SystemErr  R  at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304) 
[8/27/15 17:14:56:665 CDT] 0000007c SystemErr  R  at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:981) 
[8/27/15 17:14:56:665 CDT] 0000007c SystemErr  R  at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662) 
[8/27/15 17:14:56:665 CDT] 0000007c SystemErr  R  at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200) 
[8/27/15 17:14:56:665 CDT] 0000007c SystemErr  R  at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:453) 
[8/27/15 17:14:56:665 CDT] 0000007c SystemErr  R  at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:515) 
[8/27/15 17:14:56:665 CDT] 0000007c SystemErr  R  at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:306) 
[8/27/15 17:14:56:665 CDT] 0000007c SystemErr  R  at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:277) 
[8/27/15 17:14:56:665 CDT] 0000007c SystemErr  R  at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214) 
[8/27/15 17:14:56:665 CDT] 0000007c SystemErr  R  at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113) 
[8/27/15 17:14:56:666 CDT] 0000007c SystemErr  R  at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175) 
[8/27/15 17:14:56:666 CDT] 0000007c SystemErr  R  at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) 
[8/27/15 17:14:56:666 CDT] 0000007c SystemErr  R  at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) 
[8/27/15 17:14:56:666 CDT] 0000007c SystemErr  R  at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) 
[8/27/15 17:14:56:666 CDT] 0000007c SystemErr  R  at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) 
[8/27/15 17:14:56:666 CDT] 0000007c SystemErr  R  at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) 
[8/27/15 17:14:56:666 CDT] 0000007c SystemErr  R  at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 
[8/27/15 17:14:56:666 CDT] 0000007c SystemErr  R  at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1702) 
[8/27/15 17:14:56:666 CDT] 0000007c SystemErr  R Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure 
[8/27/15 17:14:56:666 CDT] 0000007c SystemErr  R  at com.ibm.jsse2.o.a(o.java:36) 
[8/27/15 17:14:56:668 CDT] 0000007c SystemErr  R  at com.ibm.jsse2.o.a(o.java:43) 
[8/27/15 17:14:56:668 CDT] 0000007c SystemErr  R  at com.ibm.jsse2.SSLSocketImpl.b(SSLSocketImpl.java:32) 
[8/27/15 17:14:56:668 CDT] 0000007c SystemErr  R  at com.ibm.jsse2.SSLSocketImpl.a(SSLSocketImpl.java:626) 
[8/27/15 17:14:56:668 CDT] 0000007c SystemErr  R  at com.ibm.jsse2.SSLSocketImpl.h(SSLSocketImpl.java:39) 
[8/27/15 17:14:56:668 CDT] 0000007c SystemErr  R  at com.ibm.jsse2.SSLSocketImpl.a(SSLSocketImpl.java:696) 
[8/27/15 17:14:56:668 CDT] 0000007c SystemErr  R  at com.ibm.jsse2.k.write(k.java:26) 
[8/27/15 17:14:56:668 CDT] 0000007c SystemErr  R  at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:76) 
[8/27/15 17:14:56:668 CDT] 0000007c SystemErr  R  at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:134) 
[8/27/15 17:14:56:668 CDT] 0000007c SystemErr  R  at org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:827) 
[8/27/15 17:14:56:668 CDT] 0000007c SystemErr  R  at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.flushRequestOutputStream(MultiThreadedHttpConnectionManager.java:1525) 
[8/27/15 17:14:56:668 CDT] 0000007c SystemErr  R  at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:1975) 
[8/27/15 17:14:56:668 CDT] 0000007c SystemErr  R  at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:993) 
[8/27/15 17:14:56:668 CDT] 0000007c SystemErr  R  at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:397) 
[8/27/15 17:14:56:669 CDT] 0000007c SystemErr  R  at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170) 
[8/27/15 17:14:56:669 CDT] 0000007c SystemErr  R  at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396) 
[8/27/15 17:14:56:669 CDT] 0000007c SystemErr  R  at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324) 
[8/27/15 17:14:56:669 CDT] 0000007c SystemErr  R  at org.apache.abdera.protocol.client.AbderaClient.execute(AbderaClient.java:688) 
[8/27/15 17:14:56:669 CDT] 0000007c SystemErr  R  ... 30 more 

у вас есть идея, что произойдет с SSL или как разрешить?

thaks.

ответ

0

Вы должны импортировать сервер подключений в CellDefaultTrustSTore, если вы используете приложение на сервере приложений WebSphere.

Вы можете обратиться к сертификатам безопасности для https://www-01.ibm.com/support/knowledgecenter/SSYGQH_5.0.0/admin/install/t_exchange_keys_network.dita

Log into the IBM WebSphere Application Server Integrated Solutions Console and select Security > SSL Certificate and key management > Key stores and certificates. 
Click CellDefaultTrustStore. 
Click Signer Certificates. 
Click Retrieve from port. 
Enter the Host name, SSL Port, and Alias of the web server. The Alias is typically an arbitrary string that will become the name of the credentials. 
Click Retrieve Signer Information and then click OK. The root certificate is added to the list of signer certificates. 

Вы должны синхронизировать узел после

+0

да я это сделать, но не работает, я добавил сертификат Websphere но Исключения SSLhandshake продолжаются. –

+0

Вам придется перезапустить узел. .... вы используете автономную Aberra или как часть AppServer? если автономно, вам придется импортировать сертификат в TrustStore JVM –

+0

, альтернативно обратитесь к этому разделу https://cwiki.apache.org/confluence/display/ABDERA/AtomPub+Client, используя SSL –

Смежные вопросы