Отключите или пропустите проверку SSL-сертификата в Swift iOS - PullRequest
1 голос
/ 04 февраля 2020

У меня истек срок действия сертификатов сервера.

Я хочу обойти или отключить проверку сертификатов в своем быстром iOS приложении, чтобы я мог тестировать функции приложения.

Мне это нужно только для тестирование, а не для производства живого приложения. так что никто не заботится о безопасности.

Как мне добиться этого в Swift iOS.

Я использую библиотеку Alamofire для сетевых запросов.

Как этого добиться.

Ответы [ 2 ]

0 голосов
/ 04 февраля 2020

Попробуйте что-то вроде:

import Foundation
import Alamofire

class NetworkManager {

    static let shared = NetworkManager()

    var unsecure: SessionManager!
    var serverTrustPolicies: [String: ServerTrustPolicy] = ["unsecureSslHostname":.disableEvaluation]

    private init () {
        self.unsecure = { () -> SessionManager in
            let configuration = URLSessionConfiguration.default
            configuration.httpAdditionalHeaders = SessionManager.defaultHTTPHeaders
            return SessionManager(
                configuration: configuration,
                serverTrustPolicyManager: ServerTrustPolicyManager(policies: self.serverTrustPolicies)
            )
        }()
    }
}

После этого NetworkManager.shared.unsecure вернет Alamofire SessionManager, который можно использовать для отправки запроса на хосты с незащищенными сертификатами SSL.

0 голосов
/ 04 февраля 2020

Поместите приведенный ниже код в файл info.plist.

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...