上述問題的解決方法:
//如果是需要驗證自建證書,需要設置為YES securityPoliy.allowInvalidCertificates = YES; securityPoliy.validatesDomainName = NO;//不驗證證書的域名
HTTPS步驟:
1.從服務器要來 .crt格式的證書,然后用Mac鑰匙串打開,然后導出 .cer格式的證書
2.把 .cer證書導入程序的 NSBundle中。
驗證證書的代碼:
NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"cer"]; NSData *cerData = [NSData dataWithContentsOfFile:cerPath]; NSSet *cerSet = [[NSSet alloc]initWithObjects:cerData, nil]; AFSecurityPolicy *securityPoliy = [AFSecurityPolicy defaultPolicy]; //allowInvalidCertificates 是否允許無效證書(也就是自建的證書),默認為NO //如果是需要驗證自建證書,需要設置為YES securityPoliy.allowInvalidCertificates = YES; securityPoliy.validatesDomainName = NO; //設置證書 [securityPoliy setPinnedCertificates:cerSet]; [dxClient setSecurityPolicy:securityPoliy];