Custom Trust Store с AFNetworking
Я разрабатываю некоторые приложения для iOS и загружаю / загружаю данные, которые очень чувствительны. Я использую AFNetworking для выполнения этих запросов, и мой вопрос прост: я получаю только 3 разных сертификата во всех приложениях. Могу ли я настроить слой AFNetworking для приема только этих 3 сертификатов?
Цель этой манипуляции будет состоять в том, чтобы избежать атак "человек посередине" и, таким образом, избежать внедрения и / или извлечения любой дополнительной информации во время обмена HTTP.
1 ответ
Все операции AFNetworking наследуются от AFURLConnectionOperation, который определяет блок с именем authenticationChallenge
, Установка этого блока в ваших операциях будет определять реакцию AFNetworking на метод NSURLConnectionDelegate. connection:didReceiveAuthenticationChallenge:
, В частности, вы захотите проверить challenge.proposedCredential
,
Если вы не хотите устанавливать этот блок для каждой операции, вы также можете создать подкласс для используемого вами типа операции (например, AFJSONRequestOperation) и переопределить connection:
willSendRequestForAuthenticationChallenge:
с поведением, которое вы хотите.