繁体   English   中英

Alamofire 证书固定不起作用

[英]Alamofire certificate pinning not working

我正在尝试使用 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 策略中的证书时,后台配置也按预期工作

我终于找到了一个原因——Wormholy。 我必须删除这个库才能使证书固定工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM