ios https 校验

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wjy0629/article/details/86139008

项目中需要进行Https校验,所以研究了一下,非预埋证书类,直接copy项目中使用的代码


- (BOOL)evaluateServerTrust:(SecTrustRef)serverTrust
                  forDomain:(NSString *)domain
{

//判断是不是IP地址
    NSString* ss = @"([0-9a-fA-F]*:[0-9a-fA-F:.]*)|([\\d.]+)";
    NSPredicate * pre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",ss];
    NSMutableArray *policy = [NSMutableArray array];

//添加验证策略
    [policy addObject:(__bridge_transfer id)SecPolicyCreateSSL(true, (__bridge CFStringRef)([pre evaluateWithObject:domain]?@"*.ictun.com":domain))];
    SecTrustSetPolicies(serverTrust, (__bridge CFArrayRef)policy);

//开始验证
    return AFServerTrustIsValid(serverTrust);

}

猜你喜欢

转载自blog.csdn.net/wjy0629/article/details/86139008