我想了解 Android SDK 中对 SSL/TLS 服务器名称指示 (SNI) 扩展的支持。
问问题
24643 次
2 回答
25
据我所知,Android SDK 有部分支持。目前的情况如下:
- 自Gingerbread
HttpsURLConnection
发布以来,与API的TLS 连接支持 SNI。 - Android 附带的 Apache HTTP 客户端库不支持 SNI
- Android Web 浏览器也不支持 SNI(因为使用了 Apache HTTP 客户端 API)
在 Android 错误跟踪器中有一张关于此问题的已开票。
也可以通过连接到以下 URL 来测试 SNI 支持:https ://sni.velox.ch/
于 2011-05-05T09:18:47.857 回答
1
幸运的是,HttpsURLConnection支持SNI
自Android 2.3
. 如果您需要支持,一种解决方法Android 2.2 (and older)
是在唯一端口上设置备用虚拟主机,以便明确返回哪个服务器证书。
请检查此链接以获取更多信息。希望这对未来的用户有所帮助。
仅供参考
较新版本的 SSL,具体来说
TLSv.1.0 and later
,支持 服务器名称指示 (SNI),它允许 SSL 客户端向服务器指定预期的主机名,以便可以返回正确的证书。
于 2018-03-16T09:07:52.223 回答