使用SSL证书将iOS应用程序与Apache Server连接?

时间:2013-11-25 15:45:55

标签: ios apache ssl afnetworking-2

我正在使用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
}];

1 个答案:

答案 0 :(得分:0)

默认情况下,AFNetworking仅针对.cer个文件。

重命名您的证书,使其为.cer而不是.crt,并且它应该有效。

您可以通过查看固定证书来查看它是否正常工作:

NSLog(@"Using %d pinned certificates", [manager.securityPolicy.pinnedCertificates count]);