【发布时间】:2017-03-30 04:55:05
【问题描述】:
在AFNetworking 3 中,我使用了无效的 SSL 证书 validatesCertificateChain = false ,但现在看来该字段已被删除,我无法向我的服务器发出请求。
这是请求类:
import UIKit
import AFNetworking
class ClientHTML: AFHTTPSessionManager {
private static var __once: () = { () -> Void in
let securityPolicy = AFSecurityPolicy(pinningMode: AFSSLPinningMode.certificate)
securityPolicy.validatesDomainName = false
securityPolicy.allowInvalidCertificates = true
sharedInstanceTemp.securityPolicy = securityPolicy
sharedInstanceTemp.requestSerializer = AFHTTPRequestSerializer()
sharedInstanceTemp.responseSerializer = AFHTTPResponseSerializer()
}()
fileprivate static let sharedInstanceTemp = ClientHTML(baseURL: URL(string: kServer_urlBilderlings))
static var sharedInstance:ClientHTML {
get {
_ = ClientHTML.__once
return sharedInstanceTemp
}
}
}
我通过以下方式提出请求:
ClientHTML.sharedInstance.post("https://acs-web-test.firstdata.lv", parameters: nil, progress: { (progress) in
print("progress = ", progress)
}, success: { (task, response) in
let data = response as! Data
let html = String(data: data, encoding: .utf8)
print("success responce = ", html)
}, failure: { (task, error) in
print("error = ", error)
})
根据this post,我必须使用validatesCertificateChain 属性。有人可以帮忙吗?
【问题讨论】:
-
我仍然看到,AFNetworking 3.0.0 的 AFSecurityPolicy 中存在 allowInvalidCertificates 属性,请参考此文档 - cocoadocs.org/docsets/AFNetworking/3.0.0-beta.1/Classes/…
-
我使用了这个属性,但是我需要另一个 validatesCertificateChain,我需要将它设置为 false。请看一下这个问题的最佳答案stackoverflow.com/questions/27808249/…。他们说这个属性,但它是 afnetworking 2
标签: ios ssl afnetworking afnetworking-3