Подтвердить самоподписанный сертификат с AFNetworking

Я хочу подключить свое приложение iOS с AFNetwork к своему веб-серверу с помощью самозаверяющего сертификата. Я нашел решение на github ( https://github.com/AFNetworking/AFNetworking/pull/694). Я попробовал его, и прикрепление сертификата, кажется, работает, но я получил другую ошибку:

Ошибка домена =NSURLErrorDomain Code=-1012 "Операция не может быть завершена. (NSURLErrorDomain ошибка -1012.)" UserInfo=0x7bc2090 {NSErrorFailingURLKey=(мой домен)}

Кто-нибудь знает, связана ли эта ошибка с AFNetworking Framework и самозаверяющим сертификатом или нет?

Решено: я нашел решение для ошибки. Мне пришлось установить SSLPinningMode в AFSSLPinningModeCertificate, теперь он работает.

AFJSONRequestOperation *operation =[AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
    NSDictionary *resDictionary = (NSDictionary *)JSON;
}
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {
    NSLog(@"%@",error);
}];
operation.SSLPinningMode = AFSSLPinningModeCertificate;
[operation start];

1 ответ

Попробуйте эту работу вокруг.

AFJSONRequestOperation *operation =[AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
    NSDictionary *resDictionary = (NSDictionary *)JSON;
}
                                                                                   failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {
                                                                                       NSLog(@"%@",error);
                                                                                   }];
operation.securityPolicy.allowInvalidCertificates = YES;
[operation start];
Другие вопросы по тегам