首先是还算好的好消息
苹果官方表示:强制使用 HTTPS 的要求将暂时不执行,以便给我们更多的时间来做 HTTPS 的适配工作。具体的执行时间,将在确定后再次发布。因此,我们依然可以在 'xxx-Info.plist' 中设置 'App Transport Security Settings' 的 'Allow Arbitrary Loads' 属性设置为yes,来避开ATS要求。这样我们的应用不再需要任何修改就可访问http的网页。
其次是出来混总要还的
首先我们需要把网站配置成支持HTTPS。
苹果的 ATS (App Transport Security) 政策对于HTTPS的要求,包括:
1. X.509证书必须至少满足下面一种条件:
由根证书是操作系统安装的CA颁发;
由用户或系统管理员信任并安装的根证书颁发;
2. TLS版本必须为TLS 1.2,不使用TLS或使用老版本TLS的连接,访问会失败,基于TLSTool工程可获取服务器支持的TLS相关参数;
连接必须使用AES-128或AES-256对称加密算法,TLS协商算法必须通过ECDHE密钥交换保证完全正向保密(Perfect Forward Secrecy, PFS),ECDHE密钥必须属于下面一种:
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_