@Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { handler.proceed(); // Ignore SSL certificate errors }
@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(); }
@Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { if (DISABLE_SSL_CHECK_FOR_TESTING) { handler.proceed(); } else { super.onReceivedSslError(view, handler, error); handler.cancel(); sendErrorToListener(new FacebookDialogException(null, ERROR_FAILED_SSL_HANDSHAKE, null)); } }
@Test public void shouldRecordCancel() { assertThat(shadow.wasCancelCalled()).isFalse(); handler.cancel(); assertThat(shadow.wasCancelCalled()).isTrue(); }
import android.webkit.WebView; import android.webkit.WebViewClient; import android.webkit.SslErrorHandler; import android.net.http.SslError; ... engine = (WebView) findViewById(R.id.my_webview); engine.setWebViewClient(new WebViewClient() { @Override public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error) { handler.proceed(); } });
handler.proceed(); return; if (cert == null) { Log.w(TAG, "X509Certificate reference invalid"); handler.cancel(); return; handler.proceed(); } catch (NoSuchFieldException|IllegalAccessException|CertificateException| NoSuchAlgorithmException|InvalidKeyException|NoSuchProviderException| SignatureException e) { Log.w(TAG, e); handler.cancel();
@Override public void onClick(DialogInterface dialog, int which) { handler.cancel(); } });
// SSL Error Tolerant Web View Client private class SSLTolerentWebViewClient extends WebViewClient { @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { handler.proceed(); // Ignore SSL certificate errors } }
@Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { if (DISABLE_SSL_CHECK_FOR_TESTING) { handler.proceed(); } else { super.onReceivedSslError(view, handler, error); handler.cancel(); } }
@Test public void shouldRecordProceed() { assertThat(shadow.wasProceedCalled()).isFalse(); handler.proceed(); assertThat(shadow.wasProceedCalled()).isTrue(); } }
@Override public void onClick(final DialogInterface dialog, final int whichButton) { sslErrorDialogContinueButtonClicked = true; handler.cancel(); mWebEventListener.onAuthFailure(new AuthFailure(AuthFailure.TYPE_USER_INTERACTION, null)); } });
private class WvClient extends WebViewClient { @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { handler.proceed(); // Ignore SSL certificate errors } }
@Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { if (DISABLE_SSL_CHECK_FOR_TESTING) { handler.proceed(); } else { super.onReceivedSslError(view, handler, error); sendErrorToListener(new FacebookDialogException(null, ERROR_FAILED_SSL_HANDSHAKE, null)); handler.cancel(); WebDialog.this.dismiss(); } }
@Override public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error) { handler.proceed(); } }
@Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { handler.cancel(); view.stopLoading(); mActivity.finishWithResult( ThreeDSecureAuthenticationResponse.fromException(error.toString())); } }
@Override protected Object replaceHookedMethod(MethodHookParam param) throws Throwable { ((android.webkit.SslErrorHandler) param.args[1]).proceed(); return null; } });
@Test public void onReceivedSslError_callsFinish() { SslErrorHandler handler = mock(SslErrorHandler.class); mWebViewClient.onReceivedSslError(mWebView, handler, mock(SslError.class)); verify(mWebView, times(1)).stopLoading(); verify(handler, times(1)).cancel(); verify(mActivity, times(1)).finishWithResult(any(ThreeDSecureAuthenticationResponse.class)); } }
WebView webview= (WebView) findViewById(R.id.my_webview); webview.setWebViewClient(new WebViewClient() { public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error) { handler.proceed() ; } }