play juegos gratis google games descargar app actualizar android ssl google-play android-security

juegos - Advertencia de Google Play de Android: vulnerabilidad de controlador de errores de SSL



play store juegos gratis (3)

la solución es eliminar onReceivedSslError

Uso el SDK de gorbin / ASNE en mi aplicación. Recientemente recibí un correo electrónico de Google con el siguiente tema: "Advertencia de Google Play: vulnerabilidad de controlador de errores SSL". En este correo electrónico, Google explica que mi aplicación tiene una ["implementación insegura del controlador WebViewClient.onReceivedSslError"]

y me recomendaron que ["Para manejar adecuadamente la validación de certificados SSL, cambie su código para invocar SslErrorHandler.proceed () siempre que el certificado presentado por el servidor cumpla con sus expectativas e invoque a SslErrorHandler.cancel () de lo contrario"]

aquí está mi implementación del método:

public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { handler.proceed(); }

cualquier ayuda por favor?


Para gestionar adecuadamente la validación de certificados SSL, cambie su código para invocar a SslErrorHandler.proceed () siempre que el certificado presentado por el servidor cumpla con sus expectativas e invoque a SslErrorHandler.cancel () en caso contrario.

Por ejemplo, agregué un cuadro de diálogo de alerta para que el usuario haya confirmado y parece que Google ya no muestra ninguna advertencia.

@Override public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error) { final AlertDialog.Builder builder = new AlertDialog.Builder(this); String message = "SSL Certificate error."; switch (error.getPrimaryError()) { case SslError.SSL_UNTRUSTED: message = "The certificate authority is not trusted."; break; case SslError.SSL_EXPIRED: message = "The certificate has expired."; break; case SslError.SSL_IDMISMATCH: message = "The certificate Hostname mismatch."; break; case SslError.SSL_NOTYETVALID: message = "The certificate is not yet valid."; break; } message += " Do you want to continue anyway?"; builder.setTitle("SSL Certificate Error"); builder.setMessage(message); builder.setPositiveButton("continue", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { handler.proceed(); } }); builder.setNegativeButton("cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { handler.cancel(); } }); final AlertDialog dialog = builder.create(); dialog.show(); }

Después de esto, los cambios no mostrarán advertencia. Enlace de referenciac


Estaba usando una versión anterior de la biblioteca backendless compilando ''com.backendless: backendless: 3.0.11'' así que actualicé a la última versión compila ''com.backendless: backendless: 3.0.24'' y se resuelve el problema.