我想使用 绕过证书验证阿拉莫菲尔 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/