簡體   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