如何解决 HostnameVerifier 不安全的问题

本文面向的是在应用中采用不安全的 HostnameVerifier 接口实现方式的开发者。在与使用 setDefaultHostnameVerifier API 的远程主机建立 HTTPS 连接时,这种实现方式会接受所有主机名,从而使您的应用容易受到中间人攻击。攻击者可能会读取传输的数据(例如登录凭据),甚至更改通过 HTTPS 连接传输的数据。

问题说明

从 2017 年 3 月 1 日起,Google Play 开始禁止发布任何采用不安全的 HostnameVerifier 实现方式的新应用或应用更新。请参阅 Play 管理中心内的通知。Play 管理中心内显示的截止日期过后,系统可能会将所有包含未修复安全漏洞的应用从 Google Play 中移除。

需要采取的行动​

  1. 登录您的 Play 管理中心,然后转到“提醒”部分,了解受影响的应用以及解决这些问题的截止日期。
  2. 更新受影响的应用并修复漏洞。
  3. 提交受影响应用的更新版本。

重新提交后,我们会重新审核您的应用。审核过程可能需要几个小时才能完成。如果应用通过审核并成功发布,便无需进一步操作。如果应用未通过审核,则新版应用将无法发布,您会收到电子邮件通知。

更多详细信息

为了正确处理主机名验证,请更改您的自定义 HostnameVerifier 接口中的 verify 方法,指定在服务器的主机名不符合您的预期时返回 False。

请注意,应用还必须遵守开发者分发协议内容政策

我们随时为您提供帮助

如果您针对此漏洞有技术方面的问题,可以在 Stack Overflow 上发帖咨询(使用“android-security”标签)。有关您需要采取哪些步骤来解决此问题的说明,请与我们的开发者支持团队联系。

该内容对您有帮助吗?

您有什么改进建议?
false
主菜单
2863804579476112234
true
搜索支持中心
true
true
true
true
true
5016068
false
false