AFNetWorking之HTTPS使用

原创 2015年11月18日 12:32:56

今天由HTTP换成了HTTPS,由于服务端使用的是自签证书,所以还需要配置一下。有两种方式:

一、不使用证书

        在pch文件里添加

#import <SystemConfiguration/SystemConfiguration.h>

#import <MobileCoreServices/MobileCoreServices.h>

并定义宏   #define AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES

        然后再在使用https的地方添加

AFSecurityPolicy *securityPolicy = [AFSecurityPolicy defaultPolicy];

        securityPolicy.allowInvalidCertificates = YES; //允许自签证书

        [AFHTTPRequestOperationManager manager].securityPolicy = securityPolicy;

最后还需要在plist文件里添加Key:NSAppTransportSecurity,类型为字典类型。
然后给它添加一个Key:NSAllowsArbitraryLoads,类型为Boolean类型,值为YES;这个本来是ios9用 来适配http的,但如果不添加的话,就不能访问,我也不知道为什么,如有大神知道请告知,谢谢微笑


二、使用证书

使用证书时,直接将证书拖入bundle中,xcode会自动监测cer文件

//AFNetWorking HTTPS设置

- (AFSecurityPolicy*)customSecurityPolicy

{

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

    NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"你的证书名" ofType:@"cer"];

    NSData *certData = [NSData dataWithContentsOfFile:cerPath];


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

    [securityPolicy setAllowInvalidCertificates:YES];

    [securityPolicy setPinnedCertificates:@[certData]];

    [securityPolicy setSSLPinningMode:AFSSLPinningModeCertificate];

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

    

    return securityPolicy;

}

最后在使用 的地方

[_manager setSecurityPolicy:[self customSecurityPolicy]];



AFNetworking 原作者都无法解决的问题: 如何使用ip直接访问https网站?

通过IP直接访问网站,可以解决DNS劫持问题.DNS劫持,可以通过修改电脑的host文件模拟.如果是HTTP请求,使用ip地址直接访问接口,配合header中Host字段带上原来的域名信息即可;如果是...

HTTPS接口加密和身份认证 使用AFNetworking进行双向认证

使用AFNetworking进行双向认证 1.1 1)在项目中导入证书sever.cer和AFNetworking框架: 2)然后到AFSecurityPolicy.m中重写+ (instancet...

iOS基于AFNetworking使用自签名证书实现HTTPS请求

iOS基于AFNetworking使用自签名证书实现HTTPS请求

AFNetworking怎么使用HTTPS协议

从Xcode7开始苹果为了提高安全性将HTTP协议改使用HTTPS协议,  这让很多人困扰, AFNetworking这个库,是现在大家使用比较用的库,我们在做即时通讯的时候,也会加入这个库,用起来还...

AFNetworking 使用https

AFNetworking https网络请求验证证书 AFHTTPSessionManager *manager =[[AFHTTPSessionManager manager] initWithBa...

iOS之AFNetworking3.x使用自签名证书建立https连接

配置前准备cer证书文件 AFNetworking3 导入工程啥的也就不说了下面开始干正经事导入文件到项目 为站点添加白名单 添加主要代码-(void)postToWeb{ AFHTTPS...

iOS实用技巧 - AFNetworking安全的使用自签证书访问HTTPS

绝大部分iOS程序的后台服务都是基于RESTful或者WebService的,不论在任何时候,你都应该将服务置于HTTPS上,因为它可以避免中间人攻击的问题,还自带了基于非对称密钥的加密通道!现实是这...

iOS实用技巧 - AFNetworking2安全的使用自签证书访问HTTPS

使用HTTPS有个问题,就是CA证书。缺省情况下,iOS要求连接的HTTPS站点必须为CA签名过的合法证书,AFNetworking是个iOS上常用的HTTP访问库,由于它是基于iOS的HTTP网络通...

afnetworking使用https

背景: 在开发环境下,HTTPS一般使用自行颁发的证书 AFNetworking3 使用HTTPS协议时,需要针对自行颁发的证书作一定配置 我在配置过程中发现网上的信息多少都有疏漏 1.Nginx H...

iOS 9 AFNetworking 使用整理(https)

iOS 9 AFNetworking3x 使用整理 https 简述 导入 AFNetworking 方式 1 方式 2 导入 cer 证书 使用 封装 注意 使用实例 1 -json 使用实例 2...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:AFNetWorking之HTTPS使用
举报原因:
原因补充:

(最多只允许输入30个字)