距离苹果iOS强制HTTPS只剩10天!10天后,苹果将关闭HTTP的大门,若是您的iOS APP还在使用HTTP明文链接,将没法经过App Store审核,影响应用上架!您还在使用 NSAllowsArbitraryLoads来关闭ATS功能?2017 年 1 月 1 日起,这招将行不通了,100%审核被拒。ios
1.什么是ATS?
ATS是iOS9和OS X ElCapitan的一个新特性,开启该功能后,ATS对使用NSURLConnection, CFURL 或NSURLSession 等 APIs 进行的网络请求,默认强制使用HTTPS加密传输,目标是提升Apple操做系统以及应用程序的安全性。算法
2.ATS和HTTPS什么关系?
启用ATS后,将屏蔽HTTP明文链接及不符合要求HTTPS链接。简单地说,ATS标准有点像PC端浏览器验证机制,用于规范iOS移动端与服务端网络链接的安全性。api
3. HTTPS怎样才符合ATS要求?
ATS默认的安全要求:
•服务器必须支持传输层安全(TLS)协议1.2以上版本;
•通信加密套件仅限支持彻底正向加密的套件;
•证书必须使用SHA256或更高的哈希算法签名;以及2048位以上RSA密钥或256位以上ECC密钥。
不知足以上条件,ATS会拒绝链接。浏览器
4.为何ATS强制使用HTTPS?
HTTP是明文协议,经过该协议传输的数据处在被窃听、篡改、冒充这三大风险中,已是很是不安全的传输协议。HTTPS是加密协议,就是在HTTP的基础上开启一条SSL加密通道,让本来明文“裸奔”的数据,从加密通道中密文传输,保证了数据传输的安全性。安全
目前,全球互联网正在进行从HTTP到HTTPS的大迁移,苹果一贯很是关注用户隐私安全,在执行安全策略方面,态度也是很是强硬,实施强制HTTPS加密势在必行。服务器
5.如何启用HTTPS支持ATS?
选择合适的SSL证书、在APP服务端部署SSL证书、在iOS客户端适配ATS,简单三步便可让您的iOS APP启用HTTPS支持ATS要求。网络
如何选择SSL证书?各类版本服务器如何配置HTTPS支持ATS?CDN如何配置HTTPS证书?iOS客户端适配ATS要注意哪些问题?这些都是困扰开发者的难题。针对这个问题,LZ推荐一个“苹果iOS HTTPS专题页”(http://www.wosign.com/marketi...),汇总了最全服务器证书安装指南和iOS客户端适配教程。应该对开发者朋友们有所帮助。加密
特别提示:采用自签名证书(无效证书)实现HTTPS链接,直接访问会报错且极有可能没法经过App store审核,开发者慎用!spa