最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

AFNetworking2.x的SSL身份认证

来源:懂视网 责编:小采 时间:2020-11-09 08:32:32
文档

AFNetworking2.x的SSL身份认证

AFNetworking2.x的SSL身份认证:1.如果想跳过ssl验证的话 AFHTTPSessionManager * client = [[AFHTTPSessionManager alloc] initWithBaseURL:[NSURL URLWithString:baseUrl]];[[client securityPolicy] setAllowInvalidCertificate
推荐度:
导读AFNetworking2.x的SSL身份认证:1.如果想跳过ssl验证的话 AFHTTPSessionManager * client = [[AFHTTPSessionManager alloc] initWithBaseURL:[NSURL URLWithString:baseUrl]];[[client securityPolicy] setAllowInvalidCertificate

如果你用的是NSURLConnection,你需要这样检查证书,必须添加一个 NSURLConnectionDelegate

- (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge

用 AFNetworking 2.x的话就简单多了,只需要添加一个AFSecurityPolicy 和 setAFHTTPRequestOperationManager

要经常用的话,推荐写一个方法,然后以后用就可以复制黏贴了

- (AFSecurityPolicy*)customSecurityPolicy
{
 /**** SSL Pinning ****/
 NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"你的证书" ofType:@"cer"];
 NSData *certData = [NSData dataWithContentsOfFile:cerPath];
 AFSecurityPolicy *securityPolicy = [[AFSecurityPolicy alloc] init];
 [securityPolicy setAllowInvalidCertificates:NO];
 [securityPolicy setPinnedCertificates:@[certData]];
 [securityPolicy setSSLPinningMode:AFSSLPinningModeCertificate];
 /**** SSL Pinning ****/

 return securityPolicy;
}

然后在管理器里这么设置

 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

 /**** SSL Pinning ****/
 [manager setSecurityPolicy:[self customSecurityPolicy]];
 /**** SSL Pinning ****/
 
 [manager GET:@"网站的url" parameters:params success:^(AFHTTPRequestOperation *operation, NSDictionary* responseObject) {
 //这里是你自己的代码了
 } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
 //注释同上
 }];

文档

AFNetworking2.x的SSL身份认证

AFNetworking2.x的SSL身份认证:1.如果想跳过ssl验证的话 AFHTTPSessionManager * client = [[AFHTTPSessionManager alloc] initWithBaseURL:[NSURL URLWithString:baseUrl]];[[client securityPolicy] setAllowInvalidCertificate
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top