Android的SSL - SNI支持
据我所知,目前在Android SDK中一个部分支持。目前的情况是这样的:
- 由于与
HttpsURLConnection
API的姜饼释放TLS连接支持SNI。 附带的Android
- 的Apache HTTP客户端库不支持SNI
- 的Android网络浏览器不支持SNI没有(因为使用Apache HTTP客户端API)
有一个opened ticket关于这个问题的Android错误跟踪器。
也可以通过向这个URL连接测试SNI支持:https://sni.velox.ch/
嗨JCS,感谢您的帮助。我已经尝试使用SSLCONTEXT(TLS)和Android SDK中可用的SSLENGINE类的https://sni.velox.ch/链接。我正在握手。但是,同样的代码是不能工作我们的测试服务器上。服务器有什么关系吗?这个你能帮我吗。 – user736435 2011-05-05 14:41:05
在客户端的任何异常? – Jcs 2011-05-05 15:43:32
我得到这个以下错误:错误协商SSL连接。 java.io.IOException:SSL握手失败:SSL库失败,通常为协议错误 SSL例程:SSL23_GET_SERVER_HELLO:sslv3警报握手失败(external/openssl/ssl/s23_clnt.c:580 0xaf589bac:0x00000000)“ – user736435 2011-05-08 05:43:56
您可以使用SNI与HttpClient的LIB,太:http://blog.dev001.net/post/67082904181/android-using-sni-with-apache-httpclient-library
您的链接已损坏。你能更新吗? – 2017-09-06 20:46:16
即使是现在,一些Android的HTTP库不支持SNI,我只是遇到了一个问题,没有意识到它的SNI,因为我一直得到失败的SSL握手,而SNI被禁用的时刻,它都可以工作,只是一个音符,连接使用'HttpsURLConnection'作为它(我相信)使用也支持SNI的OKHTTP。 – visual 2016-08-22 00:37:39