带有自签名证书的 Alamofire 5

标签 alamofire

我想使用 绕过证书验证阿拉莫菲尔 5 和 Swift 4。我正在使用 Alamofire 连接到具有自签名证书的服务器。这类似于这个问题 Alamofire with a self-signed certificate / ServerTrustPolicy ,但答案是针对以前的 Alamofire 版本,我不清楚如何将这种方法应用于版本 5。有谁知道如何在 Alamofire 5 中实现这一点?

最佳答案

它在 Alamofire 5 中非常相似,但 ServerTrustPolicy已被重构为具有一致类型的协议(protocol)以获得更好的可扩展性。与您链接的答案类似,您需要创建一个 ServerTrustManager对于您的域:

let manager = ServerTrustManager(evaluators: ["your.domain.here": DisabledTrustEvaluator()])
let session = Session(serverTrustManager: manager)
当然,您仍然需要为您的域添加 ATS 异常(exception)。
此外,您不应该发布使用 DisabledTrustEvaluator 的代码。 ,因为它将允许所有无效的 TLS 连接。

关于带有自签名证书的 Alamofire 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55617864/

相关文章:

swift - alamofire和URLSession中上传数据key,如何添加?

ios - Alamofire:即使验证失败,下载请求也会将错误响应保存为原始文件

swift - 使用 AlamofireImage 取消图像下载

ios - 无法在 Swift 中导入 ObjectMapper

swift3 - 如何设置 session 和 cookie 并存储它并将其与 Alamofire,Swift 3 一起使用

ios - Alamofire HTTPS 请求失败

ios - Alamofire 失败时调用 api 的最佳方式

ios - 首次使用或应用进入后台时下载失败

ios - Alamofire 完成处理程序返回响应+数据

json - AlamoFire 请求 Google Cloud Prediction API iOS 解析错误