Получение ATS отказало системное доверие при подключении приложения IOS к API asp.net. Код ошибки 9813 - PullRequest
0 голосов
/ 25 января 2019

У меня есть приложение IOS и API dot net, размещенные в одной сети. У меня есть IP w.x.y.z Я пытаюсь пропустить через info.plist, потому что у него нет SSL-сертификата. Я понимаю, что IP-адреса не поддерживаются, поэтому я использую xip.io для преобразования его в доменное имя.

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoadsInWebContent</key>
        <true/>
        <key>NSExceptionDomains</key>
        <dict>
            <key>w.x.y.z.xip.io</key>
            <dict>
                <key>NSAllowsLocalNetworking</key>
                <true/>
                <key>NSAllowsArbitraryLoads</key>
                <true/>
                <key>NSExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSExceptionMinimumTLSVersion</key>
                <string>TLSv1.2</string>
                <key>NSExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
        </dict>
    </dict>

Мой код Swift:

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        let url = URL(string: "https://w.x.y.z.xip.io:44328/api/values/1")!

        print("START")
        let task = URLSession.shared.dataTask(with: url) {(data, response, error) in
            guard let data = data else { return }
            print(String(data: data, encoding: .utf8)!)
        }
        print("DONE")

        task.resume()

    }

Переход к https://w.x.y.z.xip.io:44328/api/values/1 отлично работает в моем браузере. Когда я пытаюсь запустить его, я получаю

019-01-25 01:14:10.427331-0500 test_api[20555:3495649] ATS failed system trust
2019-01-25 01:14:10.427505-0500 test_api[20555:3495649] System Trust failed for [1:0x600000f8c900]
2019-01-25 01:14:10.427584-0500 test_api[20555:3495649] TIC SSL Trust Error [1:0x600000f8c900]: 3:0
2019-01-25 01:14:10.432453-0500 test_api[20555:3495649] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)
2019-01-25 01:14:10.432601-0500 test_api[20555:3495649] Task <964CC4A4-C3C3-4349-80AA-E1DFC04920DA>.<1> HTTP load failed (error code: -1200 [3:-9802])
2019-01-25 01:14:10.433065-0500 test_api[20555:3495648] Task <964CC4A4-C3C3-4349-80AA-E1DFC04920DA>.<1> finished with error - code: -1200
...