【1】AFSSLPinningMode安全
typedef NS_ENUM(NSUInteger, AFSSLPinningMode) { // 表明客戶端無條件地信任服務器端返回的證書 AFSSLPinningModeNone, // 表明客戶端會將服務器端返回的證書與本地保存的證書中,PublicKey的部分進行校驗;若是正確,才繼續進行 AFSSLPinningModePublicKey, // 表明客戶端會將服務器端返回的證書和本地保存的證書中的全部內容,包括PublicKey和證書部分,所有進行校驗;若是正確,才繼續進行 AFSSLPinningModeCertificate, };
使用:服務器
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] init]; AFSecurityPolicy *policy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone]; policy.validatesDomainName = YES; manager.securityPolicy = policy;
【2】validatesDomainNamedom
validatesDomainName 是指是否校驗在證書中的domain這一個字段。每一個證書都會包含一個DomainName, 它能夠是一個IP地址,一個域名或者一端帶有通配符的域名。如*.baidu.com, www.baidu.com 均可以成爲這個證書的DomainName。設置validatesDomainName=YES將嚴格地保證其安全性spa