斯威夫特AlamoFire的ssl钉扎

问题描述 投票:14回答:2

我是一个新手,但我有一个受MITM攻击的应用程序。

经过一番研究后,我觉得我需要进行SSL固定,我保留了我的服务器公钥/证书的副本,以便确定响应是否来自它。

我不知道怎么做,我在Swift中使用AlamoFire来处理网络。

swift ssl certificate alamofire pinning
2个回答
15
投票

Alamofire现在实施了证书固定。您需要的文档位于Readme.md中

https://github.com/Alamofire/Alamofire

查看他们的示例实现:

let serverTrustPolicies: [String: ServerTrustPolicy] = [
    "test.example.com": .PinCertificates(
        certificates: ServerTrustPolicy.certificatesInBundle(),
        validateCertificateChain: true,
        validateHost: true
    ),
    "insecure.expired-apis.com": .DisableEvaluation
]

let manager = Manager(
    serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
)

-1
投票

如下所示:https://github.com/Alamofire/Alamofire/issues/366

这当然是社区希望支持的东西,但目前还没有坚实的时间框架。我暂时说,你会想继续使用AFNetworking,并密切关注Alamofire项目的新功能。

© www.soinside.com 2019 - 2024. All rights reserved.