如何使用有效的SSL证书在iOS中使用AFNetworking进行https连接?

时间:2016-08-14 08:24:11

标签: ios swift ssl https afnetworking

我正在尝试在我的ios应用中使用Https。我有SSL证书和证书由CA签名而非自签名。我一直在使用的网络库是AFNetworking。我如何实现我的SSL证书。任何人都可以帮助我完成以下步骤:&实现相同所需的代码.Below是我在AFHTTPRequestOperationManager的子类中为发出请求所做的方法的代码:

func makeGetRequestToUrl (baseUrl : String , withParameters  params:    NSDictionary? , andCallback callback :ServiceResponse ){
       if !Utility.isNetworkAvailable() {
        SVProgressHUD.dismiss()
        Utility.showToastMessage("Please 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正常工作?

1 个答案:

答案 0 :(得分:0)

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

  

AFHTTPRequestOperationManager.securityPolicy.allowInvalidCertificates = true

但是,不建议将其用于生产状态,其次是官方AFNetworking github page

此外,您可以通过SSL Checker

检查服务器端是否存在任何问题