Как внедрить самозаверяющие сертификаты в Alamofire?
Я пишу быстрое приложение с самозаверяющим обменом данными с сервером сертификатов. В качестве сетевой библиотеки я хочу использовать Alamofire. Однако Alamofire не поддерживает самозаверяющие сертификаты.
Можно ли реализовать эту функцию легко и как?
2 ответа
Эта функция еще не поддерживается Alamofire. Скорее всего, он будет добавлен сообществом, но эта работа еще не была представлена проекту. Если вы хотите внести свой вклад в эту функцию, во что бы то ни стало раскошлите репо и отправьте запрос на извлечение.
Если вы хотите узнать, как реализовать эту функцию самостоятельно, я бы посоветовал вам ознакомиться с закреплением SSL и проверкой TLS на iOS. Вы также можете просмотреть исходный код в AFNetworking, чтобы понять, как он может быть реализован.
Если у вас нет времени для самостоятельного создания этой функции, я предлагаю вам использовать AFNetworking в своем приложении Swift. AFNetworking прекрасно совместим со Swift и поддерживает проверку TLS.
Alamofire теперь можно настроить следующим образом:
let TollerantAlamofire={ ()->Alamofire.Manager in
let policies:[String:ServerTrustPolicy]=[
"www.mydemoserver.it": .DisableEvaluation
]
let manager=Alamofire.Manager(serverTrustPolicyManager:ServerTrustPolicyManager(policies:policies))
return manager
}()
Позже, когда вам нужно будет сделать запрос, просто используйте ваш настроенный экземпляр следующим образом:
var req:Request?
req=TollerantAlamofire
.request(method, url, parameters: params)