美文网首页
iOS swift HTTPS 9813错误解决记录

iOS swift HTTPS 9813错误解决记录

作者: 鱼笨自由 | 来源:发表于2017-08-15 16:14 被阅读207次

    说明:只是测试版解决了,即未发布的。后面发布时遇到的问题,会再次记录。


    环境是:

    Alamofire 4.0 + swift 3.0 + WKWebView + xcode 8.1(8B62) + OS X EI Capitan 10.11.6


    解决时间:

    2017-08-15


    针对问题:

    (NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813))


    主要解决功能:

    1、是alamofire swift3.0 设置授信ssl访问数据接口,返回json;

    2、是web加载https 网页的;

    3、加载http&&加载HTTPS都启用


    第一种(alamofire swift3.0 设置授信ssl访问数据接口,返回json):

    1、配置info.plist

    swift 版的配置

    2、(Alamofire 4.0)在Alamofire.request 之前设置验证通过

    swift 3.0版代码(Alamofire 4.0)

    let manager = SessionManager.default

    manager.delegate.sessionDidReceiveChallenge = { session, challenge in

    //认证服务器证书

    if challenge.protectionSpace.authenticationMethod

    == NSURLAuthenticationMethodServerTrust {

    print("服务端证书认证!")

    return (URLSession.AuthChallengeDisposition.useCredential,

    URLCredential(trust: challenge.protectionSpace.serverTrust!))

    }

    //认证客户端证书

    else if challenge.protectionSpace.authenticationMethod

    == NSURLAuthenticationMethodClientCertificate {

    print("客户端证书认证!")

    return (.useCredential, URLCredential(trust: challenge.protectionSpace.serverTrust!));

    }

    // 其它情况(不接受认证)

    else {

    print("其它情况(不接受认证)")

    return (.cancelAuthenticationChallenge, nil)

    }

    }


    第二种,网页加载:

    1、delete是WKNavigationDelegate

    webViews.navigationDelegate = weakSelf!

    2、https验证的控制方法是

    swift 3.0版代码 WKWebView

    - End -

    喜欢请点亮小红心,热爱请关注,打赏请随意^_^。

    您留下的每一个足迹都是我前进的动力。

    谢谢您的到来,感谢您的阅读。

    相关文章

      网友评论

          本文标题:iOS swift HTTPS 9813错误解决记录

          本文链接:https://www.haomeiwen.com/subject/tphvrxtx.html