AFSecurityPolicy.m文件,作以下添加服務器
+ (instancetype)defaultPolicy {網絡
AFSecurityPolicy *securityPolicy = [[self alloc] init];spa
// 設置校驗證書(服務器證書).net
NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"xxx" ofType:@"cer"];3d
NSData * cerData = [NSData dataWithContentsOfFile:cerPath];代理
securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate withPinnedCertificates:[[NSSet alloc] initWithObjects:cerData, nil]];blog
return securityPolicy;ssl
}get
iOS客戶端校驗https網絡請求證書it
http://www.charlesproxy.com/getssl/,獲取並安裝證書。注意,1 手機鏈接的WiFi,要配置代理;2 電腦上Charles要運行;
http://blog.csdn.net/u011604049/article/details/52869824
我說一下咱們的需求,咱們要求使用指定的CA證書進行校驗不能使用系統的校驗,系統的校驗可自行百度,他校驗證書的信任列表。可是若是我使用fiddler 進行抓取https,讓fiddler本身生成一個自簽名的證書,而後把這個證書裝到客戶端信任列表,那麼fiddler就能獲取https請求數據,由於系統的校驗證書是能夠校驗經過的,因此咱們要禁止這種截獲數據,所以有了自定義校驗證書
http://www.jianshu.com/p/54dd21c50f21