ssl证书安装-苹果ATS

自2017年1月1日起,根据苹果要求,所有 iOS 应用必须使用 ATS(App Transport Security),即 iOS 应用内的连接必须使用安全的 HTTPS 连接。同时,苹果要求使用的不仅是一个简单的 HTTPS 协议连接,而且必须要满足 iOS9 中的新增特性。

ssl证书安装,苹果ATS

本文介绍苹果ATS环境ssl证书安装苹果 ATS 针对 HTTPS 协议包含以下四个方面的要求:

证书颁发机构的要求

  • 建议您使用 DigiCert、Symantec、GeoTrust 品牌的 OV 型及以上数字证书,易维信出售的所有ssl都符合要求。
  • 对于个人用户,建议使用 DV 型数字证书,不推荐使用免费证书。
  • CFCA 品牌的数字证书只在最新的苹果设备上才支持,因此不推荐选择 CFCA 品牌。

证书的哈希算法和密钥长度的要求

哈希算法

上述推荐的证书品牌中是使用的哈希算法都是 SHA256 或者更高强度的算法,符合 ATS 的要求。

密钥长度

  • 如果您选择使用系统创建 CSR 的方式,系统生成的密钥采用的是 2048 位的 RSA 加密算法,完全符合 ATS 的要求。
  • 如果您选择自己创建CSR文件,请确保使用 2048 位或以上的 RSA 加密算法。

传输协议的要求

传输协议必须满足 TLS1.2。需要在 Web 服务器上开启 TLSv1.2,通常要求:

  • 基于 OpenSSL 环境的 Web 服务器,需要使用 OpenSSL 1.0 及以上版本,推荐使用 OpenSSL 1.0.1 及以上版本。
  • 基于 Java 环境的 Web 服务器,需要使用 JDK 1.7 及以上版本。
  • 其他 Web 服务器,除 IIS7.5 以及 Weblogic 10.3.6 比较特殊外,只要 Web 服务版本满足,默认均开启 TLSv1.2。

详细 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。关于如何配置 Webspere 服务器支持TLSv1.2,请参考 Configure websphere application server SSL protocol to TLSv1.2

签字算法的要求

签字算法必须满足如下算法要求:

  • 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 服务器的 ATS 协议及加密套件应该如何配置:注意: 示例中只列举了与 ATS 协议有关的属性,请不要完全复制以下配置用于您的实际环境。

Nginx 配置文件片段

Nginx 配置文件中 ssl_ciphers 及 ssl_protocols 属性与 ATS 协议有关。

  1. server {
  2. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  3. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  4. }

Tomcat 配置文件片段

Tomcat 配置文件中的 SSLProtocol 及 SSLCipherSuite 属性与 ATS 协议有关。

  1. <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
  2. scheme="https" secure="true"
  3. ciphers="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
  4. SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
  5. SSLCipherSuite="ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4" />

IIS 系列 Web 服务器的配置方法请参考 Enabling TLS 1.2 on IIS 7.5 for 256-bit cipher strength。您也可以使用 IIS Crypto 可视化配置插件进行配置。

ATS 检测工具

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

nscurl --ats-diagnostics --verbose 网址