android - 默认主机名验证器

标签 android ssl hostname android-security

我正在浏览下面的文章-
https://developer.android.com/training/articles/security-ssl
并在下面找到文本-

Replacing HostnameVerifier can be very dangerous if the other virtual host is not under your control, because a man-in-the-middle attack could direct traffic to another server without your knowledge.



如果我们没有设置 urlConnection.setHostnameVerifier(hostnameVerifier);在客户端的代码中,当文档谈到替换 HostnameVerifier 时,客户端是否有任何默认的 Hostname Verifier?如果是,默认 HostnameVerifier 是如何工作的?

最佳答案

是的,如果您没有设置自定义主机名验证器,HttpsUrlConnection 将使用 DefaultHostnameVerifier OkHostnameVerifier .
这实际上是最佳实践——将此验证留给平台。
合法的异常(exception)情况可能是当您在默认验证器之上添加额外的保护层时,例如当您想执行某种自定义时
证书固定(但您为什么不遵循不涉及此的best practices?)。
在极少数情况下,您可能希望稍微放松一下默认检查,例如如果你,只需like Google few years ago , 有一些没有 SNI 的子域,必须被视为主域。

关于android - 默认主机名验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61076997/

相关文章:

Android:编辑图像 Intent

java - Android ImageAdapter 一次又一次地重复相同的图像/项目

android - 无效的 apk 文件?

ssl - PCI 标准端到端加密

java - 检查字符串是Java中的主机名还是IP地址

Java - 如何调用 IP 地址来查找主机名?

android - 像素 2 上的 Mopub 横幅

PHP 5.6 警告 : is_dir(): open_basedir restriction in effect

spring-boot - 使用 SSL 的 Spring Cloud Gateway 无法按名称路由到服务

validation - 如何验证主机名(可能是 IP)和端口号(CString)