Xcode8 https帶證書訪問

前一篇的例子講的是簡單的無證書訪問https,這里再補充一種CER證書訪問的方式.


1. 使用這種方式,首先得獲取到網(wǎng)頁的CER證書.獲取證書的方式也很多,這里介紹一個最簡單的方式:openssl的方式,代碼如下:

openssl s_client -connect kyfw.12306.cn:443 /dev/null | openssl x509 -outform DER > https.cer

2. 將獲取到的https.cer證書拉進工程里面

3.代碼中使用CER證書訪問https網(wǎng)絡數(shù)據(jù)

- (void)httpsDemo2{

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

NSData *cerData = [NSData dataWithContentsOfFile:cerPath];

NSSet *set = [[NSSet alloc] initWithObjects:cerData, nil];

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

manager.responseSerializer = [AFHTTPResponseSerializer serializer];

manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate withPinnedCertificates:set];?

manager.securityPolicy.allowInvalidCertificates = YES;?

[manager GET:@"https://kyfw.12306.cn/otn/leftTicket/init" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {

NSLog(@"%@", responseObject);

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

}];

}

注:關于ATS的配置前面一篇已經(jīng)講過,這里就不贅述了!

作者:汪澤煌 ?

QQ:563206959

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

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

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