售前咨询
技术支持
渠道合作

iOS的ATS配置 – 2017年前ATS规定的适配 – HTTPS SSL 教程

苹果规定:从2017年1月1日起,新提交的 app 不允许使用NSAllowsArbitraryLoads来绕过ATS(全称:App Transport Security)的限制。

以前为了兼容http和不满足规定的https,我们采用了最偷懒的做法:设置NSAllowsArbitraryLoads 为YES。即:

    <key>NSAppTransportSecurity</key>    <dict>        <key>NSAllowsArbitraryLoads</key>        <true/>      </dict>

 

现在这个方式被苹果给禁止了。

 

一、使用默认的ATS设置要满足:

1、https 要基于TLS 1.2或以上版本。

2、证书的加密的算法要至少要SHA256的算法,用至少是2048位的RSA的key 或至少是256位的Elliptic-Curve(ECC)的key所产生的证书

3、加密算法也是有限制,就是ATS中的ForwardSecrecy(超前的密码保护算法)配置项,需要在以下列表中,详见:苹果文档。

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

如果不符合上述3个要求,请求接口会报错:

NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)

 

 

二、ATS配置说明

ATS配置说明

详细说明:

NSAppTransportSecurity : 配置ATS的跟属性。

NSAllowsArbitraryLoads : 是否允许所有的连接,包括http。默认值是No,如果设置成YES,就可以使用http了。2017年1月1号后该选项被禁用。

NSExceptionDomains : 用于配置例外的域名,即在该配置项中的域不需要通过ATS的验证。

< domain-name-for-exception-as-string > : 需要添加例外的域名字符串,如:baidu.com

NSExceptionMinimumTLSVerion :最低支持的TSL的版本号,可用的配置有TLSv1.0、TLSv1.1以及TLSv1.2三个配置项。

NSExceptionRequiresForwardSecrecy :是否满足上文中列举的加密算法。因为我们服务端不支持这些算法,所以我们设置为NO。

NSExceptionAllowsInsecureHTTPLoads : 是否为HTTPS的服务器。用这个配置可用访问那些没有证书、自签名证书、过期证书以及证书与域名匹配不上的服务器。默认值是NO。

NSIncludesSubdomains : 子域名是否使用同样的配置。默认值是NO。如果设置为YES,则子域名如api.baidu.com也都使用相同的配置

NSThirdPartyExceptionMinimumTLSVersion : 如果是域名为第三的域名,且开发人员无法控制的情况下进行配置。设置最低支持的TSL的版本号

NSThirdPartyExceptionRequiresForwardSecrecy : 如果是域名为第三的域名,且开发人员无法控制的情况下进行配置ForwardSecrecy。

 

GDCA致力于网络信息安全,已通过WebTrust 的国际认证,是全球可信任的证书签发机构。GDCA专业技术团队将根据用户具体情况为其提供最优的产品选择建议,并针对不同的应用或服务器要求提供专业对应的HTTPS解决方案。

GDCA一直以“构建网络信任体系,服务现代数字生活”的宗旨,致力于提供全球化的数字证书认证服务。其自主品牌——信鉴易 TrustAUTH SSL证书:包括 OVSSL、EVSSL、代码签名证书等。为涉足互联网的企业打造更安全的生态环境,建立更具公信力的企业网站形象。

上一篇:

下一篇:

相关新闻

 

领取优惠
免费预约

申请试用SSL证书

提交成功!

咨询客服