WWDC 2016开发者大会上,苹果宣布:2017/1/1开始,所有App store内的App必须启用 App Transport Security(ATS)安全功能,所有App网络请求启用https。
当然在这期间(2017/1/1之前)还是可以通过对info.plist设置,继续使用http进行网络请求。
在iOS9中新增ATS特性, 主要使到原来请求的时候用到的HTTP,都转向TLS1.2协议进行传输。这也意味着所有的HTTP协议都强制使用了HTTPS协议进行传输。
打开info.plist文件,新增以下字典
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
介绍一下对于ATS的一些需求:
1、必须基于TSL 1.2版本协议 (The protocol Transport Security Layer (TLS) must be at least version 1.2.)
2、连接的加密方式要提供Provide Forward Secrecy【PFS】 (Connection ciphers are limited to those that provide forward secrecy)
3、证书至少要使用一个SHA256的指纹与任一个2048位或者更高位的RSA密钥,或者是256位或者更高位的ECC密钥 (Certificates must use at least an SHA256 fingerprint with either a 2048 bit or greater RSA key, or a 256 bit or greater Elliptic-Curve (ECC) key)
PFS(perfect forward secrecy),中文可叫做完全前向保密。要求一个密钥只能访问由它所保护的数据;用来产生密钥的元素一次一换,不能再产生其他的密钥;一个密钥被破解,并不影响其他密钥的安全性。
所有评论(0)