苹果ATS - 证书选择及配置

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

包括如下几点:

1、证书颁发机构的要求

2、传输协议的要求

3、签字算法的要求

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

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

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

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

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

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

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

 
  1. TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  2. TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  3. TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  4. TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  5. TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  6. TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  7. TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  8. TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  9. TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  10. TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  11. TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

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

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. }

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

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

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

 
  1. <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
  2. scheme="https" secure="true"
  3. SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
  4. SSLCipherSuite="ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4" />
阿里云的CDN、SLB业务的HTTPS配置完全符合ATS的要求。

ATS检测工具:

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

nsurl --ats-diagnostics --verbose 你的接口地址

其它公司提供的检测工具:

https://www.trustasia.com/tools/ats-checker.htm

转载于:https://my.oschina.net/kisshua/blog/804881

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值