Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8197807

Error during concurrent SSL handshake with HttpURLConnection

XMLWordPrintable

      FULL PRODUCT VERSION :
      tested with Oracle Java 9.0.4+11 and 1.8.0_162-b12

      ADDITIONAL OS VERSION INFORMATION :
      Darwin Nicolass-MacBook-Pro.local 17.3.0 Darwin Kernel Version 17.3.0: Thu Nov 9 18:09:22 PST 2017; root:xnu-4570.31.3~1/RELEASE_X86_64 x86_64

      A DESCRIPTION OF THE PROBLEM :
      I got the following error when I execute concurrent calls as a first call.

      If only one call is executed alone and then concurrent calls are executed it works fine.

      I suspect a thread safety error during the initialization of an object.
      javax.ws.rs.ProcessingException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      at org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:284)
      at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:278)
      at org.glassfish.jersey.client.JerseyInvocation.lambda$invoke$2(JerseyInvocation.java:787)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:316)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:298)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:229)
      at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:414)
      at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:785)
      at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:438)
      at org.glassfish.jersey.client.proxy.WebResourceFactory.invoke(WebResourceFactory.java:355)
      at com.ingenico.gs.esf.http.jetty.client.ClientProxyProvider.invokeRemoteProxy(ClientProxyProvider.java:27)
      at com.ingenico.gs.esf.http.jetty.client.RetryableProxyService.invoke(RetryableProxyService.java:98)
      at com.sun.proxy.$Proxy143.signature(Unknown Source)
      at com.ingenico.gs.esf.http.jetty.authentication.AuthenticationKeyManagementClient.lambda$newKeyIfAbsent$3(AuthenticationKeyManagementClient.java:148)
      at com.ingenico.gs.esf.cache.api.Cache.computeIfAbsent(Cache.java:104)
      at com.ingenico.gs.esf.http.jetty.authentication.AuthenticationKeyManagementClient.newKeyIfAbsent(AuthenticationKeyManagementClient.java:147)
      at com.ingenico.gs.esf.http.jetty.authentication.AuthenticationKeyManagementClient.getKey(AuthenticationKeyManagementClient.java:131)
      at com.ingenico.gs.esf.http.jetty.authentication.AuthenticationKeyManagementClient.getRequestSignatureKey(AuthenticationKeyManagementClient.java:100)
      at com.ingenico.gs.esf.http.api.hmac.SignatureService.sign(SignatureService.java:95)
      at com.ingenico.gs.esf.http.api.client.filter.RequestSignatureFilter.filter(RequestSignatureFilter.java:52)
      at org.glassfish.jersey.client.ClientFilteringStages$RequestFilteringStage.apply(ClientFilteringStages.java:108)
      at org.glassfish.jersey.client.ClientFilteringStages$RequestFilteringStage.apply(ClientFilteringStages.java:96)
      at org.glassfish.jersey.process.internal.Stages.process(Stages.java:171)
      at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:278)
      at org.glassfish.jersey.client.JerseyInvocation.lambda$invoke$2(JerseyInvocation.java:787)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:316)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:298)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:229)
      at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:414)
      at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:785)
      at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:438)
      at org.glassfish.jersey.client.proxy.WebResourceFactory.invoke(WebResourceFactory.java:355)
      at com.sun.proxy.$Proxy140.ping(Unknown Source)
      at com.ingenico.gs.esf.http.jetty.testtools.server.SetupTest.lambda$null$0(SetupTest.java:152)
      at java.lang.Thread.run(Thread.java:748)
      Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      at sun.security.ssl.Alerts.getSSLException(Alerts.java:203)
      at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1959)
      at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
      at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
      at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1595)
      at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:220)
      at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1026)
      at sun.security.ssl.Handshaker.process_record(Handshaker.java:961)
      at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1072)
      at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)
      at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
      at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)
      at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
      at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
      at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564)
      at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
      at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
      at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:347)
      at org.glassfish.jersey.client.internal.HttpUrlConnector._apply(HttpUrlConnector.java:390)
      at org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:282)
      ... 34 more
      Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:397)
      at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:302)
      at sun.security.validator.Validator.validate(Validator.java:260)
      at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
      at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
      at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
      at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1577)
      ... 49 more
      Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
      at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
      at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
      at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:392)
      ... 55 more

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      mvn test -Dtest=Http2Test#testConcurrentHttp1 with repository https://github.com/nhenneaux/jersey-http2-jetty-connector

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      no error and exception during the test
      ACTUAL -
      Exception
      Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
      at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
      at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
      at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380)
      ... 36 more

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      javax.ws.rs.ProcessingException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      at org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:284)
      at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:278)
      at org.glassfish.jersey.client.JerseyInvocation.lambda$invoke$2(JerseyInvocation.java:787)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:316)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:298)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:229)
      at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:414)
      at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:785)
      at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:438)
      at org.glassfish.jersey.client.proxy.WebResourceFactory.invoke(WebResourceFactory.java:355)
      at com.sun.proxy.$Proxy46.hello(Unknown Source)
      at org.glassfish.jersey.jetty.connector.Http2Test.lambda$testConcurrent$0(Http2Test.java:247)
      at java.base/java.lang.Thread.run(Thread.java:844)
      Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      at java.base/sun.security.ssl.Alerts.getSSLException(Alerts.java:198)
      at java.base/sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1969)
      at java.base/sun.security.ssl.Handshaker.fatalSE(Handshaker.java:345)
      at java.base/sun.security.ssl.Handshaker.fatalSE(Handshaker.java:339)
      at java.base/sun.security.ssl.ClientHandshaker.checkServerCerts(ClientHandshaker.java:1968)
      at java.base/sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1777)
      at java.base/sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:264)
      at java.base/sun.security.ssl.Handshaker.processLoop(Handshaker.java:1092)
      at java.base/sun.security.ssl.Handshaker.processRecord(Handshaker.java:1026)
      at java.base/sun.security.ssl.SSLSocketImpl.processInputRecord(SSLSocketImpl.java:1137)
      at java.base/sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1074)
      at java.base/sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
      at java.base/sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1402)
      at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1429)
      at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
      at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
      at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
      at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1581)
      at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1509)
      at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527)
      at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:329)
      at org.glassfish.jersey.client.internal.HttpUrlConnector._apply(HttpUrlConnector.java:390)
      at org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:282)
      ... 12 more
      Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385)
      at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:290)
      at java.base/sun.security.validator.Validator.validate(Validator.java:264)
      at java.base/sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:343)
      at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:226)
      at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:133)
      at java.base/sun.security.ssl.ClientHandshaker.checkServerCerts(ClientHandshaker.java:1947)
      ... 30 more
      Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
      at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
      at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
      at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380)
      ... 36 more
      javax.ws.rs.ProcessingException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      at org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:284)
      at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:278)
      at org.glassfish.jersey.client.JerseyInvocation.lambda$invoke$2(JerseyInvocation.java:787)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:316)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:298)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:229)
      at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:414)
      at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:785)
      at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:438)
      at org.glassfish.jersey.client.proxy.WebResourceFactory.invoke(WebResourceFactory.java:355)
      at com.sun.proxy.$Proxy46.hello(Unknown Source)
      at org.glassfish.jersey.jetty.connector.Http2Test.lambda$testConcurrent$0(Http2Test.java:247)
      at java.base/java.lang.Thread.run(Thread.java:844)
      Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      at java.base/sun.security.ssl.Alerts.getSSLException(Alerts.java:198)
      at java.base/sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1969)
      at java.base/sun.security.ssl.Handshaker.fatalSE(Handshaker.java:345)
      at java.base/sun.security.ssl.Handshaker.fatalSE(Handshaker.java:339)
      at java.base/sun.security.ssl.ClientHandshaker.checkServerCerts(ClientHandshaker.java:1968)
      at java.base/sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1777)
      at java.base/sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:264)
      at java.base/sun.security.ssl.Handshaker.processLoop(Handshaker.java:1092)
      at java.base/sun.security.ssl.Handshaker.processRecord(Handshaker.java:1026)
      at java.base/sun.security.ssl.SSLSocketImpl.processInputRecord(SSLSocketImpl.java:1137)
      at java.base/sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1074)
      at java.base/sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
      at java.base/sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1402)
      at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1429)
      at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
      at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
      at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
      at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1581)
      at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1509)
      at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527)
      at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:329)
      at org.glassfish.jersey.client.internal.HttpUrlConnector._apply(HttpUrlConnector.java:390)
      at org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:282)
      ... 12 more
      Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385)
      at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:290)
      at java.base/sun.security.validator.Validator.validate(Validator.java:264)
      at java.base/sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:343)
      at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:226)
      at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:133)
      at java.base/sun.security.ssl.ClientHandshaker.checkServerCerts(ClientHandshaker.java:1947)
      ... 30 more
      Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
      at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
      at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
      at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380)
      ... 36 more
      javax.ws.rs.ProcessingException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      at org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:284)
      at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:278)
      at org.glassfish.jersey.client.JerseyInvocation.lambda$invoke$2(JerseyInvocation.java:787)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:316)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:298)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:229)
      at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:414)
      at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:785)
      at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:438)
      at org.glassfish.jersey.client.proxy.WebResourceFactory.invoke(WebResourceFactory.java:355)
      at com.sun.proxy.$Proxy46.hello(Unknown Source)
      at org.glassfish.jersey.jetty.connector.Http2Test.lambda$testConcurrent$0(Http2Test.java:247)
      at java.base/java.lang.Thread.run(Thread.java:844)
      Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      at java.base/sun.security.ssl.Alerts.getSSLException(Alerts.java:198)
      at java.base/sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1969)
      at java.base/sun.security.ssl.Handshaker.fatalSE(Handshaker.java:345)
      at java.base/sun.security.ssl.Handshaker.fatalSE(Handshaker.java:339)
      at java.base/sun.security.ssl.ClientHandshaker.checkServerCerts(ClientHandshaker.java:1968)
      at java.base/sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1777)
      at java.base/sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:264)
      at java.base/sun.security.ssl.Handshaker.processLoop(Handshaker.java:1092)
      at java.base/sun.security.ssl.Handshaker.processRecord(Handshaker.java:1026)
      at java.base/sun.security.ssl.SSLSocketImpl.processInputRecord(SSLSocketImpl.java:1137)
      at java.base/sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1074)
      at java.base/sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
      at java.base/sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1402)
      at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1429)
      at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
      at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
      at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
      at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1581)
      at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1509)
      at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527)
      at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:329)
      at org.glassfish.jersey.client.internal.HttpUrlConnector._apply(HttpUrlConnector.java:390)
      at org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:282)
      ... 12 more
      Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385)
      at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:290)
      at java.base/sun.security.validator.Validator.validate(Validator.java:264)
      at java.base/sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:343)
      at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:226)
      at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:133)
      at java.base/sun.security.ssl.ClientHandshaker.checkServerCerts(ClientHandshaker.java:1947)
      ... 30 more
      Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
      at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
      at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
      at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380)
      ... 36 more

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      https://github.com/nhenneaux/jersey-http2-jetty-connector
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      Make a first call before doing concurrent calls on the server

            jnimeh Jamil Nimeh
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: