当前位置: 首页 > 帮助中心首页 > 常见问题

苹果ATS - 证书选择及配置

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

    包括如下几点:

    1、证书颁发机构的要求

    2、传输协议的要求

    3、签字算法的要求

    4、证书的哈希算法和秘钥长度的要求

    其中2和3属于证书的安装和配置问题,稍后说一下。先说1和4的要求。

    证书颁发机构: 推荐用Symantec/GeoTrust品牌的OV及以上证书,个人用户可签发DV证书。而CFCA品牌只在最新的苹果设备上才支持,不推荐CFCA品牌。不推荐使用免费证书;

    证书的哈希算法:在上面推荐的证书品牌中是哈希算法都是SHA256或者更高强度的算法;

    秘钥长度: 如果选择使用系统创建CSR方式,密钥是2048位的RSA加密算法,完全符合要求;如果自己创建CSR,请使用2048位或以上的RSA加密算法;

    传输协议: 必须满足 TLS1.2

    要在服务器上开启 TLSv1.2,通常要求基于 OpenSSL 环境的,使用 OpenSSL 1.0+ ,推荐 OpenSSL 1.0.1+。

    要求基于 Java 环境的,使用 Jdk 1.7+ 。

    其他 Web Server,除 IIS7.5 以及 Weblogic 10.3.6 较为特殊外,只需版本满足,默认均开启 TLSv1.2。详情如下:

  1. Apache / Nginx 依赖 OpenSSL 1.0 + 以支持 TLSv1.2.

  2. Tomcat 7 + Jdk 7.0 + 支持 TLSv1.2

  3. IIS7.5 默认未开启 TLSv1.2 需修改注册表以开启 TLSv1.2。导入附件的 ats.reg 注册表脚本后,重启(或注销)服务器,以使 TLSv1.2 生效。

  4. IBM Domino Server 9.0.1 FP3支持tls1.2 ATS建议9.0.1 FP5。https://www-10.lotus.com/ldd/dominowiki.nsf/dx/TLS_Cipher_Configuration#TLS+1.2%3Ahttp://publib.boulder.ibm.com/httpserv/ihsdiag/ssl_questions.html

  5. IBM Http Server 8.0+ 支持TLS1.2 ,适配ATS建议使用8.5+

  6. weblogic10.3.6+ java7+ 支持tls1.2。Weblogic 10.3.6 存在多个 SHA256 兼容bug,建议应最低使用 Weblogic 12 版本,或为 Weblogic 10.3.6 配置前端 Apache 或 Nginx 的 https 代理(或SSL前端负载)。

  7. webspere V7.0.0.23+ V8.0.0.3+ V8.5.0.0+ 支持 TLsv1.2。https://developer.ibm.com/answers/questions/206952/how-do-i-configure-websphere-application-server-ss.html

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

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

    以下举例不同服务器的ATS协议及加密套件如何配置(只列举了与ATS有关的属性,请不要完全复制以下配置)

    Nginx配置文件中的片段(ssl_ciphers/ssl_protocols属性与ATS有关)

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

    Apache配置文件中的片段(SSLProtocol/SSLCipherSuite属性与ATS有关)

<IfModule mod_ssl.c>	
<VirtualHost *:443>	
SSLProtocol TLSv1 TLSv1.1 TLSv1.2	
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4	
</VirtualHost>	
</IfModule>

    Tomcat配置文件中的片段(SSLProtocol/SSLCipherSuite属性与ATS有关)

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

    IIS系列的配置最佳实践正在整理中,先推荐两篇文章供参考

http://jackstromberg.com/2013/09/enabling-tls-1-2-on-iis-7-5-for-256-bit-cipher-strength/

    一个可视化界配置插件

https://www.nartac.com/Products/IISCrypto/Download

阿里云的CDN、SLB业务的HTTPS配置完全符合ATS的要求。

    ATS检测工具:

    苹果电脑可以用自带的工具进行检测,命令如下:

    nscurl --ats-diagnostics --verbose 网址

  • 微信客服

    扫码咨询微信客服

    注册、续费更优惠

    公告、活动先知晓

    享受一对一专属服务

  • 客服QQ

  • 手机APP

    扫我安装22APP

  • 小程序

    爱名网微信小程序

  • 客服电话

    全国客服热线

    400-660-2522

  • 公众号

    关注爱名网服务号