OGeek|极客世界-中国程序员成长平台

标题: ios - 如何使用有效的 SSL 证书在 iOS 中使用 AFNetworking 进行 https 连接? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 17:15
标题: ios - 如何使用有效的 SSL 证书在 iOS 中使用 AFNetworking 进行 https 连接?

我正在尝试在我的 ios 应用程序中使用 Https。我有 SSL 证书,证书是由 CA 签名的,而不是自签名的。我一直在使用的网络库是 AFNetworking。如何实现我的 SSL 证书。任何人都可以帮助我执行以下步骤以及实现相同所需的代码。以下是我为发出请求而制作的方法的代码,在 AFHTTPRequestOperationManager 的子类中:

func makeGetRequestToUrl (baseUrl : String , withParameters  params:    NSDictionary? , andCallback callback :ServiceResponse ){
       if !Utility.isNetworkAvailable() {
        SVProgressHUD.dismiss()
        Utility.showToastMessage("lease check your internet connection.", yOffset: Utility.alertOffset)
        return
    }
    self.responseSerializer = AFJSONResponseSerializer()
    self.GET(baseUrl, parameters: params, success: { (operation : AFHTTPRequestOperation!, responseObject : AnyObject!) in
        if ((responseObject["status"] as? Int) ==   Utility.status.kFailure){
            if ((responseObject["json"] as! NSDictionary)["errorCode"] as! Int) == Utility.errorCodes.kSessionExpired{
                SVProgressHUD.dismiss()
                Utility.clearStoredUserDefaults()
                Utility.logout()
                Utility.showToastMessage("Session expired.Please sign in again.", yOffset: Utility.alertOffset)
            } else {
                callback(nil, responseObject);
            }
        } else {
            callback(nil, responseObject);
        }
    }) { (operation :AFHTTPRequestOperation! , error : NSError!) in
        SVProgressHUD.dismiss()
        Utility.showToastMessage("App is under maintainance.Please try after sometime.", yOffset: Utility.alertOffset)
    }
}

我应该在此代码中做哪些更改以使 SSL 正常工作?



Best Answer-推荐答案


您是否尝试在 AFHTTPRequestOperationManager 中设置此属性?

AFHTTPRequestOperationManager.securityPolicy.allowInvalidCertificates = true

不过,还是不建议在生产状态下使用,其次是AFNetworking官方github page .

另外,您可以通过 SSL Checker 检查服务器端是否有任何问题。

关于ios - 如何使用有效的 SSL 证书在 iOS 中使用 AFNetworking 进行 https 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38940446/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4