iOS 支持HTTPS

/ 0评 / 0

最近将项目整个都支持了https了,用的是AFN,其实AFN本来就支持https的,只需要把ssl证书放在工程里,然后读取出来,加入到请求中即可,来看一下我用的方法:

    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
    mgr.requestSerializer = [AFJSONRequestSerializer serializer];
    mgr.responseSerializer = [AFJSONResponseSerializer serializer];

    AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
    NSString * cerPath = [[NSBundle mainBundle] pathForResource:@"https1" ofType:@"cer"];
    NSData * cerData = [NSData dataWithContentsOfFile:cerPath];
    securityPolicy.pinnedCertificates = [[NSArray alloc] initWithObjects:cerData, nil];
    // 客户端是否信任非法证书
    securityPolicy.allowInvalidCertificates = YES;
    // 是否在证书域字段中验证域名
    [securityPolicy setValidatesDomainName:NO];
    mgr.securityPolicy = securityPolicy;

OK了,这样就支持HTTPS了

评论已关闭。