背景:6月14日在WWDC 2016开发者大会上,苹果宣布了一个最后期限:2017年1月1日起,苹果App Store中的所有App都必须启用App Transport Security(ATS)安全功能。
结果:苹果宣布2017年1月1日起,所有提交到App Store的App必须强制开启ATS安全标准(App Transport Security),强制使用HTTPS加密连接。
要做:在最近的版本提交支持HTTPS的版本
1.更新所有涉及网络请求的三方库,一般他们都有新的sdk出来
2.APP访问的后台接口支持https
3.APP所有的h5链接及链接内部所有元素(视频、图片等)支持https
4.APP所有图片链接支持https
5.项目info.plist里将之前iOS9设置的Allows Arbitrary Loads设置为NOException Domains全部删除。(Exception Domains里有涉及三方的域的审核时可能被拒,做好及时解释的准备)
其他的分享:
关于https证书的要求,好多的url在webview上没办法加载,最主要的是证书配置不对举个栗子。一网通的证书在12月8日左右就是证书里的TLSv只到1.0。要求是得到1.2的。
可以用nscurl --ats-diagnosticshttps://www.baidu.com这个看是不是支持TLSv到1.2
https连接必须使用AES-128或AES-256对称加密算法 这个遇到的比较少,可以不能加载时可以做排查,毕竟这是苹果的要求
还有就是银联Apple Pay的sdk应该现在还是不支持https的(11月22的版),可以找他们的技术支持要。不知道他们什么时候更。