我试图在我的iOS应用中使用自签名证书.cer
。我按照这个很好的教程:
http://initwithfunk.com/blog/2014/03/12/afnetworking-ssl-pinning-with-self-signed-certificates/
我添加了我的.cer文件。 并初始化我的AFHTTPRequestOperationManager:
self.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
self.securityPolicy.allowInvalidCertificates = YES;
但我总是得到这个-1012错误:
错误无法完成操作。 (NSURLErrorDomain错误 -1012。)
我检查了+ (NSArray *)defaultPinnedCertificates
它正确加载了我的.cer
。
但evaluateServerTrust:forDomain:
总是返回NO:
return trustedCertificateCount == [serverCertificates count];
[serverCertificates count]
= 2且trustedCertificateCount
= 1。
这意味着什么?你能帮我吗?
答案 0 :(得分:5)
AFSecurityPolicy
的默认行为是验证证书链。您应该添加所有中间证书,或禁用链的验证:
self.securityPolicy.validatesCertificateChain = NO;
添加中间证书是首选方法。