激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - IOS - iOS適配https證書問題(AFNetworking3.0為例)

iOS適配https證書問題(AFNetworking3.0為例)

2021-03-05 17:18簡進祥 IOS

本篇文章主要介紹了iOS適配https問題(AFNetworking3.0為例)。小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

眾所周知,蘋果有言,從2017年開始,將屏蔽http的資源,強推https

樓主正好近日將http轉為https,給還沒動手的朋友分享一二

1.準備證書

首先找后臺要一個證書(SSL證書,一般你跟后臺說要弄https,然后讓他給你個證書,他就知道了),我們需要的是.cer的證書。但是后臺可能給我們的是.crt的證書。我們需要轉換一下:打開終端 -> cd到.crt證書路徑 -> 輸入openssl x509 -in 你的證書.crt -out 你的證書.cer -outform der,證書就準備好了,拖入工程,記得選copy。

2.新建一個類或者類方法

以下代碼借鑒的,樓主自己是放在一個叫FactoryUI的類中

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//支持https
+ (AFSecurityPolicy *)customSecurityPolicy
{
  //先導入證書,找到證書的路徑
  NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"你的證書名字" ofType:@"cer"];
  NSData *certData = [NSData dataWithContentsOfFile:cerPath];
 
  //AFSSLPinningModeCertificate 使用證書驗證模式
  AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
 
  //allowInvalidCertificates 是否允許無效證書(也就是自建的證書),默認為NO
  //如果是需要驗證自建證書,需要設置為YES
  securityPolicy.allowInvalidCertificates = YES;
 
  //validatesDomainName 是否需要驗證域名,默認為YES;
  //假如證書的域名與你請求的域名不一致,需把該項設置為NO;如設成NO的話,即服務器使用其他可信任機構頒發的證書,也可以建立連接,這個非常危險,建議打開。
  //置為NO,主要用于這種情況:客戶端請求的是子域名,而證書上的是另外一個域名。因為SSL證書上的域名是獨立的,假如證書上注冊的域名是www.google.com,那么mail.google.com是無法驗證通過的;當然,有錢可以注冊通配符的域名*.google.com,但這個還是比較貴的。
  //如置為NO,建議自己添加對應域名的校驗邏輯。
  securityPolicy.validatesDomainName = NO;
  NSSet *set = [[NSSet alloc] initWithObjects:certData, nil];
  securityPolicy.pinnedCertificates = set;
 
  return securityPolicy;
}

3.修改AFNetWorking的請求(AFNetworking3.0為例)

?
1
2
3
4
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
manager.requestSerializer.timeoutInterval = 5.0;
[manager setSecurityPolicy:[FactoryUI customSecurityPolicy]];//如2若提到的FactoryUI的類方法

 ···后面的就還是一樣了

補充:App Transport Security Settings還是要設置

iOS適配https證書問題(AFNetworking3.0為例)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/jx66/p/6085711.html

延伸 · 閱讀

精彩推薦
  • IOSiOS中UILabel實現長按復制功能實例代碼

    iOS中UILabel實現長按復制功能實例代碼

    在iOS開發過程中,有時候會用到UILabel展示的內容,那么就設計到點擊UILabel復制它上面展示的內容的功能,也就是Label長按復制功能,下面這篇文章主要給大...

    devilx12792021-04-02
  • IOS詳解iOS中多個網絡請求的同步問題總結

    詳解iOS中多個網絡請求的同步問題總結

    這篇文章主要介紹了詳解iOS中多個網絡請求的同步問題總結,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    liang199111312021-03-15
  • IOSiOS開發技巧之狀態欄字體顏色的設置方法

    iOS開發技巧之狀態欄字體顏色的設置方法

    有時候我們需要根據不同的背景修改狀態欄字體的顏色,下面這篇文章主要給大家介紹了關于iOS開發技巧之狀態欄字體顏色的設置方法,文中通過示例代碼...

    夢想家-mxj8922021-05-10
  • IOSiOS實現控制屏幕常亮不變暗的方法示例

    iOS實現控制屏幕常亮不變暗的方法示例

    最近在工作中遇到了要將iOS屏幕保持常亮的需求,所以下面這篇文章主要給大家介紹了關于利用iOS如何實現控制屏幕常亮不變暗的方法,文中給出了詳細的...

    隨風13332021-04-02
  • IOSiOS中MD5加密算法的介紹和使用

    iOS中MD5加密算法的介紹和使用

    MD5加密是最常用的加密方法之一,是從一段字符串中通過相應特征生成一段32位的數字字母混合碼。對輸入信息生成唯一的128位散列值(32個字符)。這篇文...

    LYSNote5432021-02-04
  • IOSiOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)

    iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和

    這篇文章主要介紹了iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)的相關資料,需要的朋友可以參考下...

    CodingFire13652021-02-26
  • IOSiOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    這篇文章主要介紹了iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果的相關資料,需要的朋友可以參考下...

    jiangamh8882021-01-11
  • IOSiOS開發之視圖切換

    iOS開發之視圖切換

    在iOS開發中視圖的切換是很頻繁的,獨立的視圖應用在實際開發過程中并不常見,除非你的應用足夠簡單。在iOS開發中常用的視圖切換有三種,今天我們將...

    執著丶執念5282021-01-16
主站蜘蛛池模板: 91丨九色丨国产在线观看 | 久久91亚洲人成电影网站 | 午夜视频你懂的 | 久久91精品国产91久久yfo | 亚洲一二三久久 | 九九热精品免费视频 | 福利四区 | 高清视频91 | 免费国产wwwwwww网站 | 成人三级电影网站 | 国产片91 | 亚洲免费观看视频 | 精品一区二区在线视频 | 国产精品美女久久久久久网站 | 欧美一级视频网站 | 99久久久久久久久 | 99热草 | 亚洲小视频在线播放 | 99激情视频| 成人毛片一区 | 色中色在线播放 | 成人国产精品一区二区毛片在线 | 欧美性生活久久 | 久久久久久久久国产 | 成人国产精品免费 | 久久国产经典 | 久久久国产一区二区三区 | 亚洲精品自在在线观看 | 欧美精品激情在线 | 一道本不卡一区 | 欧美日韩在线影院 | 无遮挡一级毛片视频 | 国产成人综合在线观看 | 久久久久国 | 欧美国产一级片 | 毛片观看网址 | 亚洲国产资源 | 久久久www成人免费精品 | 羞羞答答www网站进入 | 一级黄色国产视频 | 成人免费毛片一 |