2016-11-16 51 views
0

AFNetworking 3对于无效SSL证书我用validatesCertificateChain = false,但现在看起来这个字段已被删除,我无法向我的服务器发出请求。AFNetworking 3问题

这里是要求等级:

import UIKit 
import AFNetworking 

class ClientHTML: AFHTTPSessionManager { 
    private static var __once:() = {() -> Void in 

     let securityPolicy = AFSecurityPolicy(pinningMode: AFSSLPinningMode.certificate) 
     securityPolicy.validatesDomainName = false 
     securityPolicy.allowInvalidCertificates = true 
     sharedInstanceTemp.securityPolicy = securityPolicy 


     sharedInstanceTemp.requestSerializer = AFHTTPRequestSerializer() 
     sharedInstanceTemp.responseSerializer = AFHTTPResponseSerializer() 


    }() 

    fileprivate static let sharedInstanceTemp = ClientHTML(baseURL: URL(string: kServer_urlBilderlings)) 

    static var sharedInstance:ClientHTML { 
     get { 
      _ = ClientHTML.__once 

      return sharedInstanceTemp 
     } 
    } 
} 

我通过做请求:

ClientHTML.sharedInstance.post("https://acs-web-test.firstdata.lv", parameters: nil, progress: { (progress) in 
      print("progress = ", progress) 
     }, success: { (task, response) in 
      let data = response as! Data 
      let html = String(data: data, encoding: .utf8) 
      print("success responce = ", html) 
     }, failure: { (task, error) in 
      print("error = ", error) 
     }) 

而且根据this post我必须使用validatesCertificateChain财产。任何人都可以帮忙吗? http://cocoadocs.org/docsets/AFNetworking/3.0 -

+0

我还看到,allowInvalidCertificates财产AFSecurityPolicy存在AFNetworking 3.0.0,请参阅本文档解决它。 0-beta.1/Classes/AFSecurityPolicy.html – iamyogish

+0

我使用此属性,但我需要另一个validatesCertificateChain,我需要将其设置为false。请看看这个问题的最佳答案http://stackoverflow.com/questions/27808249/problems-with-ssl-pinning-and-afnetworking-2-5-0-nsurlerrordomain-error-1012。他们说这个属性,但它是飞网2 –

回答

1

我改变let securityPolicy = AFSecurityPolicy(pinningMode: AFSSLPinningMode.certificate)let securityPolicy = AFSecurityPolicy(pinningMode: AFSSLPinningMode.none)

+0

感谢您发布您的答案,这将有助于稍后的人。 – iamyogish