簡體   English   中英

AlamoFire:公鑰固定不起作用

[英]AlamoFire: public key pinning not working

我正在使用共享實例創建會話管理器,如下所示:

class Session {
static let sharedInstance = Session()

private var manager : SessionManager?

func ApiManager()->SessionManager{
    if let m = self.manager{
        return m
    }else{

        let serverTrustPolicies: [String: ServerTrustPolicy] = [
            "https:api-cat.example.com": .pinPublicKeys(
                publicKeys:savePublicKeys(),
                validateCertificateChain:true,
                validateHost:true
            )]
        self.manager = SessionManager(
            serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies))
        return self.manager!
    }
}}

其中savePublicKeys返回[SecKey]

即使使用空的公共密鑰數組設置了新的ServerTrustPolicy之后,我仍然能夠成功調用並獲取數據。 如果我在這里犯了任何錯誤,有什么想法嗎?

您的"https:api-cat.payeezy.com"看起來像魚。

刪除https: -part或添加缺少的雙斜杠https:// ServerTrustPolicyManager僅在其host屬性與請求的主機匹配時才應用策略,如果不匹配,則使用Apple的標准行為(請參閱Alamofire文檔 )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM