Ios 使用AF2.3.1的自签名SSL证书

Ios 使用AF2.3.1的自签名SSL证书,ios,ssl,afnetworking-2,Ios,Ssl,Afnetworking 2,我正在尝试在iOS应用程序中使用自签名证书.cer。我遵循了这个不错的教程: 我将.cer文件添加到项目中。 在我的AFHTTPRequestOperationManager中: self.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate]; self.securityPolicy.allowInvalidCertificates = YES; 但我总是得到这个-1012错

我正在尝试在iOS应用程序中使用自签名证书
.cer
。我遵循了这个不错的教程:

我将.cer文件添加到项目中。 在我的AFHTTPRequestOperationManager中:

self.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
self.securityPolicy.allowInvalidCertificates = YES;
但我总是得到这个-1012错误:

错误操作无法完成。(NSURLError域错误 -(1012)

我检查了
+(NSArray*)defaultPinnedCertificates
是否正确加载了我的
.cer

但是
evaluateServerTrust:forDomain:
始终返回否:

return trustedCertificateCount==[serverCertificates count]

[serverCertificates count]
=2和
trustedCertificateCount
=1


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

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

self.securityPolicy.validateCertificateCain=NO


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

谢谢您的帮助。我们决定只保留叶子检查系统,以便在不重新提交应用程序的情况下允许服务器端证书续订。如果使用相同的密钥续订证书,您可能会发现
afsslpiningmodepublickey
对这种情况很有帮助