Tag: sslerrorhandler

WebView在执行onReceivedSslError时避免来自Google play的安全警报

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