我正在浏览下面的文章-
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/