zoukankan      html  css  js  c++  java
  • In order to validate a domain name for self signed certificates, you MUST use pinning,AFNetWorking使用自签证书时出现问题。

    上述问题的解决方法:

    //如果是需要验证自建证书,需要设置为YES
    securityPoliy.allowInvalidCertificates = YES;
    securityPoliy.validatesDomainName = NO;//不验证证书的域名

    HTTPS步骤:

    1.从服务器要来 .crt格式的证书,然后用Mac钥匙串打开,然后导出 .cer格式的证书

    2.把 .cer证书导入程序的 NSBundle中。

    验证证书的代码:

        NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"cer"];
        NSData *cerData = [NSData dataWithContentsOfFile:cerPath];
        NSSet *cerSet = [[NSSet alloc]initWithObjects:cerData, nil];
        AFSecurityPolicy *securityPoliy = [AFSecurityPolicy defaultPolicy];
        //allowInvalidCertificates 是否允许无效证书(也就是自建的证书),默认为NO
        //如果是需要验证自建证书,需要设置为YES
        securityPoliy.allowInvalidCertificates = YES;
        securityPoliy.validatesDomainName = NO;
        //设置证书
        [securityPoliy setPinnedCertificates:cerSet];
        [dxClient setSecurityPolicy:securityPoliy];
    
  • 相关阅读:
    Hash详解
    手写2048
    20180429模拟赛T1——添边问题
    题解:UVA1025 A Spy in the Metro
    20180418模拟赛T2——Gym
    20180418模拟赛T1——Seq
    学习:中国剩余定理
    20180414模拟赛T2——拼图
    20180414模拟赛T1——BEAD
    学习:树状数组
  • 原文地址:https://www.cnblogs.com/Crazy-ZY/p/6094383.html
Copyright © 2011-2022 走看看