Я пытаюсь запустить мое приложение на прошивке 9 - Xcode 7 беты 5. Хотя мои URL-адрес являются HTTPS, NSURL соединение все еще бросает ошибку:Кто-нибудь получил NSURLConnection, работающий на iOS 9 без исключения?
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)
Я пытаюсь не использовать исключение, чтобы получить это работает. Мой сервер поддерживает требуемые протоколы: https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/index.html
Благодаря ...
ОБНОВЛЕНИЕ: release notes показывают, что они прекратили поддержку по умолчанию DHE_RSA шифров:
«шифры DHE_RSA теперь отключены по умолчанию в Secure Транспортировка для клиентов TLS. Это может привести к сбою подключения к серверам TLS, которые поддерживают только комплекты шифрования DHE_RSA. Приложения, которые явно разрешают шифрование с использованием SSLSetEnabledCiphers, не будут затронуты и будут по-прежнему использовать комплекты шифрования DHE_RSA, если они явно включены ».
Это шифры, поддерживаемые моим сервером. Смотрите полный список здесь: https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/index.html
Так что я думаю, мне нужно использовать SSLSetEnabledCiphers для каждого NSURLConnection или обновить свой сервер для поддержки шифров DHE_ECDSA. Или используйте механизм исключения на данный момент.
Все, что я пропустил? И кто-нибудь получил образец кода для использования SSLSetEnabledCiphers?
Спасибо.
http://stackoverflow.com/questions/30720813/ cfnetwork-sslhandshake-failed-ios-9 –
Да, у этого есть обходные пути. Я пытаюсь принять протокол TLS и не использовать коды исключений в plist. – Richard
По-прежнему нет хорошего ответа, у меня было приложение для магазина с этим реализовано на прошлой неделе. –