den*_*nis 5 ssl https android sni
我正在构建一个需要使用https的Android应用.我没有问题与https地址进行https连接,该地址不使用带有服务器名称指示扩展名的 TLS .但我需要连接到使用带SNI扩展的TLS的https地址.
我为使用带有主机名扩展名的TLS的https地址所做的是:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("https://exampleurl.com/api");
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("username", email));
nameValuePairs.add(new BasicNameValuePair("ssh_public_key", publickey));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
Log.d(TAG, response.toString());
return response.toString();
} catch (Exception e) {
Log.d(TAG, e.toString());
}
Run Code Online (Sandbox Code Playgroud)
如何在Android的TLS中添加服务器名称指示扩展.经过研究,我发现了一篇关于stackoverflow的帖子,但是我无法使用它来处理这些信息.
但它有点在路上"据我所知,Android SDK有部分支持.目前的情况如下:
由于Gingerbread发布TLS与HttpsURLConnection API的连接支持SNI.Android附带的Apache HTTP客户端库不支持SNI Android Web浏览器也不支持SNI(因为使用Apache HTTP客户端API)
"感谢您的帮助.我在android sdk中使用SSLCONTEXT(TLS)和SSLENGINE类尝试了sni.velox.ch链接.我正在握手."
这篇文章给出了答案,这将在Android中工作,但我不知道如何使用HttpsURLConnection,SSLCONTEXT(TLS)和SSLENGINE.
任何机构都可以提供如何在TLS中设置服务器名称指示扩展的代码示例吗?
| 归档时间: |
|
| 查看次数: |
1470 次 |
| 最近记录: |