我是一个新手,但我有一个受MITM攻击的应用程序。
经过一番研究后,我觉得我需要进行SSL固定,我保留了我的服务器公钥/证书的副本,以便确定响应是否来自它。
我不知道怎么做,我在Swift中使用AlamoFire来处理网络。
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)
)
如下所示:https://github.com/Alamofire/Alamofire/issues/366
这当然是社区希望支持的东西,但目前还没有坚实的时间框架。我暂时说,你会想继续使用AFNetworking,并密切关注Alamofire项目的新功能。