У меня есть проблема с моей функцией оценки с 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
Сертификат Alamofire закрепляет MITM ⇐ IOS
Программируем под IOS
1739800074
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))
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79445591/alamofire-certificate-pinning-mitm[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия