AFNetworking2的SSL身份认证 -1022错误解决办法
来源:互联网 发布:关键规则算法 编辑:程序博客网 时间:2024/06/02 04:15
错误说明,AFNetworking发送Https的网络请求时,往往会遇到-1012错误
Error Domain=NSURLErrorDomain Code=-1012 "The operation couldn’t be completed. (NSURLErrorDomain error -1012.)" UserInfo=0x8d635f0 {NSErrorFailingURLKey=...URL...}
错误解决办法:
1、下载需要访问地址的cer证书或者别的格式转换出cer证书,放入mainbundle中
转换方法 openssl x509 -in 你的证书.crt -out 你的证书.cer -outform der
2、编写以下方法设置AFHTTPRequestOperationManager的securityPolicy属性,特别注意红字的两行代码
- (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 setValidatesCertificateChain:NO];
[securityPolicy setPinnedCertificates:@[certData]];
[securityPolicy setSSLPinningMode:AFSSLPinningModeCertificate];
/**** SSL Pinning ****/
return securityPolicy;
}
2 设置manager
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
[mgr setSecurityPolicy:[self customSecurityPolicy]];
3发送请求:
NSDictionary *params = @{ 参数 };
[mgr GET:"URL字符串" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
成功代码
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
失败代码
}];
- AFNetworking2的SSL身份认证 -1022错误解决办法
- AFNetworking 2.x 的SSL身份认证
- AFNetworking 2.x 的SSL身份认证
- AFNetworking 2.x 的SSL身份认证
- AFNetworking 2.x 的SSL身份认证
- AFNetworking 2.x 的SSL身份认证
- AFNetworking 2.x 的SSL身份认证
- ssl协议的身份认证和数据传输
- AFNetworking 2.x 的SSL身份认证
- 网银SSL身份认证
- [SSL]身份认证与数字签名
- Shiro 的身份认证
- 基于X.509证书和SSL协议的身份认证过程实现
- 基于X.509证书和SSL协议的身份认证过程实现
- 系统认证内部错误的解决办法
- 身份认证的相关概念
- 身份认证的前世今生
- 身份认证的前世今生
- SpringMVC的第一个入门案例
- Learn C# scripting in Unity
- notepad++比较不错的技巧
- HDU 4419 Colourful Rectangle (线段树扫描线)
- 8连块
- AFNetworking2的SSL身份认证 -1022错误解决办法
- 设计模式-单例模式
- .net-C#
- 资料存储
- java .net php
- 关于linux系统密码策略的设置
- css初学选择器
- 动态脚本语言
- 二进制安装MySQL5.5.39,磁盘空间不足导致MySQL无法启动