[RESOLVIDO] Erro SSL javax.net.ssl.SSLException

Bom dia, devs!

Estou com o seguinte problema:

O código abaixo é uma implementação de checkout onde recebo uma resposta em json. Em modo de desenvolvimento, tudo funciona perfeitamente, mas quando realizo
o deploy no servidor de hospedagem gera e exeção javax.net.ssl.SSLException. Fiz várias pesquisas, mas ainda não consegui uma implementação para solucionar
o meu problema.

Podem me ajudar?

    Map< String, Object> jsonValues = new HashMap<>();
    jsonValues.put("param1", jsonString);
    JSONObject jsonObject = new JSONObject(jsonString);
    HttpClient client = HttpClientBuilder.create().build();
    HttpPost post = new HttpPost(urlCheckout);
    post.setHeader("Content-Type", "application/json");
    post.setHeader("X-CC-Api-Key", ApiKey);
    post.setHeader("X-CC-Version", version);
    
    StringEntity entity = new StringEntity(jsonObject.toString(), "UTF8");
    entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
    post.setEntity(entity);

    // Resposta
    HttpResponse response = null;
    try {
        response = client.execute(post);
    } catch (IOException ex) {
       Logger.getLogger(PagamentoNegocio.class.getName()).log(Level.SEVERE, null, ex);
    }

    HttpEntity httpEntity = response.getEntity();

    if (response.getStatusLine().getStatusCode() == 201) {  // Se o checkout for criado
        // Le o conteudo de uma entidade e retorna como uma String.
        String content = EntityUtils.toString(httpEntity);            
        JSONObject objetoJson = (new JSONObject(content)).getJSONObject("data");
        id = objetoJson.getString("id");            
        urlReturn = urlReturn + id;            
        return urlReturn;
    } else {
        // TODO: 
    }
    return null;
	
	
	
javax.net.ssl.SSLException: Received fatal alert: protocol_version
at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1979)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1086)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1332)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1359)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1343)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:436)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:384)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:374)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)

Obrigado, amigo. Vou analisar e dou o feedback.

1 curtida

Resolveu meu problema. Muito obrigado pela ajuda.

1 curtida