WedX - журнал о программировании и компьютерных науках

RestKit 0.20.3 Неполная инициализация с сертификатом

У меня проблема с подключением к моему серверу с самоподписанным сертификатом. В 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)

Вопросы:

  1. Это правильный способ инициализации RestKit? Я не хочу указывать SSL-материал в каждом запросе. Он должен быть установлен глобально.
  2. Любая идея, почему запрос терпит неудачу? body=null выглядит подозрительно.

  • Привет, у меня такой же код ошибки 1012 в 0.20.3, но после обновления RestKit до 0.22.0 все работает нормально. 23.11.2013

Ответы:


1

В RKObjectManager вы найдете:

#ifdef AFNETWORKING_PIN_SSL_CERTIFICATES
operation.SSLPinningMode = self.HTTPClient.defaultSSLPinningMode;
#endif

Поэтому вам нужно установить это определение, если вы используете диспетчер объектов напрямую.

04.06.2014
Новые материалы

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


Для любых предложений по сайту: [email protected]