iOS AFNetworking https請(qǐng)求證書(驗(yàn)證證書,不校驗(yàn)證書)

在Xcode7.0之后,蘋果廢棄了NSURLConnection方法,數(shù)據(jù)請(qǐng)求使用NSURLSession,作為網(wǎng)絡(luò)請(qǐng)求類第三方庫使用量最大的AFN也及時(shí)的更新的新的版本——AFN 3.0版本。新的版本的里廢棄了基于NSURLConnection封裝的AFHTTPRequestOperationManager,轉(zhuǎn)而使用基于NSURLSession封裝的AFHTTPSessionManager了。

支持https(校驗(yàn)證書,不可以抓包):

// 1.初始化單例類

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

manager.securityPolicy.SSLPinningMode = AFSSLPinningModeCertificate;

// 2.設(shè)置證書模式

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

NSData * cerData = [NSData dataWithContentsOfFile:cerPath];

manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate withPinnedCertificates:[[NSSet alloc] initWithObjects:cerData, nil]];

// 客戶端是否信任非法證書

mgr.securityPolicy.allowInvalidCertificates = YES;

// 是否在證書域字段中驗(yàn)證域名

[mgr.securityPolicy setValidatesDomainName:NO];

支持https(不校驗(yàn)證書,可以抓包查看):

// 1.初始化單例類

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

// 2.設(shè)置非校驗(yàn)證書模式

manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];

manager.securityPolicy.allowInvalidCertificates = YES;

[manager.securityPolicy setValidatesDomainName:NO];

轉(zhuǎn)載:m.itdecent.cn/p/e727fc5d08ea

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

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

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