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;

    
    

    }

     
  • 相关阅读:
    React性能优化 渲染20000多条checkbox组件,点击选择checkbox组件的时候特别卡,解决办法
    react网页多语言(react-intl-universal)
    个人作品
    程序员和产品经理的那些事
    three.js 根据不同的图片做不同的动画特效 科技感十足
    互联网行业最佳产品开发流程 推荐!
    类似于YouTube、Medium、知乎等网站使用的进度条插件 NProgress
    js模拟点击下载文件到本地
    MySQL记录操作(增删改)
    MySQL表的操作
  • 原文地址:https://www.cnblogs.com/songxing10000/p/6081685.html
Copyright © 2011-2022 走看看