I'm trying to consume the CEP webservice
I'm using Java Web - JSF with WildfFly10
For this I am using the following code.
String URL_WEBSERVICECEP = "https://viacep.com.br/ws/[CEP]/json/";
String urlCep = URL_WEBSERVICECEP.replace("[CEP]", "88701650");
System.out.println("------ url : "+urlCep);
URL url = new URL(urlCep);
HttpsURLConnection con = (HttpsURLConnection)url.openConnection();
InputStream conS = con.getInputStream();
But this is giving the following error.
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:192) at sun.security.ssl.SSLSocketImpl.fatal (SSLSocketImpl.java:1949) 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:1509) at sun.security.ssl.ClientHandshaker.processMessage (ClientHandshaker.java:216) at sun.security.ssl.Handshaker.processLoop (Handshaker.java:979) at sun.security.ssl.Handshaker.process_record (Handshaker.java:914) at sun.security.ssl.SSLSocketImpl.readRecord (SSLSocketImpl.java:1062) at sun.security.ssl.SSLSocketImpl.performInitialHandshake (SSLSocketImpl.java:1375) at sun.security.ssl.SSLSocketImpl.startHandshake (SSLSocketImpl.java:1403) at sun.security.ssl.SSLSocketImpl.startHandshake (SSLSocketImpl.java:1387) 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:1513) at html at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream (HttpsURLConnectionImpl.java:254) at br.com.transportesalvorada.security.controll.Usuario_MB.main (User_MB.java:141) 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:387) at sun.security.validator.PKIXValidator.engineValidate (PKIXValidator.java:292) 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:1491) ... 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:382) ... 19 more
So I understand that you do not have the digital certificate, I do not really have a certificate.
The interesting thing is that if the direct test in the browser works.