我正在使用AFNetworking 2.0,并且我已在Apache服务器上启用了证书身份验证。 我在.xcode项目中放了一个.crt文件。 每当我尝试建立到服务器的https连接时,我都会收到以下错误:
The operation couldn't be completed. (NSURLErrorDomain error -1012.)
以下是调用服务器的代码:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
[manager setSecurityPolicy:[AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate]];
[manager POST:@"https://www.example.com/" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
//success
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//failure
}];
答案 0 :(得分:0)
默认情况下,AFNetworking仅针对.cer
个文件。
重命名您的证书,使其为.cer
而不是.crt
,并且它应该有效。
您可以通过查看固定证书来查看它是否正常工作:
NSLog(@"Using %d pinned certificates", [manager.securityPolicy.pinnedCertificates count]);