使用AFNetworking 2.3.1的自签名SSL证书

时间:2014-07-22 08:21:50

标签: ios ssl afnetworking-2

我试图在我的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。

这意味着什么?你能帮我吗?

1 个答案:

答案 0 :(得分:5)

AFSecurityPolicy的默认行为是验证证书链。您应该添加所有中间证书,或禁用链的验证:

self.securityPolicy.validatesCertificateChain = NO;

添加中间证书是首选方法。