我们的服务遍布中国

我们的服务遍布中国
乃至世界

光网所服务的品牌地域与城市
北京 天津 上海 广州 深圳 香港 厦门 江苏 浙江 山东
重庆 长沙 武汉 成都 西安 宁夏 丽江 青海 云南 乌鲁木齐
黑龙江 内蒙古 河北 ...
光网服务与合作的全球各地
美国 加拿大 德国 法国 英国 瑞士 意大利 荷兰
印度 日本 韩国 ...

不论你的品牌在何处
我们都可以提供完善的服务与帮助

致电

0512-56969630
您所在的位置:首页 > SSL证书

苹果ATS - 证书选择及配置

发布时间:2017/3/19 19:53:51 浏览:159打印字号:

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_SHA384TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHATLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHATLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256TLS_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 网址