苹果 ATS 需要如何申请和配置SSL证书
环度小编:Jenny 发布时间:2019-12-03

背景说明:

Apple为了提高网络通讯安全,在IOS9中新增加的一项功能,即 ATS (App Transport Security),这是一个重要的改进。

在IOS 9 和OS X 10.11中,默认情况下的非HTTPS的网络访问是被禁止的,在2017年1月1日前,为了降低影响,我们可以在Info.plist中增加” NSAppTransportSecurity”字典,并将”NSAllowsArbitraryLoads”设为”YES”来禁用ATS。但在2017年1月1日以后,这个方法已经不能再来绕过ATS,所以新提交的APP的网络请求都必须是HTTPS加密的,否则可能会在应用审核时遇到麻烦。

关于证书选择

环度SSL证书网上任何一款证书均可满足Apple的此项要求,但基于部署成本考虑,我们特别推荐DV型证书,申请简单,性价比高。因为在APP上,实际我们是看不到证书的详细信息,所以OV和EV在ATS场景里面并无特别的优势。

DV型证书列表:https://www.sslzhengshu.com/validation/dv-ssl.html  

ATS网络连接要求

要全面启用ATS功能,需要您的APP连接使用HTTPS链接,并且满足下面安全要求:

1,由可信机构颁发的SSL证书,签发根证书在IOS可信根证书列表中。

(Symantec,GeoTrust,RapidSSL ,Comodo,DigiCert 等所有我司经销的SSL证书产品,都在IOS可信根证书列表中)

2,SSL证书必须是RSA 2048位以上,并且采用SHA256签名。(我司经销的所有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服务器配置要求

Apache 、 Nginx Web服务器需要使用OpenSSL 1.0及以上版本来支持TLSv1.2。

Tomcat 7及以上版本Web服务器需要使用JDK 7.0及以上版本来支持TLSv1.2。

IIS 7.5 Web服务器默认不开启TLSv1.2,需要修改注册表以开启TLSv1.2。

下载并导入ats.reg 注册表脚本后,重启(或注销)服务器,即可使TLSv1.2 生效。

IBM Domino Server 9.0.1 FP3 Web服务器支持TLSv1.2。根据ATS要求,建议使用IBM Domino Server 9.0.1 FP5版本。

IBM HTTP Server 8.0及以上版本支持TLSv1.2。根据ATS要求,建议使用IBM HTTP Server 8.5及以上版本。

Weblogic 10.3.6及以上版本Web服务器需要使用Java7及以上版本来支持TLSv1.2。

说明 Weblogic 10.3.6中存在多个SHA256兼容问题,建议最低使用Weblogic 12版本,或为Weblogic 10.3.6配置前端Apache或Nginx的HTTPS代理或SSL前端负载。

Webspere V7.0.0.23及以上版本、Webspere V8.0.0.3及以上版本、Webspere V8.5.0.0及以上版本支持 TLSv1.2。

ATS检测工具

您可在苹果电脑中使用系统自带的工具进行ATS检测,执行以下命令即可:nscurl --ats-diagnostics --verbose 网址