使用AFNetwoking訪問https出現(xiàn)code=-999"cancelled"問題解決方案

因?yàn)閍pple公司決定在2017年全面使用https來提高網(wǎng)絡(luò)傳輸?shù)陌踩?,遂跟公司后臺溝通添加了CA機(jī)構(gòu)認(rèn)證的SSL證書,將接口全面升級到了https。


遇到的問題:

1.使用AFNetking封裝的工具類

2.在xcode8.1上訪問后臺正常的代碼,在xcode8.2運(yùn)行就會報(bào)code = -999 ,cancelled?

錯(cuò)誤信息

問題代碼: ? 封裝的AFNetworking工具類

+(instancetype)share{

static NetWorkingManager *instance;

static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{

? ? ? NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];

? ? ?//1.實(shí)例化

? ? ?instance = [[NetWorkingManager alloc] initWithSessionConfiguration:config];

? ? ?//2.可接受的格式

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

});

return instance;

}

和后臺溝通后,得知后臺配置的SSL證書是一個(gè)小型CA機(jī)構(gòu)頒發(fā)的免費(fèi)證書,恍然大悟,自己陷入了一個(gè)認(rèn)為證書無誤的坑里,xcode升級到8.2后對證書的驗(yàn)證更加嚴(yán)格了,認(rèn)定公司后臺的證書為無效證書,每次訪問會自動幫你取消掉。

解決代碼如下:

在上文的單例中添加安全策略,及允許無效證書訪問

AFSecurityPolicy *security = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];

[security setValidatesDomainName:NO];

security.allowInvalidCertificates = YES;

instance.securityPolicy = security;

解決,收工


fix
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 原文地址 http://blog.csdn.net/u012409247/article/details/4985...
    0fbf551ff6fb閱讀 3,688評論 0 13
  • 一、作用 不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文傳播,帶來了三大風(fēng)險(xiǎn)。 (1)竊聽風(fēng)險(xiǎn)...
    XLsn0w閱讀 11,056評論 2 44
  • 原文地址:iOS安全系列之一:HTTPS 如何打造一個(gè)安全的App?這是每一個(gè)移動開發(fā)者必須面對的問題。在移動Ap...
    violafa閱讀 910評論 0 2
  • 窮人思維一:總是出賣自己的時(shí)間,不懂得花錢買時(shí)間。當(dāng)然這對于不少人來說可能是不得已,因?yàn)樵跊]有錢的情況下只能出賣自...
    時(shí)裝設(shè)計(jì)師閱讀 583評論 0 1
  • “你必終身勞苦,才能從地里得到吃的,你必須汗流滿面才得糊口,直到你歸了土?!?——《圣經(jīng)·創(chuàng)世紀(jì)》 我覺得這句話說...
    弓文銳閱讀 592評論 1 4

友情鏈接更多精彩內(nèi)容