使用AFNetWoking加载https

之前一直用的ASI请求数据,但最近因为业务的原因,需将http网络请求改成https网络请求了,所以来谈一谈如何加载https的数据吧。

第一步,你需要一个证书存在你的项目里,这个证书主要的作用是将你的接口和参数以及返回值进行加密的,该证书由你的服务器端提供一个证书,服务器端使用自签的证书或者花钱买的证书都可以,但是需要保证的证书的安全性。

第二步,获取证书并校验证书(通过代码控制)

+ (AFSecurityPolicy *)customSecurityPolicy {

    

    /**** SSL Pinning ****/

    NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"XXX" ofType:@"cer"];

    NSData *certData = [NSData dataWithContentsOfFile:cerPath];

    AFSecurityPolicy *securityPolicy = [[AFSecurityPolicy alloc] init];

    [securityPolicy setAllowInvalidCertificates:YES];

    [securityPolicy setPinnedCertificates:@[certData]];

    /**** SSL Pinning ****/

    

    return securityPolicy;


第三步,在请求网络数据时,先调用,然后再进行正常的https网络请求就可以了

 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager sharedManager];

  [manager setSecurityPolicy:[DataService customSecurityPolicy]];



你可能感兴趣的:(使用AFNetWoking加载https)