Кажется, мой сертификат localhost не принят - PullRequest
0 голосов
/ 07 мая 2019

Я на самом деле собираю свое приложение и использую API для многоцелевого использования, поэтому, используя Alamofire, я работаю локально, но не могу заставить его работать.

(у меня есть мой локальныйСервер nodejs https корректно работает, когда я запускаю API с помощью браузера, все работает нормально"код: 1200" от Xcode.Но когда я нажимаю https://httpbin.org/get, все работает хорошо.

(Это все тестируется с помощью симулятора Xcode)

Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 07 мая 2019

Вы можете прикрепить свой сертификат или отключить оценку сертификата

Используйте этот код для отключения оценки для вашего локального хоста:

 private static var Manager : Alamofire.SessionManager = {
        // Create the server trust policies
        let serverTrustPolicies: [String: ServerTrustPolicy] = [
            "your localhost": .disableEvaluation
        ]
        // Create custom manager
        let configuration = URLSessionConfiguration.default
        configuration.httpAdditionalHeaders = Alamofire.SessionManager.defaultHTTPHeaders
        let man = Alamofire.SessionManager(
            configuration: URLSessionConfiguration.default,
            serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
        )
        return man
    }()

и эта ссылка может быть полезна длясертификаты пиннинга

0 голосов
/ 07 мая 2019

Наконец-то я понял, что это работает для локальной разработки с ответом в предыдущей ветке, это было в основном связано с тем, что симулятор отметил сертификат, так как он работал в Интернете и почтальоне:

https://stackoverflow.com/a/43877084

Спасибо за ваш ответ всем, хорошего вам ответа!

...