美文网首页
APP基础功能的配置管理之ATS

APP基础功能的配置管理之ATS

作者: 花果山松鼠 | 来源:发表于2018-04-19 14:43 被阅读89次

一、TLS的历史

1994年,NetScape公司设计了SSL协议(Secure Sockets Layer)的1.0版,但是未发布。
1995年,NetScape公司发布SSL 2.0版,很快发现有严重漏洞。
1996年,SSL 3.0版问世,得到大规模应用。
1999年,互联网标准化组织ISOC接替NetScape公司,发布了SSL的升级版TLS(Transport Layer Security) 1.0版。
2006年和2008年,TLS进行了两次升级,分别为TLS 1.1版和TLS 1.2版。最新的变动是2011年TLS 1.2的修订版

二、Xcode中info.plist相关字段含义

    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoadsInMedia</key>
        <false/>
        <key>NSAllowsLocalNetworking</key>
        <false/>
        <key>NSAllowsArbitraryLoads</key>
        <false/>
        <key>NSAllowsArbitraryLoadsInWebContent</key>
        <false/>
        <key>NSExceptionDomains</key>
        <dict>
            <key>www.app.youCompany.cn</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSExceptionMinimumTLSVersion</key>
                <true/>
                <key>NSExceptionRequiresForwardSecrecy</key>
                <true/>
                <key>NSRequiresCertificateTransparency</key>
                <true/>
            </dict>
        </dict>
    </dict>

NSAllowsArbitraryLoads : 默认为NO。如果设置为YES,将解除ATS限制,将会引发苹果的审查。一般设置为NO,然后通过下面的NSExceptionDomains去添加白名单(或者叫例外)。

NSAllowsArbitraryLoadsInMedia : 默认为NO。如果设置为YES,将解除AVFoundation访问媒体内容时的ATS限制。

NSAllowsArbitraryLoadsInWebContent : 默认为NO。如果设置为YES,将解除网页访问时的ATS限制。

NSAllowsLocalNetworking: 默认为NO。如果设置为YES,将解除访问本地资源时的ATS限制。

NSExceptionDomains : 添加例外

NSIncludesSubdomains : 默认为NO。如果设置为YES,当前域名的 ATS 策略适用于其所有子域名。

NSExceptionAllowsInsecureHTTPLoads: 默认为NO。如果设置为YES,可以同时通过 HTTP 和 HTTPS 访问当前域名。(将会引发苹果的审查,上线时需要说明原因)

NSExceptionMinimumTLSVersion: string类型,可以设置 TLS 最低版本。(因为低版本有安全漏洞,将会引发苹果的审查,上线时需要说明原因)

NSExceptionRequiresForwardSecrecy: 默认为YES。如果设置为NO,允许针对当前域名使用不支持正向保密的 TLS 加密算法。

NSRequiresCertificateTransparency: 默认为NO。如果设置为YES,将验证域名服务器证书的Certificate Transparency时间戳 。

提交审核说明(举例):

  • 必须连接由其他机构控制的服务器,其还不支持安全连接。
  • 必须通过 web 展示来源不一的各种网络内容,但又不能完全使用NSAllowsArbitraryLoadsInWebContent所管理的类。
  • 必须支持那些还未升级至可使用安全连接,不得不通过公共域名访问网络的设备。
后记:因最近公司需要我们整理一些自己在工作中用到的基础知识,特此整理搜集了一些笔记,放入简书供大家学习探讨。

相关文章:
APP基础功能的配置管理之URL Scheme和白名单
APP基础功能的配置管理之屏幕旋转控制
APP基础功能的配置管理之系统权限控制

相关文章

网友评论

      本文标题:APP基础功能的配置管理之ATS

      本文链接:https://www.haomeiwen.com/subject/enfwkftx.html