NSURLAuthenticationMethodServerTrust – ssl

У меня проблемы с пониманием NSURLAuthenticationMethodServerTrust. В моем приложении я должен использовать как http, так и https-соединения на основе сервера. Мои вопросы: если я получу вызов NSURLAuthenticationMethodServerTrust, это будет безопасное предположение, как https-соединение. Что именно я должен ответить на этот вызов.

Любая помощь будет оценена по достоинству. благодаря

One Solution collect form web for “NSURLAuthenticationMethodServerTrust – ssl”

Я не уверен, что получение NSURLAuthenticationMethodServerTrust всегда указывает на соединение https. Я не понимаю, почему или как простое http-соединение может вызвать NSURLAuthenticationMethodServerTrust проверки подлинности NSURLAuthenticationMethodServerTrust поэтому я бы предположил, что это https, но я точно не знаю. Но NSURLAuthenticationChallenge имеет NSURLProtectionSpace , которое, в свою очередь, обладает свойством NSURLProtectionSpace . Документация немного неспецифична, но я предполагаю, что это свойство указывает на безопасное соединение с сервером, которое в случае http / https означает, что это https.

Что касается ответа, есть полезный поток в списке рассылки macnetworkprog по этой теме: Question + Answer

Описание: NSURLAuthenticationMethodServerTrust не касается вас, клиента, который отвечает на вызов аутентификации сервера, но вместо этого дает вам возможность проверить, действительно ли вы должны доверять серверу. В этом случае protectionSpace задачи содержит объект / структуру serverTrust который содержит всю информацию, необходимую для проверки того, следует ли доверять этому серверу. Как правило, вы должны использовать функцию SecTrustEvaluate для проверки serverTrust и действовать в соответствии с результатом этой проверки. Вы можете найти более подробную информацию здесь: Правильно переопределить проверку правильности TLS

Если проверка определяет, что серверу следует доверять, вы создаете NSURLCredential с объектом serverTrust и передаете его блоку отправителя / завершения проверки подлинности.

Вы можете найти довольно обширный пример проекта Apple здесь: http://developer.apple.com/library/ios/#samplecode/AdvancedURLConnections/Introduction/Intro.html Это довольно старый (iOS 3/4, pre-Arc) и только имея дело со старым NSURLConnectionDelegate которому пришлось делегировать методы вместо одного (например, нового и NSURLSessionDelegate ). Но показанная там проверка и различные сценарии, которые вы можете реализовать, все еще применяются и должны легко переноситься в NSURLSession .

  • IOS 5.0 - NSURLConnection работает, но возвращает Null до завершения
  • Как обращаться с «CFNetwork SSLHandshake failed» в iOS
  • Как отправить большую большую строку через NSURLConnection
  • Ошибка: __tcp_connection_write_eof_block_invoke Записать полученную ошибку обратного вызова - iOS 10
  • <Приложение> имеет активные утверждения за пределами допустимого времени - только iPhone 5S, отлично подходит для iPhone 5, 4 и 4
  • Аутентификация с помощью NSURLConnection sendAsynchronousRequest с обработчиком завершения
  • Есть ли надежная альтернатива NSURLConnection?
  • Проблема с NSURLConnection и ответом сервера
  • iOS - случайный «Не удается подключиться к хосту» с 3G
  • Могут ли устройства iOS отправлять запросы PUT в приложения Rails?
  • CFNetwork SSLHandshake не удалось iOS 9
  • Interesting Posts

    Как загрузить несколько объектов в SceneKit?

    Как передать данные в UICollectionView, встроенные в TableViewCell (xCode – iOS – Swift 3)

    Xcode загружается в объекты OS X вместо объектов iOS

    инструменты Попытка установить горизонт событий, когда ядро ​​не задействовано, запрос игнорируется

    Использование метода Core Data NSArray с использованием iCloud

    iOS CoreBluetooth: centralManager: didConnectPeripheral / didFailToConnectPeripheral: не получает вызов

    Обнаруживать, когда мой подкласс UIView добавлен в другой UIView

    Вложенные UICollectionViews, AutoLayout и вращение в iOS 8

    Выполнять изменения пользовательского интерфейса в основной теме с помощью dispatch_async или выполнитьSelectorOnMainThread?

    XCode: «Предупреждение: несколько команд сборки для выходного файла», но я получаю ошибку, если я удалю дубликат

    Как изменить код статической библиотеки .a файл Xcode Project для другого проекта Xcode?

    XCode 5: Есть ли способ группировать / фильтровать / сортировать то, что появляется при завершении кода?

    XMPPFramework – Продолжить получение кода ошибки 503 Услуга недоступна

    Как я могу найти идентификатор Apple Developer Team и идентификатор Apple Team Agent?

    Когда образ UIImageView настроен из Interface Builder, как загружается этот образ?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.