com.sun.jersey.api.client.ClientHandlerException: javax.net.ssl.SSLException: получено фатальное предупреждение: handshake_failure - PullRequest
0 голосов
/ 17 февраля 2019

Кто-нибудь прошел двухстороннюю аутентификацию ssl с использованием клиента джерси.

При использовании веб-службы Rest с использованием клиента джерси я получаю следующую ошибку.Мы импортировали наш SSL как на уровне узлов Weblogic, так и на уровне jre 'cacerts'.

Нужно ли что-нибудь специально кодировать для аутентификации SSL?

snippet:
Response response = client
                    .target("https://example.com")
                    .request()
                    .header("X-IBM-Client-Id","a30c2d5d-bb2d-40e3-a073-6472e72e06bd")
                    .header("X-IBM-Client-Secret", "Q2uC4wC6rX2sQ6aU3oV7iL2iF8vI8oM8lT1tK0dW6yV3oG5yL0")
                    .header("Authorization", "Basic " + "dGVzdGNsaWVudDpPeFljb29sQDEyMw==")
                    .header("Content-Type", "application/json")
                    .post(Entity.entity(json, MediaType.APPLICATION_JSON), Response.class);

com.sun.jersey.api.client.ClientHandlerException: javax.net.ssl.SSLException: Received fatal alert: handshake_failure
        at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:155)

        at com.sun.jersey.api.client.Client.handle(Client.java:652)

        at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682)

        at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)

        at com.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:570)

        at com.edelweiss.client.TransferFund.transferFund(Unknown Source)

        at com.edelweiss.client.TransferFund.run(Unknown Source)

        at com.edelweiss.client.TransferRunnable.run(Unknown Source)

        at com.edelweiss.client.TransferRunnable.call(Unknown Source)

        at com.edelweiss.client.TransferRunnable.call(Unknown Source)

        at java.util.concurrent.FutureTask.run(FutureTask.java:266)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

        at java.lang.Thread.run(Thread.java:748)

Caused by: javax.net.ssl.SSLException: Received fatal alert: handshake_failure

        at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)

        at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1666)

        at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1634)

        at sun.security.ssl.SSLEngineImpl.recvAlert(SSLEngineImpl.java:1800)

        at sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:1083)

        at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:907)

        at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:781)

        at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:664)

        at weblogic.security.SSL.jsseadapter.JaSSLEngine$5.run(JaSSLEngine.java:135)

        at weblogic.security.SSL.jsseadapter.JaSSLEngine.doAction(JaSSLEngine.java:743) 
...