您好,欢迎来到知库网。
搜索
您的当前位置:首页App Transport Security

App Transport Security

来源:知库网

遇到的问题

解决方法

  1. 在Info.plist中添加 App Transport Security Settings 类型 Dictionary ;
    并在App Transport Security Settings 下添加 Allow Arbitrary Loads 类型Boolean, 值设为 YES

  2. 或者在plist source code添加

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

二者效果等同

解释原因、关于ATS

ATS

ATS限制使用HTTP, 数据请求尽量通过HTTPS加密传输,
HTTPS的请求也要满足以下规定:

  1. 传输层协议(TLS)至少为1.2版本
  2. 连接的加密方式要提供Forward Secrecy,支持如下加密算法
  3. 证书至少要使用一个SHA256的指纹与任一个2048位或者更高位的RSA密钥,或者是256位或者更高位的ECC密钥。如果不符合其中一项,请求将被中断并返回nil.

上面新增的配置中的NSAppTransportSecurityATS配置的根节点,配置了节点表示告诉系统要走自定义的ATS设置。而NSAllowsAritraryLoads节点则是控制是否禁用ATS特性,设置YES就是禁用ATS功能。

总结:

  • 如果请求源是HTTP,则按以上方法处理
  • 如果请求源是HTTPS,则需要根据是否满足以上三个条件来针对性地配置plist

Copyright © 2019- zicool.com 版权所有 湘ICP备2023022495号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务