25

我想了解 Android SDK 中对 SSL/TLS 服务器名称指示 (SNI) 扩展的支持。

4

2 回答 2

25

据我所知,Android SDK 有部分支持。目前的情况如下:

  1. GingerbreadHttpsURLConnection发布以来,与API的TLS 连接支持 SNI。
  2. Android 附带的 Apache HTTP 客户端库不支持 SNI
  3. Android Web 浏览器也不支持 SNI(因为使用了 Apache HTTP 客户端 API)

在 Android 错误跟踪器中有一张关于此问题的已开票。

也可以通过连接到以下 URL 来测试 SNI 支持:https ://sni.velox.ch/

于 2011-05-05T09:18:47.857 回答
1

幸运的是,HttpsURLConnection支持SNIAndroid 2.3. 如果您需要支持,一种解决方法Android 2.2 (and older)是在唯一端口上设置备用虚拟主机,以便明确返回哪个服务器证书。

请检查此链接以获取更多信息。希望这对未来的用户有所帮助。

仅供参考

较新版本的 SSL,具体来说TLSv.1.0 and later,支持 服务器名称指示 (SNI),它允许 SSL 客户端向服务器指定预期的主机名,以便可以返回正确的证书。

于 2018-03-16T09:07:52.223 回答