zoukankan      html  css  js  c++  java
  • AFNetworking certificate AFNetworking 证书设置

    + (AFSecurityPolicy*)customSecurityPolicy
    {
        // /先导入证书
        NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"kudou" ofType:@"cer"];//证书的路径
        NSData *certData = [NSData dataWithContentsOfFile:cerPath];
        
        // AFSSLPinningModeCertificate 使用证书验证模式
        AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
        
        // allowInvalidCertificates 是否允许无效证书(也就是自建的证书),默认为NO
        // 如果是需要验证自建证书,需要设置为YES
        securityPolicy.allowInvalidCertificates = YES;
        
        //validatesDomainName 是否需要验证域名,默认为YES;
        //假如证书的域名与你请求的域名不一致,需把该项设置为NO;如设成NO的话,即服务器使用其他可信任机构颁发的证书,也可以建立连接,这个非常危险,建议打开。
        //置为NO,主要用于这种情况:客户端请求的是子域名,而证书上的是另外一个域名。因为SSL证书上的域名是独立的,假如证书上注册的域名是www.google.com,那么mail.google.com是无法验证通过的;当然,有钱可以注册通配符的域名*.google.com,但这个还是比较贵的。
        //如置为NO,建议自己添加对应域名的校验逻辑。
        securityPolicy.validatesDomainName = NO;
        
        //    [NSSet setWithObject:certData]
        //@[certData]
        securityPolicy.pinnedCertificates = @[certData];
        
        return securityPolicy;
    }

    这样调用 ---

    
    

    + (AFHTTPSessionManager *)getAFHTTPRequestOperationManager

    
    

    {

    
    

        MYLog(@"1.getAFHTTPRequestOperationManager");

    
    

    //    [self getToken];

    
    

        AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

    
    

        manager.responseSerializer = [AFJSONResponseSerializer serializer];

    
    
    
    

    //    manager.requestSerializer=[AFJSONRequestSerializer serializer];

    
    

        manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json",@"text/json",@"text/plain",@"text/javascript",@"text/html", nil];

    
    

         manager.requestSerializer.timeoutInterval = 60.f;

    
    

     

    
    

        [manager setSecurityPolicy:[self customSecurityPolicy]];

    
    

        return manager;

    
    

    }

     
  • 相关阅读:
    ORACLE中order by造成分页不正确原因分析
    各种数据库分页语句整理以及Oracle数据库中的ROWNUM和ORDER BY的区别
    Spring配置文件一直报错的根源所在
    java加密用到了BASE64Decoder时报错信息:Access restriction: The type BASE64Encoder is not accessible due to restrict
    Eclipse报错:An internal error occurred during: "Building workspace". Java heap space),卡死解决办法
    云数据库场景问题经典案例——分页优化
    DDL失败案例
    Java笔试题解答
    模拟购物车表格
    addTodo 模型
  • 原文地址:https://www.cnblogs.com/songxing10000/p/6081685.html
Copyright © 2011-2022 走看看