我是这里的新手,但我有一个应用程序受到 MITM 攻击。
经过一些研究,听起来我需要进行 SSL Pining,即保留一份我的服务器公钥/证书的副本,以便确定响应是否来自它。
我不知道该怎么做,我在 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)
)
关于swift - Swift AlamoFire 中的 SSL 固定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28572321/