2016-08-14 33 views
2

我想在我的iOS应用程序中使用Https。我有SSL证书&证书由CA签署,而不是自签名。我一直在使用的网络库是AFNetworking。我可以如何实现我的SSL证书。任何人都可以帮助我按照&执行相同的代码。下面是我提出请求的方法的代码在AFHTTPRequestOperationManager的一个子类:如何使用有效的SSL证书在iOS中使用AFNetworking进行https连接?

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工作?

回答

0

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

AFHTTPRequestOperationManager.securityPolicy.allowInvalidCertificates =真

但尽管如此,这是不建议在生产状态,随后官方AFNetworking github上page

此外,您可以通过SSL Checker

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