现象

我们的App已经完成了NA部分的ATS适配。
网页端由于有使用到第三方的页面,所以开启了网页的豁免权限。
关于如何开启豁免及方法,可以参考喵神的Blog
最终,我们的适配参数为:

NSAllowsArbitraryLoads: YES 
NSAllowsArbitraryLoadsInWebContent: YES

但是,在访问一些Https先行者的网站(如:移动营业厅)时,却出现了网页无法正常访问的情况。
且这种情况只出现在iOS 10.0(.x),及10.1(.x)上,iOS 10.2上就没有问题。

分析

这种情况在做NA Https化的时候也遇到过,通常是和证书有关系。
于是做了以下实验:

  1. 用Chrome浏览器查看证书详情,发现使用的加密算法,浏览器输出加密算法比较旧。
  2. 通过NSCurl的检测也发现这个网址确实不符合ATS的要求。(NSCurl使用参考网址)
  3. 开启整个APP豁免ATS,这个页面是可以正常访问的。

说明虽然之前我们的App要求了网页的ATS豁免,但是在iOS 10.0(.x),及10.1(.x)并未生效。
顺着这个思路,终于找到了苹果论坛的一个帖子,这是个系统bug……讨论得挺热烈的。

最后苹果工作人员给出建议:

The obvious workaround would be to continue to use NSAllowsArbitraryLoads until this problem is resolved.
You should also contact the site owner: the level of security for that site is way below what I would expect to see on the modern Internet.

如此,如果你的App用到了先驱网站又想想覆盖iOS 10.0/10.1的系统,只剩下NSAllowsArbitraryLoads一条路可走了。
然后记得用联通手机打电话给移动“你们的网站安全级别太低了,赶紧给上帝(laozi)升级!”

设想苹果推行ATS的未来

通过这个事件,苹果估计得更改一下他们推行ATS的计划了。
那么多做HTTPS的先驱,他们用的算法各异,只要我们的网页中有跳转到这些先驱网页的可能,就必须开启网页的豁免。如果开启这个就必须做NA的ATS化。
再加上iOS 10.0/10.1的这个bug,NSAllowsArbitraryLoadsInWebContent也用不得了,就剩下和iOS 9一样的NSAllowsArbitraryLoads设置为YES才能让iOS 10.0/10.1上可以正常访问先驱网页。
2016年末苹果说会推迟ATS强制执行的时间。
iOS 9发布后到iOS 10苹果想出了个新的Key解决ATS豁免问题。
现在新Key不能用了。看来这一推迟,怎么也得到下个大版本之后了。

苹果ATS 豁免摆乌龙?的更多相关文章

  1. 服务器配置ssl证书支持苹果ATS方法

    服务器配置ssl证书支持苹果ATS方法 发布日期:2016-12-14 苹果安全工程&架构部门主管Ivan Kristic表示ATS将在今年底成为App Sotre app的必要条件,这将大幅 ...

  2. 为苹果ATS和微信小程序搭建 Nginx + HTTPS 服务

    昨天测试开发微信小程序,才发现微信也要求用HTTPS加密数据,想来是由于之前苹果的ATS审核政策的缘故吧,微信想在苹果上开放小程序必然也只能要求开发者必须使用HTTPS了,于是在服务器上测试安装Ngi ...

  3. 苹果ATS Win2008 R2 IIS7.5 HTTPS 证书的那些可能遇到的坑

    前言:工作这么多年,每一次要弄https 都和苹果有关,上一次是苹果app的企业安装形式,ios7后 .plist 文件必须在一个https路径. 这一次则是苹果的ATS计划,无疑这是在推动网络安全上 ...

  4. 正确适配苹果ATS审核要求的姿势

    首先,ATS的技术行为不会有任何变化(除了新增两个字段NSAllowsArbitraryLoadsInWebContent和NSRequiresCertificateTransparency,也就是更 ...

  5. https与http的访问,应对苹果ATS验证问题

    为应对2017年1月1日苹果ATS的问题,微信.微博等等APP要求挂载的网页必须https访问,需要添加ssl认证. 一.SSL认证 选取了阿里云提供的免费SSL,使用期限为一年.电话咨询阿里客服,免 ...

  6. Apache和Nginx配置支持苹果ATS方法

    什么是ATS功能? ATS是iOS9和OS X El Capitan的一个新特性.开启该功能后,ATS对使用NSURLConnection, CFURL或NSURLSession 等APIs 进行的网 ...

  7. 苹果ATS特性服务器证书配置指南

    配置指南: 需要配置符合PFS规范的加密套餐,目前推荐配置: ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!AD ...

  8. 苹果ATS特性服务器配置指南 HTTPS 安卓可以用 IOS 报错。

    解决方案:https://www.qcloud.com/document/product/400/6973 ATS检测:https://www.qcloud.com/product/ssl#userD ...

  9. 苹果iOS APP配置HTTPS,iOS ATS配置SSL,苹果ATS标准解决方案

    参考沃通:

随机推荐

  1. ThinkCenter安装CentOS7

    重启电脑按F12选择从光盘启动: 选择install CentOS7,并按“E”键 进行编辑 编辑后,并按Ctrl+X 查看并找到你需要的盘符名称,如:sr0:随后强制重启电脑. 并修改如下: 按Ct ...

  2. scapy学习笔记(4)简单的sniffing 嗅探

    转载请注明:@小五义:http://www.cnblogs/xiaowuyi 利用sniff命令进行简单的嗅探,可以抓到一些简单的包.当不指定接口时,将对每一个接口进行嗅探,当指定接口时,仅对该接口进 ...

  3. 网络对抗技术 2017-2018-2 20152515 Exp6 信息搜集与漏洞扫描

    1.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法.包括: (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的 ...

  4. Android开发——进程间通信之Bundle和文件

    0.  前言 不论是Android还是其他操作系统,都会有自己的IPC机制,所谓IPC(Inter-Process Communication)即进程间通信.首先线程和进程是很不同的概念,线程是CPU ...

  5. Selenium 爬取全国水质周报Word

    很久没写爬虫了 ,昨天有个学姐说需要爬取水质的一些数据,给了个网站( http://xxfb.hydroinfo.gov.cn/ssIndex.html?type=2&tdsourcetag= ...

  6. python 优雅地实现插件架构

    近日,决定用 python 实现插件架构,于是上 stackoverflow 逛了一下,在这里发现一段代码,非常喜欢. 提醒各位大侠注意,我对这段代码作了一点小小的改动:原 PLUGINS 是 lis ...

  7. CentOS7永久挂载硬盘

    刚新装一台服务器,有一块120G的SSD和一块1T的HHD,把cenos7装在了SSD上,进系统默认是找不到HHD的,现需要将其挂载上去. 1.先查看服务器的硬件信息 # fdisk -l 可以看到如 ...

  8. 同步、异步、回调执行顺序之经典闭包setTimeout分析

    聊聊同步.异步和回调 同步,异步,回调,我们傻傻分不清楚, 有一天,你找到公司刚来的程序员小T,跟他说:“我们要加个需求,你放下手里的事情优先支持,我会一直等你做完再离开”.小T微笑着答应了,眼角却滑 ...

  9. Sterling B2B Integrator与SAP交互 - 02 安装配置

    系统组成: 1. 服务器OS及硬件: OS: Red Hat Enterprise Linux Server release 6.6 Hardware: Virtual Machine, x86_64 ...

  10. EF Core 新特性——Owned Entity Types

    Owned Entity Types 首先owned entity type是EF Core 2.0的新特性. 至于什么是owned entity types,可以先把他理解为EF Core官方支持的 ...