javax.net.ssl.SSLException: connection fechada por pair no dispositivo 4.4.2 (funciona no 6.0.1)

Tenho um problema ao obter esse erro quando estou executando a synchronization no meu aplicativo. O principal problema é que o mesmo código funciona no dispositivo do Android 6.0.1, mas no dispositivo 4.4.2, estou recebendo esse erro:

javax.net.ssl.SSLException: Connection closed by peer at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method) at com.android.org.conscrypt.OpenSSLSocketImpl.stairtHandshake(OpenSSLSocketImpl.java:406) at okhttp3.internal.io.RealConnection.connectTls(RealConnection.java:188) at okhttp3.internal.io.RealConnection.connectSocket(RealConnection.java:145) at okhttp3.internal.io.RealConnection.connect(RealConnection.java:108) at okhttp3.internal.http.StreamAllocation.findConnection(StreamAllocation.java:188) at okhttp3.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:127) at okhttp3.internal.http.StreamAllocation.newStream(StreamAllocation.java:97) at okhttp3.internal.http.HttpEngine.connect(HttpEngine.java:289) at okhttp3.internal.http.HttpEngine.sendRequest(HttpEngine.java:241) at okhttp3.RealCall.getResponse(RealCall.java:240) at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:198) at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:203) at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:187) at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:160) at okhttp3.RealCall.access$100(RealCall.java:30) at okhttp3.RealCall$AsyncCall.execute(RealCall.java:127) at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:33) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:841) 

onde não consigo solicitair dados do server.

  • Desenho de um gradiente em Libgdx
  • Abrindo o file pdf do server usando a intenção do android
  • Android M Permissões: onRequestPermissionsResult () não sendo chamado
  • Android SurfaceHolder.unlockCanvasAndPost () não causa o networkingsenho
  • Gson deserializa o json com diferentes types de valor
  • PorterduffXfermode: Limpe uma seção de um bitmap
  • Se precisair de mais dados, não hesite em perguntair. Obrigado.

  • Obter o histórico de transactions do Android Pay via API?
  • Rede Android
  • Função User.getUserId () no Cloud End Api retorna nulo paira um object de user que não é nulo
  • Impedir que o dialog de atividade do Android feche no toque externo
  • Não é possível recuperair a key
  • Método mais simples paira conviewter Json em Xml
  • One Solution collect form web for “javax.net.ssl.SSLException: connection fechada por pair no dispositivo 4.4.2 (funciona no 6.0.1)”

    A key aqui é forçair o protocolo TLS 1.2, com base neste link aqui.

    A única coisa que eu precisava corrigir aqui é forçair o protocolo TLS 1.2 diretamente, assim:

     private class NoSSLv3SSLSocket extends DelegateSSLSocket { private NoSSLv3SSLSocket(SSLSocket delegate) { super(delegate); } @Oviewride public void setEnabledProtocols(String[] protocols) { super.setEnabledProtocols(new String[]{"TLSv1.2"}); // force to use only TLSv1.2 here } } } private class NoSSLv3SSLSocket extends DelegateSSLSocket { private NoSSLv3SSLSocket(SSLSocket delegate) { super(delegate); } @Oviewride public void setEnabledProtocols(String[] protocols) { super.setEnabledProtocols(new String[]{"TLSv1.2"}); // force to use only TLSv1.2 here } } } private class NoSSLv3SSLSocket extends DelegateSSLSocket { private NoSSLv3SSLSocket(SSLSocket delegate) { super(delegate); } @Oviewride public void setEnabledProtocols(String[] protocols) { super.setEnabledProtocols(new String[]{"TLSv1.2"}); // force to use only TLSv1.2 here } } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.