Сертификат Alamofire закрепляет MITMIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Сертификат Alamofire закрепляет MITM

Сообщение Anonymous »

У меня есть проблема с моей функцией оценки с Alamofire. Это отлично работает для большинства случаев, но не проходит проверку безопасности. Они используют решение MITM, они также предварительно установили сертификат по телефону, затем понюхали в Интернете, и мое решение не предупредило их о мужчинах в середине. Поэтому я бы изменил это, чтобы предупредить для пользователя, установленных CAS. Кто -нибудь может помочь мне, как это сделать? < /P>
public final class CertificatePinnerTrustEvaluator: ServerTrustEvaluating {

public init() {}

func setupCertificatePinner(host: String) -> CertificatePinner {
return CertificatePinner(host: host)
}

public func evaluate(_ trust: SecTrust, forHost host: String) throws {

let pinner = setupCertificatePinner(host: host)

if !pinner.validateCertificateTrustChain(trust) {
print("failed: invalid certificate chain!")
throw AFError.serverTrustEvaluationFailed(reason: .noCertificatesFound)
}

let certificates = pinner.makeCertChain(from: trust)

guard !certificates.isEmpty else {
throw AFError.serverTrustEvaluationFailed(reason: .noCertificatesFound)
}

try trust.af.performDefaultValidation(forHost: host)
try trust.af.performValidation(forHost: host)

let serverCertificatesData = Set(trust.af.certificateData)
let pinnedCertificatesData = Set(certificates.af.data)
let pinnedCertificatesInServerData = !serverCertificatesData.isDisjoint(with: pinnedCertificatesData)
if !pinnedCertificatesInServerData {
throw AFError.serverTrustEvaluationFailed(reason: .certificatePinningFailed(host: host,
trust: trust,
pinnedCertificates: certificates,
serverCertificates: trust.af.certificates))
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/794 ... nning-mitm
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»