如何在 Alamofire 中实现自签名证书?

How to implement self signed certificates in Alamofire?

我编写了一个基于 swift 的应用程序,带有自签名证书服务器通信。 作为网络图书馆,我想使用 Alamofire。 但是 Alamofire 不支持自签名证书。

是否可以轻松实现此功能以及如何实现?

Alamofire 尚不支持此功能。它很可能最终由社区添加,但该工作尚未提交给项目。如果您想贡献此功能,请务必分叉回购并提交拉取请求。

如果您想自己学习如何实现此功能,我建议您继续阅读 SSL pinning and TLS verification on iOS. You could also browse the source code in AFNetworking 以了解如何实现它。

如果您没有时间自己构建此功能,那么我建议您暂时在您的 Swift 应用程序中使用 AFNetworking。 AFNetworking 完美兼容 Swift 并支持 TLS 验证。

Alamofire 现在可以这样配置:

let TollerantAlamofire={ ()->Alamofire.Manager in
    let policies:[String:ServerTrustPolicy]=[
        "www.mydemoserver.it": .DisableEvaluation
    ]

    let manager=Alamofire.Manager(serverTrustPolicyManager:ServerTrustPolicyManager(policies:policies))

    return manager

}()

稍后,当您需要发出请求时,只需像这样使用您配置的实例:

var req:Request?
req=TollerantAlamofire
            .request(method, url, parameters: params)