使用Alamofire 4,我能够验证我的服务器证书对本地CA或实现taskDidReceiveChallengeWithCompletion
的我自己的CA有效。对于Alamofire 5,这种方法不再可用。我需要从根本上使单个主机可以对固定的证书进行验证,并且在无效的情况下,将使用正常的ssl验证执行验证。ServerTrustManager有ServerTrustPolicy
,它是一个字典,所以每台主机可能只有一种类型的验证。有人遇到同样的问题吗?
创建自己的ServerTrustEvaluating
价值和使用它为您的域。从功能上讲,您可以将之前的实现复制到实现协议
struct MyEvaluator: ServerTrustEvaluating {
func evaluate(_ trust: SecTrust, forHost host: String) throws {
// Custom logic.
}
}
你可以在文档中阅读更多。