获取客户端证书以使用 Swift 4 和 Alamofire 进行 Https 调用身份验证



免责声明:newb to swift

我正在尝试弄清楚如何将Alamofire与Swift 4一起使用,以向域发送https调用的p12证书。

我看到的所有示例都是针对 Swift 2.0 的,而不是我想要的。我有一个工作 API,我可以通过邮递员使用(我将证书添加到邮递员设置中(。

目标:我获得了 .p12 证书及其密码,用于验证来自域的所有 API 调用(例如:"api.abc.com"(因此,我正在寻找一种使用提供的证书连接到 api.abc.com 的机制。

非常感谢对此

的任何帮助。即使是一个基本的例子也会有所帮助。

试试这个:

class NetworkServices {
    static let sharedNetworkManager = NetworkServices()
    private static var manager: Alamofire.SessionManager = {
        let serverTrustPolicies: [String: ServerTrustPolicy] = [
            "https://your.domain.com": .pinCertificates(
                certificates: ServerTrustPolicy.certificates(),
                validateCertificateChain: true,
                validateHost: true),
            "your.domain.com": .disableEvaluation
        ]
        let configuration = URLSessionConfiguration.default
        return Alamofire.SessionManager(
            configuration: configuration,
            serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
        )
    }()
}

最新更新