適配https請求
YTKNetworkConfig *config = [YTKNetworkConfig sharedConfig];
config.baseUrl = LBDR_Service;
// // 驗證公鑰和證書的其他信息
AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
// /先導(dǎo)入證書
NSString *cerPath = [[NSBundle mainBundle] pathForResource:user_cername ofType:@"cer"];//證書的路徑
NSData *certData = [NSData dataWithContentsOfFile:cerPath];
securityPolicy.allowInvalidCertificates = YES;
securityPolicy.validatesDomainName = YES;
securityPolicy.pinnedCertificates = [NSSet setWithObject:certData];
[config setSecurityPolicy:securityPolicy];
如果報錯
A security policy configured with AFSSLPinningModeCertificate
can only be applied on a manager with a secure base URL
是因為AFNetwork沒有獲取到url導(dǎo)致的
修改YTKNetworkAgent.m文件的init方法,就能解決這個問題
_manager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:_config.sessionConfiguration];
修改為
_manager = [[AFHTTPSessionManager alloc] initWithBaseURL:_config.baseUrl sessionConfiguration:_config.sessionConfiguration];
或者
_manager = [[AFHTTPSessionManager alloc] initWithBaseURL:[NSURL URLWithString:@"你的url"] sessionConfiguration:_config.sessionConfiguration];