如何在 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)
我编写了一个基于 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)