我想在我的应用程序中使用基于 https 的服务。我正在使用AFNetworking库来调用web-API。我可以通过将 NSAppTransportSecurity 和 AllowArbitaryLoads 添加到 True 来调用 https API。但是在使用它时我不必使用SSL证书。
任何人都可以帮我完成将SSL与AFNetworking集成的完整过程,以便所有请求都安全地通过它。
答案 0 :(得分:0)
你可以这样做:
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager.securityPolicy setValidatesDomainName:NO];
[manager.securityPolicy setAllowInvalidCertificates:YES];
NSURLSessionDataTask *dataTask = [manager dataTaskWithRequest:request completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
}];
[dataTask resume];
<强>更新强>
如果您希望验证证书,可以改为:
将您的证书添加到您应用的捆绑包中。
然后这样做:
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
[manager.securityPolicy setValidatesDomainName:NO];
[manager.securityPolicy setAllowInvalidCertificates:YES];
NSURLSessionDataTask *dataTask = [manager dataTaskWithRequest:request completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
}];
[dataTask resume];