关于如何更改适配HTTPS

苹果在2016年6月份的发布会上提出2017年的1月1日,所有AppStore的APP必须要开启ATS(也就是使用HTTPS)。


一、开通SSL

如果是自己测试可以申请免费的,公司用的话最好是购买付费SSL证书.

二、客户端

客户端适配https,也就是启用ATS特性需要做的事

1.获取具有ATS特性的验证证书,后台人员可以给或者直接在pc域名上的锁标志把证书拉下来;

2.修改后台适配好的域名http->https;

3.修改info.plist文件AppTransportSecuritySettings,适配https;

4.AFHTTPSessionManager实例配置https代码;

5.webView添加防止请求撤销代码;

三、代码

NSString *url = @"https://127.20.你的app";

//1.获取站点证书

NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"ssl_bundle" ofType:@".cer"];

NSData *cerData = [NSData dataWithContentsOfFile:cerPath];

NSSet *cerSet = [NSSet setWithObjects:cerData, nil];

//2.https配置

AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];

//allowInvalidCertificates 是否信任服务器无效(也就是自建证书)或过期的SSL证书。默认为“不”。

//需要自建证书则默认YES,测试的时候可以关闭,正式的开启

securityPolicy.allowInvalidCertificates = YES;

//validatesDomainName 是否验证域名。默认为“是”。 建议开启

securityPolicy.validatesDomainName = YES;

//3.添加证书

[securityPolicy setPinnedCertificates:cerSet];

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

manager.requestSerializer = [AFHTTPRequestSerializer serializer];

manager.responseSerializer = [AFHTTPResponseSerializer serializer];

//4.配置https

manager.securityPolicy = securityPolicy;

[manager GET:url parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {

NSLog(@"进度:%f",1.0 * downloadProgress.completedUnitCount/downloadProgress.totalUnitCount);

} success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

NSLog(@"成功:%@",responseObject);

} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

NSLog(@"失败:%@",error);

}];


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS 10 适配 ATS 一. HTTPS 其实HTTPS从最终的数据解析的角度,与HTTP没有任何的区别,HT...
    made_China阅读 5,642评论 0 12
  • iOS 10 适配 ATS 一. HTTPS其实HTTPS从最终的数据解析的角度,与HTTP没有任何的区别,HTT...
    lanceChris阅读 4,687评论 0 0
  • 一、http和https的区别 引用度娘的一段话 HTTPS和HTTP的区别 超文本传输协议HTTP协议被用于在W...
    Zoneday阅读 4,077评论 0 2
  • 根据广大开发者的传闻,2017年1月1号,苹果公司要执行ATS政策了。所有app必须强制支持https(不包括一些...
    简单日记阅读 6,414评论 2 7
  • 今天中午跟朋友在一起吃饭的时候,从朋友口中听到她给一个帮她做心理咨询的熟悉的老师咨询费的时候,我突然心理纠结了一下...
    米串阅读 3,034评论 1 0