Ios Alamofire-证书固定错误:可选(错误域=NSURLErrorDomain代码=-999“已取消”;

Ios Alamofire-证书固定错误:可选(错误域=NSURLErrorDomain代码=-999“已取消”;,ios,swift,ssl,alamofire,pinning,Ios,Swift,Ssl,Alamofire,Pinning,我不熟悉swift和证书钉扎 我已经创建了.der这样的认证openssl s_client-showcerts-connect www.github.com:443githubcom.der 并导入到我的项目中 然后创建SessionManager 引自 调试输出: Alamofire.DefaultDataResponse(请求:可选(), 响应:无,数据:可选(0字节),错误:可选(错误 域=nsurErrorDomain代码=-999“已取消” UserInfo={NSErrorFail

我不熟悉swift和证书钉扎

我已经创建了
.der
这样的认证
openssl s_client-showcerts-connect www.github.com:443githubcom.der
并导入到我的项目中

然后创建SessionManager

引自

调试输出:

Alamofire.DefaultDataResponse(请求:可选(), 响应:无,数据:可选(0字节),错误:可选(错误 域=nsurErrorDomain代码=-999“已取消” UserInfo={NSErrorFailingURLKey=,, NSLocalizedDescription=已取消, NSErrorFailingURLStringKey=}),时间线:时间线: {“请求开始时间”:524040427.202,“初始响应时间”: 524040427.234,“请求完成时间”:524040427.234,“序列化完成时间”:524040427.235,“延迟”:0.032秒,“请求 持续时间:0.032秒,“序列化持续时间”:0.001秒,“总计” 持续时间:0.033秒},_度量:零)


我做错了什么?

如我所见。您正在对url使用get方法。但是,该url中没有任何内容。请使用不同的url重试。不同的url存在相同的问题。您确定url有数据吗?是的,如果我在没有证书的情况下尝试,我会在控制台中打印HTML响应。对于正常的get请求,您解决了吗?
    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)
        }