Сброс подключения после реализации взаимной аутентификации - PullRequest
1 голос
/ 25 июня 2019

Я реализовал аутентификацию на основе сертификатов в своем JavaCode, я звоню в веб-сервис, где включена взаимная аутентификация, поэтому мне дали файл .crt и .key. После реализации все работает нормально на моей локальной машине, но после развертывания на сервере это выдает ошибку Connection Reset. Ниже приведены журналы

[err] java.net.SocketException: Connection reset
[err]   at          java.net.SocketInputStream.read(SocketInputStream.java:221)
[err]   at java.net.SocketInputStream.read(SocketInputStream.java:152)
[err]   at com.ibm.jsse2.b.a(b.java:262)
[err]   at com.ibm.jsse2.b.a(b.java:33)
[err]   at com.ibm.jsse2.av.a(av.java:579)
[err]   at com.ibm.jsse2.av.i(av.java:574)
[err]   at com.ibm.jsse2.av.a(av.java:280)
[err]   at com.ibm.jsse2.av.startHandshake(av.java:431)
[err]   at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:275)
[err]   at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:254)
[err]   at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:123)
[err]   at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318)
[err]   at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363)
[err]   at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219)
[err]   at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195)
[err]   at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86)
[err]   at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)
[err]   at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
[err]   at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
[err]   at com.elux.aeg.common.rest.client.RestClient.executeRequest(RestClient.java:184)
[err]   at com.elux.aeg.common.rest.client.RestClient.execute(RestClient.java:127)
[err]   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[err]   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
[err]   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
[err]   at java.lang.reflect.Method.invoke(Method.java:508)
[err]   at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:181)
[err]   at [internal classes]
[err]   at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
[err]   at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:268)
[err]   at com.ibm.mfp.server.java.adapter.shared.JAXRSSandbox$3.doFilter(JAXRSSandbox.java:579)
[err]   at com.ibm.mfp.server.java.adapter.shared.FilterChainImpl.doFilter(FilterChainImpl.java:86)
[err]   at com.ibm.mfp.server.java.adapter.shared.JAXRSSandbox.handleRequest(JAXRSSandbox.java:584)
[err]   at com.ibm.mfp.server.java.adapter.internal.rest.AdaptersEndpoint.adapterServing(AdaptersEndpoint.java:123)
[err]   at sun.reflect.GeneratedMethodAccessor209.invoke(Unknown Source)
[err]   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
[err]   at java.lang.reflect.Method.invoke(Method.java:508)
[err]   at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
[err]   at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
[err]   at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
[err]   at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776)
[err]   at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705)
[err]   at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
[err]   at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
[err]   at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
[err]   at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
[err]   at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868)
[err]   at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
[err]   at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
[err]   at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
[err]   at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1255)
[err]   at [internal classes]
[err]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1160)
[err]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[err]   at java.lang.Thread.run(Thread.java:812)

На моей локальной машине установлен пакет oracle jdk, а на моем сервере - ibm jdk. поэтому я изменил

KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");

до

KeyManagerFactory kmf = KeyManagerFactory.getInstance("IbmX509");

Но я понятия не имею, что происходит.

Пожалуйста, руководство ТИА

...