У меня проблема с подключением к моему серверу с самоподписанным сертификатом. В RestKit 0.10.3 с сертификатом все работает нормально.
Я инициализирую RestKit следующим образом:
AFHTTPClient * client = [AFHTTPClient clientWithBaseURL:baseURl];
[client setDefaultHeader:@"Accept" value:RKMIMETypeJSON];
client.defaultSSLPinningMode = AFSSLPinningModeCertificate;
client.allowsInvalidSSLCertificate = YES;
RKObjectManager *objectManager = [[RKObjectManager alloc] initWithHTTPClient:client];
objectManager.managedObjectStore = managedObjectStore;
но SSL-сертификат игнорируется - он не загружается AFNetworking.
Когда я создаю такой запрос
NSMutableURLRequest *request = [[RKObjectManager sharedManager] requestWithObject:nil method:RKRequestMethodGET path:[@"/myResource"] parameters:nil];
RKHTTPRequestOperation *httpRequestOperation = [[RKHTTPRequestOperation alloc] initWithRequest:request];
httpRequestOperation.SSLPinningMode = AFSSLPinningModeCertificate;
RKObjectRequestOperation *operation = [[RKObjectRequestOperation alloc] initWithHTTPRequestOperation:httpRequestOperation
responseDescriptors:[RKObjectManager sharedManager].responseDescriptors];
Сертификат загружается, но запрос все равно не выполняется с этим сообщением:
2013-10-31 11:52:12.920 myApp[87552:651b] E restkit.network:RKObjectRequestOperation.m:576 Ошибка запроса объекта: базовая операция HTTP-запроса завершилась с ошибкой: Error Domain=NSURLErrorDomain Code=-1012 «Операция не может (ошибка NSURLErrorDomain -1012.)" UserInfo=0x9470aa0 {NSErrorFailingURLKey=https://myDomain.com/myRessource NSErrorFailingURLStringKey=https://myDomain.com/myRessource} 2013-10-31 11:52:12.921 myApp[87552:651b] E restkit.network:RKObjectRequestOperation.m:238 GET 'https://myDomain.com/myRessource' (0 / 0 объектов) [запрос = 0,2065 с отображение = 0,0000 с всего = 0,2130 с]: error = Error Domain = NSURLErrorDomain Code = -1012 «Операция не может быть завершена. (Ошибка NSURLErrorDomain -1012.) " UserInfo=0x9470aa0 {NSErrorFailingURLKey=https://myDomain.com/myRessource, NSErrorFailingURLStringKey=https://myDomain.com/myRessource} response.body=(null)
Вопросы:
- Это правильный способ инициализации RestKit? Я не хочу указывать SSL-материал в каждом запросе. Он должен быть установлен глобально.
- Любая идея, почему запрос терпит неудачу?
body=null
выглядит подозрительно.