Ios 使用AF2.3.1的自签名SSL证书
我正在尝试在iOS应用程序中使用自签名证书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错
.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
对这种情况很有帮助