El servidor no admite la suite de cifrado predeterminada de Android 5.0

Después de actualizar a android 5.0 Lollipop, HttpsURLConnection produce error de handshake.

 05-05 14:54:08.821 10855-11793/com.soonoo.mobilecampus E/INFO﹕ javax.net.ssl.SSLHandshakeException: Handshake failed at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:374) at com.android.okhttp.Connection.upgradeToTls(Connection.java:238) at com.android.okhttp.Connection.connect(Connection.java:158) at com.android.okhttp.Connection.connect(Connection.java:170) at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:309) at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:242) at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:388) at com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:118) at com.android.okhttp.internal.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:220) at com.android.okhttp.internal.http.DelegatingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:218) at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:25) at com.soonoo.mobilecampus.User.login(User.java:72) at com.soonoo.mobilecampus.LoginView$Login.doInBackground(LoginView.java:112) at com.soonoo.mobilecampus.LoginView$Login.doInBackground(LoginView.java:84) at android.os.AsyncTask$2.call(AsyncTask.java:288) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 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:818) Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0xaaaf8a00: Failure in SSL library, usually a protocol error error:1407743E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert inappropriate fallback (external/openssl/ssl/s23_clnt.c:765 0xa9295b25:0x00000000) at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method) at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:302) ... 19 more 

Un servidor al que deseo conectarme usando HttpsURLConnection compatible con los conjuntos de cifrado. El problema es que android 5.0 no soporta ninguno de los siguientes conjuntos de cifrado …

 SSL_CK_RC4_128_EXPORT40_WITH_MD5 SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5 TLS_RSA_EXPORT_WITH_RC4_40_MD5 TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 SSL_CK_DES_64_CBC_WITH_MD5 SSL_CK_RC4_128_WITH_MD5 SSL_CK_RC2_128_CBC_WITH_MD5 SSL_CK_IDEA_128_CBC_WITH_MD5 TLS_RSA_WITH_RC4_128_MD5 SSL_CK_DES_192_EDE3_CBC_WITH_MD5 

Entonces, ¿no hay nada que pueda hacer desde el lado del cliente?

Debe intentar especificar los siguientes conjuntos de cifrado:

 CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA, CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA, CipherSuite.TLS_DHE_DSS_WITH_AES_128_CBC_SHA, CipherSuite.TLS_DHE_DSS_WITH_AES_256_CBC_SHA, CipherSuite.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, CipherSuite.TLS_ECDHE_RSA_WITH_RC4_128_SHA, CipherSuite.TLS_RSA_WITH_AES_128_GCM_SHA256, CipherSuite.TLS_RSA_WITH_AES_256_GCM_SHA384, CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA, CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA 
  • Error de libcurl CURLE_SSL_CACERT_BADFILE en android
  • Problema SSL con Android
  • Android - Error al conectar con URI de inicio de sesión
  • Keystore SHA1 diferente de cert.rsa SHA1 de APK
  • Necesitan ayuda para entender las cadenas de certificados
  • Comunicación de servicio web Https de Android (SSL / TLS 1.2)
  • Certificado ssl de android
  • Administrador SDK Host desconocido dl-ssl.google.com
  • OkHttp SSL handshake abortado en Android
  • Dónde encontrar el usuario instalado certificado android 4.0 y superior
  • Advertencia SSL de google play
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.