标签: sslerrorhandler

在实施onReceivedSslError时,Webview会避免谷歌播放的安全警报

我有一个链接将在webview中打开.问题是它不能打开,直到我覆盖onReceivedSslError,如下所示:

 @Override
        public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
            handler.proceed();
        }
Run Code Online (Sandbox Code Playgroud)

我从谷歌游戏获得安全警报说:

安全警报您的应用程序具有WebViewClient.onReceivedSslError处理程序的不安全实现.具体来说,该实现忽略了所有SSL证书验证错误,使您的应用程序容易受到中间人攻击.攻击者可以使用JavaScript更改受影响的WebView内容,读取传输的数据(例如登录凭据),以及在应用程序内部执行代码.

要正确处理SSL证书验证,只要服务器提供的证书符合您的期望,就更改代码以调用SslErrorHandler.proceed(),否则调用SslErrorHandler.cancel().包含受影响的应用和类别的电子邮件警报已发送到您的开发者帐户地址.

请尽快解决此漏洞并增加已升级APK的版本号.有关SSL错误处理程序的更多信息,请参阅开发人员帮助中心中的文档.对于其他技术问题,您可以发布到https://www.stackoverflow.com/questions并使用标签"android-security"和"SslErrorHandler."如果您使用的是负责此操作的第三方库,请通知第三方并与他们合作解决问题.

要确认您已正确升级,请将更新后的版本上传到开发者控制台,并在五小时后再回来查看.如果应用尚未正确升级,我们将显示警告.

请注意,虽然这些特定问题可能不会影响使用WebView SSL的每个应用程序,但最好保持所有安全补丁的最新状态.如果应用程序存在漏洞,使用户面临泄密风险,则可能会被视为违反内容政策和开发者分发协议第4.4节的危险产品.

请确保发布的所有应用均符合开发者分发协议和内容政策.如果您有任何疑问或疑虑,请通过Google Play开发者帮助中心与我们的支持小组联系.

如果我删除onReceivedSslError (handler.proceed()),则页面将无法打开.

无论如何我可以在webview中打开页面并避免安全警报.

android android-webview google-play android-security sslerrorhandler

58
推荐指数
6
解决办法
4万
查看次数

Google Play警告:WebViewClient.onReceivedSslError处理程序

我收到了来自Google的电子邮件,主题如下: Google Play Warning: SSL Error Handler Vulnerability". In this email, Google explains that my app has an ["unsafe implementation of the WebViewClient.onReceivedSslError handler"

这是我的方法实现(WebView Client):

 public class MyBrowser extends WebViewClient {
    boolean timeout;
    public MyBrowser() {
        timeout = true;
    }
    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        try {

                progressBar.setVisibility(View.VISIBLE);                   

        }catch(Exception e){
            e.printStackTrace();
        }
    }
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }

    public void onPageFinished(WebView view, String url) {

        try{

        progressBar.setVisibility(View.GONE); …
Run Code Online (Sandbox Code Playgroud)

android ssl-certificate android-security sslerrorhandler

12
推荐指数
1
解决办法
3179
查看次数

Google Play开发者控制台拒绝了我的应用更新

我试图理解并解决为什么我的应用程序被拒绝我知道它是关于SSL的,但我似乎无法找到导致它的依赖项.我正在使用下一个设置:

  1. Android N(24)
  2. 布.
  3. MixPanel.
  4. Quickblox.
  5. Crashlytics
  6. Analytics(分析).

任何帮助,将不胜感激.


更新:这是来自警报部分

安全警报

您的应用程序具有WebViewClient.onReceivedSslError处理程序的不安全实现.具体来说,该实现忽略了所有SSL证书验证错误,使您的应用程序容易受到中间人攻击.攻击者可以使用JavaScript更改受影响的WebView内容,读取传输的数据(例如登录凭据),以及在应用程序内部执行代码.要正确处理SSL证书验证,只要服务器提供的证书符合您的期望,就更改代码以调用SslErrorHandler.proceed(),否则调用SslErrorHandler.cancel().包含受影响的应用和类别的电子邮件警报已发送到您的开发者帐户地址.请尽快解决此漏洞并增加已升级APK的版本号.有关SSL错误处理程序的更多信息,请参阅开发人员帮助中心中的文档.对于其他技术问题,您可以发布到https://www.stackoverflow.com/questions并使用标签"android-security"和"SslErrorHandler."如果您使用的是负责此操作的第三方库,请通知第三方并与他们合作解决问题.要确认您已正确升级,请将更新后的版本上传到开发者控制台,并在五小时后再回来查看.如果应用尚未正确升级,我们将显示警告.请注意,虽然这些特定问题可能不会影响使用WebView SSL的每个应用程序,但最好保持所有安全补丁的最新状态.如果应用程序存在漏洞,导致用户面临泄密风险,则可能会被视为违反了我们的恶意行为政策和开发者分发协议第4.4节.请确保发布的所有应用均符合开发者分发协议和开发者计划政策.如果您有任何疑问或疑虑,请通过Google Play开发者帮助中心与我们的支持小组联系.影响APK版本2.

android google-console-developer android-security sslerrorhandler

7
推荐指数
1
解决办法
2570
查看次数