iOS配置HTTPS

申请一个SSL证书

这个是我们后台做的操作,然后发给我.cer格式的证书,放到mainbundle就好。

AFNetworking 对数据进行https ssl加密

这里是我们iOS开发人员所需要做的操作。

AFHTTPSessionManager *manger = [AFHTTPSessionManager manager];

上面的manger是不需要改动的,之上需要增加一个类

NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"***" ofType:@"cer"];//证书的路径
    
    NSData *cerData = [NSData dataWithContentsOfFile:cerPath];
    
    NSSet *cerset = [NSSet setWithObjects:cerData, nil];
    
    AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
    //需要验证自建证书
    securityPolicy.allowInvalidCertificates = YES;
    //是否验证域名
    securityPolicy.validatesDomainName = YES;
    
    
    [securityPolicy setPinnedCertificates:cerset];

还需要增加这句

  manger.securityPolicy = securityPolicy;

如果这时候还会出现code=-999,被取消的错误,可以更改代码

AFHTTPSessionManager * manger = [[AFHTTPSessionManager manager]initWithBaseURL:[NSURL URLWithString:@"环境地址"]];

以上的操作便可以完成https的的配置!

你可能感兴趣的:(iOS配置HTTPS)