如何解决Alamofire证书固定不起作用
我正在尝试使用Alamofire实施证书固定。
我已将mydomain添加到.plist文件中的“例外域”并设置了密钥:
NSExceptionAllowsInsecureHTTPLoads: true
NSIncludesSubdomains: true
NSExceptionRequiresForwardSecrecy: false
然后,我以这种方式创建SessionManager:
let serverTrustPolicies: [String: ServerTrustPolicy] = [
"mydomain": .pinCertificates(certificates: [],validateCertificateChain: true,validateHost: true)
]
let configuration = URLSessionConfiguration.default
sessionManager = SessionManager(configuration: configuration,serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies))
运行我的应用程序时,所有请求均成功,但是预期结果是Alamofire拒绝了它们。我已经为所有“ didReceiveChallenge”方法设置了断点,它们甚至没有执行。
当我将配置更改为
let configuration = URLSessionConfiguration.background(withIdentifier: "background")
然后证书固定会按预期进行(拒绝所有请求)
任何人都知道它为什么会发生以及如何使用默认配置对其进行修复?
注意:当我将.der文件传递给.pinCertificates策略中的证书时,后台配置也可以按预期工作
解决方法
我终于找到了一个原因-蠕虫。我必须删除该库才能使证书固定起作用
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。