[英]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.