Подтвердить самоподписанный сертификат с 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];