Apple的App Transport Security (ATS) 是一项安全机制,旨在确保iOS和macOS应用的网络通信使用HTTPS加密。自iOS 9和OS X 10.11以来,默认情况下所有网络请求都必须使用HTTPS,除非明确允许非HTTPS连接。
在2017年1月1日之前,开发者可以通过在Info.plist文件中添加NSAppTransportSecurity字典并将NSAllowsArbitraryLoads设为YES来禁用ATS。然而,这种方法在2017年1月1日之后不再有效,因此新提交的APP必须使用HTTPS进行网络请求。
为了帮助开发者满足这一要求,华测SSL证书提供了多种类型的SSL证书,其中DV(域名验证)型证书申请简单、签发速度快且性价比高。购买DV型证书可以快速部署HTTPS,从而满足ATS的要求。
购买SSL证书:SSL证书_域名ssl证书 - CTI华测检测官方商城
ATS网络连接要求
要全面启用ATS功能,需要满足以下条件:
-
由可信机构颁发的SSL证书:签发根证书必须在iOS可信根证书列表中。
-
RSA 2048位以上,并且采用SHA256签名:华测SSL证书产品均满足此条件。
-
TLS协议版本:必须使用TLS 1.2及以上版本。
-
加密算法:必须支持AES-128和AES-256对称加密算法。
-
密钥交换算法:连接必须使用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服务器配置要求
根据不同的Web服务器类型,需要满足以下要求:
-
Apache和Nginx:使用OpenSSL 1.0及以上版本支持TLSv1.2。
-
Tomcat 7及以上版本:使用JDK 7.0及以上版本支持TLSv1.2。
-
IIS 7.5:默认不开启TLSv1.2,需修改注册表以开启TLSv1.2。下载并导入ats.reg注册表脚本后,重启或注销服务器即可使TLSv1.2生效。
-
IBM Domino Server 9.0.1 FP3Web服务器支持TLSv1.2:建议使用IBM Domino Server 9.0.1 FP5版本。
-
IBM HTTP Server 8.0及以上版本支持TLSv1.2:建议使用IBM HTTP Server 8.5及以上版本。
-
Weblogic 10.3.6及以上版本:使用Java 7及以上版本支持TLSv1.2。注意Weblogic 10.3.6存在多个SHA256兼容问题,建议最低使用Weblogic 12版本,或为Weblogic 10.3.6配置前端Apache或Nginx的HTTPS代理或SSL前端负载。
-
Websphere V7.0.0.23及以上版本、Websphere V8.0.0.3及以上版本、Websphere V8.5.0.0及以上版本:支持TLSv1.2。
ATS检测工具
苹果电脑中可以使用系统自带的工具进行ATS检测,执行以下命令即可:nscurl –ats-diagnostics –verbose 网址。一些云厂商也提供了较为方便的检测方式,只需要输入目标域名即可一键检测。