ATS
App Transport Security,是IOS9中新增加的一项功能,是Apple提高网络通讯安全的一个重要改进。在IOS 9 和OS X 10.11中,默认情况下的非HTTPS的网络访问是被禁止的,在2017年1月1日前,为了降低影响,我们可以在Info.plist中增加” NSAppTransportSecurity”字典,并将”NSAllowsArbitraryLoads”设为”YES”来禁用ATS。但在2017年1月1日以后,就不再允许用这个方法来绕过ATS,所以新提交的APP的网络请求都必须是HTTPS加密的,否则可能会在应用审核时遇到麻烦。
ATS网络连接要求
要全面启用ATS功能,需要您的APP连接使用HTTPS链接,并且满足下面安全要求:1、 由可信机构颁发的SSL证书,签发根证书在IOS可信根证书列表中。
(Symantec,GeoTrust,RapidSSL 的所有SSL证书产品,都在IOS可信根证书列表中)
2、 SSL证书必须是RSA 2048位以上,并且采用SHA256签名。
(Symantec,GeoTrust,RapidSSL 的所有SSL证书产品都满足这项条件)
3、 协商的TLS通信协议必须在TLS 1.2 以上。
4、 连接必须使用AES-128和AES-256对称加密算法,TLS协商的加密套件必须支持ECDHE(Elliptic Curve Diffie-Hellman Ephemeral)密钥交换算法以实现PFS特性(Perfect Forward Secury),支持的加密套件算法如下:
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
Web Server实现ATS功能
文档编写日期:2016年10月28日