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 .

  • Временное доверие самоподписанным сертификатам с NSURLConnection
  • Аутентификация для NSURLConnection, когда это не требуется
  • Ограничить скорость передачи данных NSURLConnection? (Дросселирование полосы пропускания)
  • iOS background Местоположение не отправляет HTTP-запрос
  • didReceiveData не получает все данные
  • NSURLConnection - Отключить механизм ответа на запрос аутентификации
  • В iOS, как мы можем увеличить ограничение HTTP-соединения на один хост?
  • Использование NSURLConnection для SSL с самоподписанным сертификатом
  • Выполнение iOS4 - ?
  • NSURLRequest с кешированием не работает
  • Загрузка больших изображений с помощью Base64 и JSON
  • Interesting Posts

    Добавление пользователя в PFRelation с использованием Parse Cloud Code

    Загрузка изображений из PHAsset в изображение

    Является ли NSJSONSerialization более устойчивым к ошибкам и надежным, чем JSONKit?

    Swift Generic UIView с протоколом

    Swift: значение UIButton textLabel.text не используется в инструкции switch

    Как игнорировать слова, содержащие подстроки с помощью компонентовSeparatedByString :?

    Сбой сетевого подключения в сетях IPv6 в Swift

    Не удалось воспроизвести проблему, о которой сообщила команда обзора магазина приложений Apple

    Пропустить параметр из раскадровки в пользовательский UIView iOS

    Как создать 3D-массив / матрицу в swift?

    как импортировать класс, присутствующий в пользовательской структуре в swift

    Фоновая задержка FXBlurView

    Что заставляет значок док-станции приложений iOS 11 iPad оставаться серым?

    Swift NSLayoutConstraint Уравнение на основе констант

    Как сохранить UIImage после многоточечного обрезки изображения?

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