上述問題的解決方法:
//如果是需要驗證自建證書,需要設置為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];
