AFNetworking SSL 请求
Posted
技术标签:
【中文标题】AFNetworking SSL 请求【英文标题】:AFNetworking SSL Request 【发布时间】:2015-08-25 07:39:00 【问题描述】:我使用 AF 发送 https 请求,如
[self.manager POST:downloadURLStirng parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject)
if (success)
success(responseObject,passParameters);
failure:^(AFHTTPRequestOperation *operation, NSError *error)
if(failure)
failure(operation.responseObject,error,passParameters);
];
我已经将 securityPolicy 设置为 YES
self.manager.requestSerializer = [AFJSONRequestSerializer serializer];
self.manager.securityPolicy.allowInvalidCertificates = OPENSSL;
但我仍然收到 code -1012 和 error_message :为了验证自签名证书的域名,您必须使用 pinning。
【问题讨论】:
Problems with SSL Pinning and AFNetworking 2.5.0 (NSURLErrorDomain error -1012.)的可能重复 【参考方案1】:这是设置安全策略以允许无效证书并停止域名验证。:
AFSecurityPolicy *securityPolicy = [AFSecurityPolicy
policyWithPinningMode:AFSSLPinningModeNone];
securityPolicy.allowInvalidCertificates = YES;
[securityPolicy setValidatesDomainName:NO];
【讨论】:
【参考方案2】:我搜索过这一行
'NSLog(@"为了验证自签名证书的域名,您必须使用 pinning。");'
在这条线下面我改变了
'返回NO;' 到
'返回是;'
它发挥了魔力。
谢谢。
【讨论】:
这对我也有用,但如果这是否是一个好方法值得怀疑。先试试看:***.com/questions/27808249/… 宁可分配:[AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];
你为什么这样做?它解决了什么问题,又带来了哪些优势?以上是关于AFNetworking SSL 请求的主要内容,如果未能解决你的问题,请参考以下文章
iOS SSL Pinning 没有使用 AFNetworking 的证书?
使用 iOS 中的 AFNetworking,确定失败响应是服务器错误还是连接错误的最佳方法是啥?
使用 AFNetworking 进行 SSL 固定 - validatesCertificateChain = true