为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

忽然笑 2019-08-27 17:30:50
在实施onReceivedSslError时,Webview会避免谷歌播放的安全警报我有一个链接将在webview中打开。问题是它不能打开,直到我覆盖onReceivedSslError,如下所示: @Override         public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {             handler.proceed();         }我从谷歌游戏获得安全警报说:安全警报您的应用程序具有WebViewClient.onReceivedSslError处理程序的不安全实现。具体来说,该实现忽略了所有SSL证书验证错误,使您的应用程序容易受到中间人攻击。攻击者可以使用JavaScript更改受影响的WebView内容,读取传输的数据(例如登录凭据),以及在应用程序内部执行代码。要正确处理SSL证书验证,只要服务器提供的证书符合您的期望,就更改代码以调用SslErrorHandler.proceed(),否则调用SslErrorHandler.cancel()。包含受影响的应用和类别的电子邮件警报已发送到您的开发者帐户地址。请尽快解决此漏洞并增加已升级APK的版本号。有关SSL错误处理程序的更多信息,请参阅开发人员帮助中心中的文档。对于其他技术问题,您可以发布到并使用标签“android-security”和“SslErrorHandler。”如果您使用的是负责此操作的第三方库,请通知第三方并与他们合作解决问题。要确认您已正确升级,请将更新后的版本上传到开发者控制台,并在五小时后再回来查看。如果应用尚未正确升级,我们将显示警告。请注意,虽然这些特定问题可能不会影响使用WebView SSL的每个应用程序,但最好保持所有安全补丁的最新状态。如果应用程序存在漏洞,使用户面临泄密风险,则可能会被视为违反内容政策和开发者分发协议第4.4节的危险产品。请确保发布的所有应用均符合开发者分发协议和内容政策。如果您有任何疑问或疑虑,请通过Google Play开发者帮助中心与我们的支持小组联系。如果我删除onReceivedSslError (handler.proceed()),则页面将无法打开。无论如何我可以在webview中打开页面并避免安全警报。
查看完整描述

3 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

对我onReceivedSslError有用的修复只是在中定义的禁用功能AuthorizationWebViewClient。在这种情况下,handler.cancel将在SSL错误的情况下调用。但是,它适用于One Drive SSL证书。在Android 2.3.7,Android 5.1上测试过。


查看完整回答
反对 回复 2019-08-27
?
梦里花落0921

TA贡献1772条经验 获得超6个赞

根据Google Security Alert:界面X509TrustManager的不安全实施,Google Play将不会X509TrustManager从2016年7月11日起支持:

您好Google Play开发者,

您在此电子邮件末尾列出的应用使用了界面X509TrustManager的不安全实现。具体而言,在与远程主机建立HTTPS连接时,实现会忽略所有SSL证书验证错误,从而使您的应用容易受到中间人攻击。攻击者可以读取传输的数据(例如登录凭据),甚至可以更改HTTPS连接上传输的数据。如果您的帐户中有超过20个受影响的应用,请查看开发者控制台以获取完整列表。

要正确处理SSL证书验证,请在自定义X509TrustManager接口的checkServerTrusted方法中更改代码,以便在服务器提供的证书不符合您的期望时引发CertificateException或IllegalArgumentException。对于技术问题,您可以发布到Stack Overflow并使用标签“android-security”和“TrustManager”。

请尽快解决此问题,并增加已升级的APK的版本号。从2016年5月17日开始,Google Play将阻止发布包含界面X509TrustManager的不安全实施的任何新应用或更新。

要确认您已进行了正确的更改,请将应用的更新版本提交给开发者控制台,并在五小时后再回来查看。如果应用尚未正确升级,我们将显示警告。

虽然这些特定问题可能不会影响使用TrustManager实现的每个应用程序,但最好不要忽略SSL证书验证错误。如果应用程序存在漏洞,使用户面临泄密风险,则可能会被视为违反内容政策和开发者分发协议第4.4节的危险产品。

...


查看完整回答
反对 回复 2019-08-27
  • 3 回答
  • 0 关注
  • 1198 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信