2016-02-05 9 views
11

Ich habe kürzlich eine E-Mail von Google mit folgendem Betreff erhalten: "Sicherheitsanfälligkeit in Google Play: SSL-Fehlerbehandlung". In dieser E-Mail erklärt Google, dass meine Anwendung eine "unsichere Implementierung des WebViewClient. onReceivedSslErrorHandlers hat. Insbesondere ignoriert die Implementierung alle SSL-Zertifikat-Validierungsfehler, wodurch Ihre App anfällig für Man-in-the-Middle-Angriffe wird Angreifer können den Inhalt des betroffenen WebViews ändern, übertragene Daten (z. B. Anmeldedaten) lesen und Code in der App mithilfe von JavaScript ausführen. "] ....................Google Play Warnung: WebViewClient.onReceivedSslError-Handler

ich verwende in meinem Code:

webView.setWebViewClient(new WebViewClient() { 

     @Override 
     public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {} 

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

     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      return super.shouldOverrideUrlLoading(view, url); 
     } 

     @Override 
     public void onPageFinished(WebView view, String url) { 
      super.onPageFinished(view, url); 
      // My code 
     } 
    }); 

// Mein Code

webview_ClientPost(webView, "https://secure.payu.in/_payment", mapParams.entrySet()); 

Warum sendet Google diese Warnung bezüglich SSL? Ist das mein Code-Problem oder PayUMoney-Problem?

+0

Was Version war Ihr Betriebssystem, das dieses Problem ausgelöst:

@Override public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error) { final AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage(R.string.notification_error_ssl_cert_invalid); 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(); } 

Diese von Sakim Antworten in diesem Link genommen wurde? Ich bin auch mit dem gleichen Problem konfrontiert und die Leute empfehlen mir zu tun, was Sie getan haben ... Ich bin verwirrt .. – San

+0

Es gelöst http://StackOverflow.com/Questions/36050741/Webview-avoid-security-alert- von-google-play-on-implementation-on-receiveds – BeyazBaron

Antwort

-1

Das Problem ist in Ihrem Code. Wenn Sie handler.proceed(); so aufrufen, entfernt es effektiv alle Sicherheit von Ihrer Verbindung.

Sie sollten Ihre onReceivedSslError Methode entfernen. Die Standardimplementierung wird unsichere Verbindungen ablehnen.

+0

Hat diese Lösung für Sie funktioniert? Ich erhalte die gleiche Warnung in meiner Google Console. – YuDroid