我们可以使用AFNetworking / NSURLSession支持设置SNI并支持HTTP / 2吗?

时间:2016-09-28 10:36:23

标签: ios https afnetworking sni

背景介绍:

在建筑物前面支持HTTPS代理服务器,通常证书会有一个令人头疼的问题。根据HTTPS的工作原理,浏览器访问HTTPS站点,首先与服务器建立SSL连接,第一步建立对服务器证书的连接请求。服务器发送证书,不知道你的浏览器访问域名是什么,所以不能根据不同的域名发送证书.SNI(服务器)名称指示)是使用多个域名和SSL / TLS证书解决服务器。其工作原理如下:在连接服务器之前建立SSL链接发送访问站点的域名(Hostname)。域名服务器返回合适的证书。目前,大多数操作系统和浏览器都对SNI扩展有很好的支持,OpenSSL 0.9.8还具有内置功能。上面的过程,当客户端使用HTTPDNS解析时main,请求URL的主机将被HTTPDNS解析IP替换,以获取服务器到解析IP的域名,无法找到匹配的证书,只返回默认证书或不返回,所以有将是SSL / TLS握手失败错误。

条件:

  1. 使用AFNetworking。(客户端)
  2. 带有IP地址的URL主机名。例如: https://1.2.3.6/index.html
  3. 服务器(Single Ip)使用多个域名和 证书。(服务器)
  4. 我想使用带有ip地址主机名的URL(例如:https://1.2.3.6/index.html)。 要获得正确的证书,我必须在建立socket连接之前设置正确的SNI。 iOS系统不提供SNI接口(NSURLConnection / NSURLSession)。

    任何建议我的麻烦?

0 个答案:

没有答案