NSCurl ATS工作,IOS 9没有

时间:2015-11-03 04:56:39

标签: ios security nsurl

以下是来自NSCURL的日志:

Default ATS Secure Connection
---
ATS Default Connection
ATS Dictionary:
{
}
Result : PASS
---

来自IOS 9模拟器:

2015-11-02 20:52:29.928 energyvue[1137:17754] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)

该网址位于9445端口。反正有没有超越运输安全的工作吗?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,通讯可以在Simulator iOS9.2上运行,但不适用于设备。

我修复了问题,检查CFNetwork登录设备(http://jonathanblog2000.blogspot.com.br/2015/07/using-cfnetworkdiagnostics-for-network.html)并使用Cordova ATS混合应用程序演示作为示例(http://moduscreate.com/cordova-5-ios-9-security-policy-changes/)。

我的最终ATS配置:

    <key>NSAppTransportSecurity</key>
    <dict>
       <key>NSExceptionDomains</key>
       <dict>
        <key>mydomain.com</key>
        <dict>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSExceptionRequiresForwardSecrecy</key>
            <false/>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
    </dict>
</dict>

我的环境:

  • 使用带有SNI的HTTPS TLSv1.2的API(亚马逊AWS云前端,S3和Elasticbeanstalk)
  • iPhone 5S iOS 9.2和Mac OS X El Capitan
  • 带有Ionic Framework和AngularJS的Hibrid App