我的本地主机证书似乎未被接受

时间:2019-05-07 09:25:03

标签: ios swift alamofire

我实际上是在构建应用程序并使用API​​来实现多种用途,因此使用Alamofire,我正在本地ATM上工作,但无法正常工作。

(当我使用浏览器访问API时,我的本地nodejs服务器https正常运行)

我已经生成了自己的证书并将其注册在钥匙串中,但是当我通过请求访问本地URL时,会从Xcode获得“ code:1200”。但是当我按下https://httpbin.org/get时,一切正常。

(这全部使用Xcode模拟器进行了测试)

我在做什么错了?

2 个答案:

答案 0 :(得分:1)

您可以固定证书或禁用证书评估

使用此代码为您的本地主机禁用评估:

 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
    }()

this link可能有助于固定证书

答案 1 :(得分:0)

我终于有了上个线程的答案,将其用于本地开发,这基本上与模拟器说明证书有关,因为它适用于Web和邮递员:

https://stackoverflow.com/a/43877084

谢谢您的回答,祝您一切顺利!