现象

我们的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. NRF51822/NRF51802/NRF52810/NRF52811的详解区别

    nRF51系列 - 多协议低功耗蓝牙和ANT/ANT+ 和2.4GHz专用系统级芯片 NRF51822-QFAA和NRF51802-QFAA在FLASH RAM的容量没有差别:区别在于:1.接收灵敏度 ...

  2. ROS初级教程 cmake cmakelist.txt 的编写教程

    有很多 的时候我们使用别人的程序包.然后添加东西的时候缺少什么东西,会使程序编译不过去,甚至无法运行,接下来介绍一下cmakelist.txt 的每一行的作用.为了以后添加和修改方便. 2.整体结构和 ...

  3. rownum与row_number() OVER (PARTITION BY COL1 ORDER BY COL2)

    1)rownum 为查询结果排序.使用rownum进行排序的时候是先对结果集加入伪列rownum然后再进行排序 select rownum n, a.* from ps_user a order by ...

  4. OWASP移动安全漏洞Top 10

    •脆弱的服务器端安全控制 在OWASP排第一的漏洞是“脆弱的服务器端安全控制”,顾名思义,就是没有以一个安全的方式从移动应用程序向服务器端发送数据,或在发送数据时暴露了一些敏感的API.例如,考虑对一 ...

  5. Windows Server2003 IIS服务器安全配置整理

    一.系统的安装   1.按照Windows2003安装光盘的提示安装,默认情况下2003没有把IIS6.0安装在系统里面.2.IIS6.0的安装 开始菜单—>控制面板—>添加或删除程序—& ...

  6. 20155323刘威良《网络对抗》Exp8 Web基础

    20155323刘威良<网络对抗>Exp8 Web基础 实践内容 (1).Web前端HTML(0.5分) 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编 ...

  7. 20155323刘威良《网络对抗》Exp6 信息搜集与漏洞扫描

    20155323刘威良<网络对抗>Exp6 信息搜集与漏洞扫描 实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 实践内容 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查 ...

  8. sql查询语句示例

    今天没事又专门学习了一下sql查询语句,个人感觉太重要了,于是就找了网上的一个示例自己练了起来,感觉学到了很多,下面跟大家分享一下sql查询语句的示例操作. 首先,我建了5张表,分别如下: (a)学生 ...

  9. 【LG4070】[SDOI2016]生成魔咒

    [LG4070][SDOI2016]生成魔咒 题面 洛谷 题解 如果我们不用在线输的话,那么答案就是对于所有状态\(i\) \[ \sum (i.len-i.fa.len) \] 现在我们需要在线询问 ...

  10. HTML基础之JS

    HTML中的三把利器的JS 又称为JavaScript,看着好像和Java有点联系,实际上他和java半毛钱关系都没有,JavaScript和我们学习的Python.Go.Java.C++等,都是一种 ...