iOS配置HTTPS(AFN)

费话不说,直接代码:

+(AFURLSessionManager*) getSessionManager{
    NSURLSessionConfiguration* config = [NSURLSessionConfiguration defaultSessionConfiguration];
    [config setTimeoutIntervalForRequest:HTTP_CONNECTION_TIMEOUT];  //设置请求时间
    [config setTimeoutIntervalForResource:HTTP_TIMEOUT];  //设置请求时间
    
    AFURLSessionManager* manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:config];
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];
    
    ///////////////////***************增加https验证******************//////////////////
    NSString *certFilePath = [[NSBundle mainBundle] pathForResource:@"app" ofType:@"cer"];
    NSData *certData = [NSData dataWithContentsOfFile:certFilePath];
    NSSet *certSet = [NSSet setWithObject:certData];
    
    AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate withPinnedCertificates:certSet];
    securityPolicy.allowInvalidCertificates = YES;//是否允许使用自签名证书
    securityPolicy.validatesDomainName = NO;//是否需要验证域名,默认YES

    manager.securityPolicy = securityPolicy;
    ///////////////////***************https验证结束******************//////////////////
    
    return manager;
}

Info.plist中修改:
NSAllowsArbitraryLoads为true

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,024评论 25 709
  • 因为要结局swift3.0中引用snapKit的问题,看到一篇介绍Xcode8,swift3变化的文章,觉得很详细...
    uniapp阅读 4,560评论 0 12
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,670评论 0 17
  • 夏暖还在思考着究竟怎么才能让陆奕寒放弃高调办婚礼的时候,房门‘砰’的一声被推开。 与其说是推开,不如说是被踹开...
    樱吹雪_1b2e阅读 186评论 0 0