不用太多廢話,概念說多了會人懵逼。
我就簡單是說下關于iOS 10 適配HTTPS--info.plist配置里的相關Key的作用。
通常的https配置在 App Transport Security Settings 里:
Allow Arbitrary Loads (大家都比較熟悉),通常大家都設置成YES,來禁用AST。
如果在今后的App審核中,再設置為YES將會被拒絕。
所以在今后開發(fā)者需要自定義網(wǎng)絡安全策略,可以允許訪問一些不安全的網(wǎng)絡環(huán)境。
#App Transport Security Settings的結(jié)構層次
NSAppTransportSecurity : Dictionary {
NSAllowsArbitraryLoads : Boolean
NSAllowsArbitraryLoadsInMedia : Boolean
NSAllowsArbitraryLoadsInWebContent : Boolean
NSAllowsLocalNetworking : Boolean
NSExceptionDomains : Dictionary {
<domain-name-string> : Dictionary {
NSIncludesSubdomains : Boolean
NSExceptionAllowsInsecureHTTPLoads : Boolean
NSExceptionMinimumTLSVersion : String
NSExceptionRequiresForwardSecrecy : Boolean // Default value is YES
NSRequiresCertificateTransparency : Boolean
}
}
}
NSAllowsArbitraryLoadsInMedia (設置為 YES,解除通過 AV Foundation 框架訪問媒體內(nèi)容時的 ATS 限制;啟用這個 鍵,務必確保載入的媒體內(nèi)容已經(jīng)被加密,例如受FairPlay保護的文件,或者是安全的 HLS流媒,其中不包含敏感的個人信息。默認為 NO)
NSAllowsArbitraryLoadsInWebContent (設置為 YES,解除通過 web view 發(fā)出的網(wǎng)絡請求的 ATS 限制。啟用這個鍵,可以使 app 訪問任意網(wǎng)頁內(nèi)容,但不影響 app 的總體 ATS 策略。此鍵值默認為 NO)
NSAllowsLocalNetworking (設置為 YES,使得 app 可以載入任意本地資源,但不影響 app 的總體 ATS 策略。默 認為 NO)
NSExceptionDomains ----對單獨域名進行配置
NSIncludesSubdomains ( 設置為 YES,當前域名的 ATS 策略適用于其所有子域名。默認為 NO)
NSExceptionAllowsInsecureHTTPLoads (設置為 YES,可以同時通過 HTTP 和 HTTPS 訪問當前域名。默認為 NO。 注意,配置這個鍵值,將引發(fā) App Store 的審查,開發(fā)者必須說明原因)
NSExceptionMinimumTLSVersion (指定 TLS 的最低版本,因此可以使用版本較低,有安全漏洞的 TLS 協(xié)議。 注意,配置這個鍵值,將引發(fā) App Store 的審查,開發(fā)者必須說明原因)
NSExceptionRequiresForwardSecrecy ( 設置為 NO,允許針對當前域名使用不支持正向保密的 TLS 加密算法。默認為 YES)
NSRequiresCertificateTransparency (設置為 YES,將驗證域名服務器證書的Certificate Transparency時間戳 。默認為 NO)