【发布时间】:2016-01-29 19:58:50
【问题描述】:
变量管理器:AFHTTPSessionManager
init() {
manager = AFHTTPSessionManager()
manager.requestSerializer = AFJSONRequestSerializer()
manager.responseSerializer = AFJSONResponseSerializer()
let securityPolicy = AFSecurityPolicy(pinningMode: AFSSLPinningMode.Certificate)
let certificatePath = NSBundle.mainBundle().pathForResource("c38acbe05a6328ee", ofType: "crt")!
let certificateData = NSData(contentsOfFile: certificatePath)!
securityPolicy.pinnedCertificates = [certificateData]
securityPolicy.validatesDomainName = false
securityPolicy.allowInvalidCertificates = false
manager.securityPolicy = securityPolicy
}
我一直在努力让它工作一段时间。 Swift 文档很少,但我在阅读 obj-c 方面做得更好。证书是 PEM 格式,我已经尝试过并转换为 .der 格式。 Der 格式在 init() 中爆炸,.PEM 格式在评估服务器信任中爆炸。我在 AFNetworking 2.5.1 中尝试过并升级到 3.0.4 - 同样的问题。我已经尝试了以下所有真假组合。
securityPolicy.validatesDomainName = false securityPolicy.allowInvalidCertificates = false
任何见解将不胜感激。谢谢你
【问题讨论】:
标签: swift ssl afnetworking pinning