首页 > 解决方案 > 带有自签名证书的 Alamofire 5

问题描述

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

标签: alamofire

解决方案


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

let manager = ServerTrustManager(evaluators: ["your.domain.here": DisabledEvaluator()])
let session = Session(serverTrustManager: manager)

当然,您仍然需要为您的域添加 ATS 例外。

此外,您永远不应该发布使用 的代码DisabledEvaluator,因为它会允许所有无效的 TLS 连接。


推荐阅读