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

我使用自签名证书服务器通信编写了一个基于swift的应用程序。 作为一个networking库,我想使用Alamofire。 但Alamofire不支持自签名证书。

有没有可能轻松地实现这个function,以及如何?

Alamofire尚不支持此function。 它很可能最终会被社区添加,但是这项工作尚未提交到项目中。 如果您觉得自己有这个function,那么请务必分叉并提交一个pull请求。

如果你想学习如何自己实现这个function,我build议你阅读iOS上的SSL固定和TLSvalidation 。 您也可以浏览AFNetworking中的源代码,以了解它是如何实现的。

如果您没有时间自己构build此function,那么我build议您暂时在您的Swift应用程序中使用AFNetworking。 AFNetworking与Swift完美兼容,支持TLSvalidation。

Alamofire现在可以这样configuration:

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

稍后,当您需要提出请求时,只需使用您的configuration实例如下所示:

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