關于如何更改適配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閱讀 1,731評論 0 12
  • iOS 10 適配 ATS 一. HTTPS其實HTTPS從最終的數據解析的角度,與HTTP沒有任何的區別,HTT...
    lanceChris閱讀 1,062評論 0 0
  • 一、http和https的區別 引用度娘的一段話 HTTPS和HTTP的區別 超文本傳輸協議HTTP協議被用于在W...
    Zoneday閱讀 742評論 0 2
  • 根據廣大開發者的傳聞,2017年1月1號,蘋果公司要執行ATS政策了。所有app必須強制支持https(不包括一些...
    簡單日記閱讀 2,166評論 2 7
  • 今天中午跟朋友在一起吃飯的時候,從朋友口中聽到她給一個幫她做心理咨詢的熟悉的老師咨詢費的時候,我突然心理糾結了一下...
    米串閱讀 408評論 1 0