AFNetworking、ASIHTTPRequest中SSL的使用
来源:互联网 发布:知乎 椅子推荐 编辑:程序博客网 时间:2024/05/30 20:08
首先介绍下AFNetworking中的使用:
2.0要注意个地方:IOS7及其以后,采用AFHTTPSessionManager,IOS7之前采用AFHTTPRequestOperationManager。
以AFHTTPSessionManager为例,代码如下:
<span style="font-size:14px;">AFHTTPSessionManager *httpClient = [AFHTTPSessionManager manager]; httpClient.requestSerializer = [AFHTTPRequestSerializer serializer]; httpClient.responseSerializer = [AFHTTPResponseSerializer serializer]; // SSL Pinning NSString *certificatePath = [[NSBundle mainBundle] pathForResource:@"certificate" ofType:@"der"]; NSData *certificateData = [NSData dataWithContentsOfFile:certificatePath]; AFSecurityPolicy *securityPolicy = [[AFSecurityPolicy alloc] init]; [securityPolicy setAllowInvalidCertificates:YES]; [securityPolicy setPinnedCertificates:@[certificateData]]; [securityPolicy setSSLPinningMode:AFSSLPinningModeCertificate]; [httpClient setSecurityPolicy:securityPolicy]; [httpClient GET:@"http://xxxx" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) { } failure:^(NSURLSessionDataTask *task, NSError *error) { //失败信息 }];</span>
以AFHTTPRequestOperationManager为例,代码如下:
<span style="font-size:14px;">AFHTTPRequestOperationManager *httpClient1 = [AFHTTPRequestOperationManager manager]; httpClient1.requestSerializer = [AFHTTPRequestSerializer serializer]; httpClient1.responseSerializer = [AFHTTPResponseSerializer serializer]; // SSL Pinning NSString *certificatePath1 = [[NSBundle mainBundle] pathForResource:@"certificate" ofType:@"der"]; NSData *certificateData1 = [NSData dataWithContentsOfFile:certificatePath1]; AFSecurityPolicy *securityPolicy1 = [[AFSecurityPolicy alloc] init]; [securityPolicy1 setAllowInvalidCertificates:YES]; [securityPolicy1 setPinnedCertificates:@[certificateData1]]; [securityPolicy1 setSSLPinningMode:AFSSLPinningModeCertificate]; [httpClient setSecurityPolicy:securityPolicy1]; [httpClient1 GET:@"http://xxxx" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { //成功信息 } failure:^(AFHTTPRequestOperation *operation, NSError *error) { //失败信息 }];</span>
下面来讲下ASI,
以ASIFormDataRequest为例,代码如下:
<span style="font-size:14px;">ASIFormDataRequest * request; request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@""]]; NSData *cerFile = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"d1" ofType:@"cer"]]; SecCertificateRef cert = SecCertificateCreateWithData(NULL, (__bridge CFDataRef)cerFile); NSArray *array = [NSArray arrayWithObjects:(__bridge id)cert,nil]; [request setClientCertificates:array]; [request setValidatesSecureCertificate:NO]; [request startSynchronous];</span>
ASIHTTPRequest的参考http://www.tuicool.com/articles/UN3AveR,代码就不贴了。
演示点击打开链接
http://blog.iamzsx.me/show.html?id=155002
0 0
- AFNetworking、ASIHTTPRequest中SSL的使用
- AFNetworking、ASIHTTPRequest中SSL的使用
- AFNetworking、ASIHTTPRequest中SSL的使用
- iOS中ASIHTTPRequest和AFNetworking的区别
- AFNetworking 中 设置 https的SSL认证
- AFNetworking 中 设置 https的SSL认证
- 正确使用AFNetworking的SSL保证网络安全
- 正确使用AFNetworking的SSL保证网络安全
- 正确使用AFNetworking的SSL保证网络安全
- 正确使用AFNetworking的SSL保证网络安全
- 正确使用AFNetworking的SSL保证网络安全
- 正确使用AFNetworking的SSL保证网络安全
- 正确使用AFNetworking的SSL保证网络安全
- AFNetworking 与ASIHTTPRequest的比较
- AFNetworking与ASIHTTPRequest的区别
- AFNetworking和ASIHTTPRequest的比较
- AFNetworking与ASIHTTPRequest的区别
- afnetworking 中配置 SSL证书
- win7 DOS utf-8汉字乱码的问题
- 11-0. 平面向量加法(10)
- DontDestroyOnLoad(Unity3D开发之五)
- oracle 表锁死的解决方法
- Scale的放大与缩小
- AFNetworking、ASIHTTPRequest中SSL的使用
- ubuntu 卸载apache2
- hello kitty tyvj begin 不能再水了 字符串输入
- Lowbit Sum
- OpenCV使用VideoInput库从摄像头捕获视频
- Dijkstra算法 ---java实现
- php $_SERVER详细介绍
- opencv各种内存泄露情况的大总结
- 大牛初步之Oracle服务端安装完后导致的开机启动慢的问题