Alamofire-证书固定错误:可选(错误域= NSURLErrorDomain代码= -999"取消"

时间:2017-08-10 06:58:04

标签: ios swift ssl alamofire pinning

我是swift和Certificate Pinning的新手。

我创建了.der这样的openssl s_client -showcerts -connect www.github.com:443 < /dev/null | openssl x509 -outform DER > githubcom.der认证 并导入我的项目。

然后创建SessionManager。

引自Alamofire Security

    let serverTrustPolicies: [String: ServerTrustPolicy]  = [
            "github.com": .pinCertificates(
                certificates: ServerTrustPolicy.certificates(),
                validateCertificateChain: true,
                validateHost: true
            )
        ]

    let sessionManager = SessionManager(serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies))

    sessionManager.request("https://github.com").response { response in // method defaults to `.get`
            debugPrint(response)
        }

调试输出:

  

Alamofire.DefaultDataResponse(请求:可选(https://github.com),   响应:nil,data:可选(0字节),错误:可选(错误   Domain = NSURLErrorDomain Code = -999&#34;已取消&#34;   的UserInfo = {NSErrorFailingURLKey = https://github.com/,   NSLocalizedDescription =取消,   NSErrorFailingURLStringKey = https://github.com/}),时间轴:时间轴:   {&#34;请求开始时间&#34;:524040427.202,&#34;初始响应时间&#34;:   524040427.234,&#34;请求完成时间&#34;:524040427.234,&#34;序列化完成时间&#34;:524040427.235,&#34;延迟&#34;:0.032秒,&#34;请求   持续时间&#34;:0.032秒,&#34;序列化持续时间&#34;:0.001秒,&#34;总计   持续时间&#34;:0.033秒},_ metrics:nil)

我做错了什么?

0 个答案:

没有答案