美文网首页
iOS-关于适配https

iOS-关于适配https

作者: iOS_Rainbow | 来源:发表于2016-12-28 09:13 被阅读69次

    关于https,自签名的SSL证书,建议大家不要去尝试。如果公司用得是阿里云的服务器,可以免费在阿里平台上申请SSL。我们公司证书是购买的,沃通平台的(ps:沃通平台免费证书苹果已经不在认证了)。

    1,首先plist.info:Allow Arbitrary Loads删除或设置为NO,如果需要https与http共同存在就设置为YES

    2,后台配置成功后,随意找一个接口链接,放到Safari上打开,如果出现小锁标志,说明后台配置成功了。到这一步的同时,我们还需要拿到.cer格式的证书:

    方法如下:点击Safari上小锁,会有弹框,点击显示证书,将证书拖到桌面上,将显示xxx.cer

    3,在AFNetWorking中 

    NSString * cerPath=[[NSBundle mainBundle]pathForResource:@"xxx" 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];

    AFHTTPSessionManager *session=[AFHTTPSessionManager manager];

    session.responseSerializer.acceptableContentTypes=[NSSet setWithObjects:@"application/json",@"text/json",@"text/javascript",@"text/html", nil];

    //超时时间

    session.requestSerializer.timeoutInterval=30;

    session.responseSerializer=[AFHTTPResponseSerializer serializer];

     session.securityPolicy=securityPolicy;


    4,将项目中第三方SDK更新至最新。

    注:如果你们证书是TSL1.0版本的话(SDWebImage加载图片失败),需要升级至TSL1.2以上

    相关文章

      网友评论

          本文标题:iOS-关于适配https

          本文链接:https://www.haomeiwen.com/subject/vxqyvttx.html