"не удается проверить удостоверение сервера" в ios — что делать?
Всем привет! А вот сегодня я действительно очень сильно испугался. Почему? Просто потому, что заходя на своем многострадальном iPhone в любое приложение (которое требует авторизоваться и ввести пароль) или на любую страничку в браузер, я не смог ничего сделать. Не открывались сайты, не пускало в Qiwi, интернет-банк, App Store и т.д. В зависимости от того, что использовалось на экране, появлялось окно с разными надписями.
Надо отметить, очень непонятными надписями. Некоторые из них, я, многолетний пользователь гаджетов от Apple, вообще видел впервые. Было ощущение, что «сломалось» абсолютно все и наступил какой-то локальный программный апокалипсис. Любая программа, любой сайт, любая игра отказывалась работать. Если говорить подробней, то происходило вот что.
При использовании Safari, выскакивала табличка с ошибкой:
«Не удается проверить удостоверение сервера. Safari не удается проверить удостоверение сертификата. Чтобы продолжить посмотрите подробную информацию сертификата».
И если нажать «продолжить», ничего не происходит.

При этом, если говорить о различных программах, то там тоже не всё гладко — например, Qiwi встретил меня подобным сообщением:
«Сертификат для данного сервера не действителен. Вы подключаетесь к серверу, имитирующему w.qiwi.com, что может подвергнуть риску Вашу конфиденциальную информацию».
Хотя, конечно же, ни к какому «имитирующему серверу» я точно не подключался.
Более того — я даже не знаю, что это такое!:)

Думаю ладно, iPhone — это полбеды, и полез проверять на iPad, а там…
Всё тоже самое.
Сначала я подумал, что вирус какой-нибудь подхватил. Но с другой стороны, если подумать здраво, то это маловероятно, чтобы вирус появился сразу на обоих устройствах, да и нет такого «вредителя» на iOS. И вот здесь появился вопрос, что делать-то? Как избавиться от этого недоразумения и откуда оно взялось? Начал вспоминать и…
А потом пришло озарение:)
Как оказалось, всё очень просто и никакие вредоносные программы тут ни при чём. Дело в том, что для подготовки красивых скриншотов и написания одной статьи, мне пришлось отматывать дату на несколько лет назад. А затем… совершенно верно! Я забыл выставить её обратно.
Так что подобные проблемы с «недействительными и не проверенными сертификатами» в браузере Safari и прочих приложениях решаются достаточно просто — необходимо всего лишь установить корректную дату на iPhone или iPad (ну, и на всякий случай, перезагрузить устройство). После этой процедуры ошибки пропадут и все заработает как прежде!
P.S. Поддержи автора и избавь его от забывчивости — ставьте «лайки», пишите в комментарии (что получилось, а что — нет) и жмите на кнопки социальных сетей. Всем спасибо, всех обнял!:)
A brief guide to enable an ssl certificate on iphone or ipad
SSL is termed as secure socket layer that secures communication takes place between the sender and receiver with strong encryption. SSL can be implemented on Email exchange servers that work on IMAP mail protocol. Before enabling SSL on iPhone or iPad, it is necessary to know your POP or IMAP email server setting. In this article, we will go through the process of enabling SSL on iPhone or iPad whether you use existing mail account or a new email account. By enabling SSL in iPhone setting, you will have continuous security protection and it prevents the third party from observing your emails.
Enable ssl on incoming email server
- Browse Homepage, click on “Settings” tab.

- Under setting menu, click on “Mail, Contacts, Calendars”.

- Choose the email account you wish to secure with SSL.

- Now, tap on email address under “Account”.

- Tap on “Advanced”.

- Slide down to turn on “Use SSL” section usually found under “INCOMING SETTINGS”. If you use IMAP then port to “993” and for POP, use port “995”.

Enable ssl on outgoing email server
- Now go back to “Account” and click on “SMTP” under the “OUTGOING MAIL SERVER”.

- Tap the primary server, where domain server name is assigned.

- Enable “Use SSL” ON.

- Make sure Server Port is “465”.
- Tap “Done”.
- Now restart iPhone to take SSL effect on your device.
Note: The above procedure will be slightly different as per iPhone software version but the settings will remain the same.
Какими бывают ssl-сертификаты
Сертификаты, подписанные центрами, делятся на несколько видов — в зависимости от уровня надежности, того, кто и как их может получить и, соответственно, цены.
Первый называется DV (англ. Domain Validation — проверка домена). Для его получения физическому или юридическому лицу нужно доказать, что они имеют некий контроль над доменом, для которого приобретается сертификат. Проще говоря, что они либо владеют доменом, либо администрируют сайт на нем.
Ошибка ssl при подключении к серверу через iphone
Я пытаюсь установить HTTPS-соединение с сервером с помощью моего приложения. Но соединение не удается из-за следующей ошибки
Error Domain=Nsurlerrordomain Code=-1200 » произошла ошибка SSL, и безопасное соединение с сервером не может быть выполнено.»UserInfo=0x612eb30 {NSErrorFailingURLStringKey=https:myURL.com/signup, NSLocalizedRecoverySuggestion=вы все равно хотите подключиться к серверу?, NSErrorFailingURLKey=https:myURL.com/signup, NSLocalizedDescription=произошла ошибка SSL, и безопасное соединение с сервером невозможно., NSUnderlyingError=0x612eb70 «произошла ошибка SSL и безопасное подключение к серверу невозможно.»}
код для подключения к серверу
-(IBAction) handleEvents:(id)sender { if ((UIButton*)sender == submit) { [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; NSLog(@"Begin"); NSData *urlData; NSURLResponse *response; NSError *error; NSString *url =[[NSString alloc]initWithFormat:@"%@signup",baseURL]; NSURL *theURL =[NSURL URLWithString:url]; NSMutableURLRequest *theRequest =[NSMutableURLRequest requestWithURL:theURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:0.0f]; [theRequest setHTTPMethod:@"POST"]; NSString *theBodyString = [NSString stringWithFormat:@"emailId=%@&mobileNumber=%@&appId=%@&password=%@&firstName=%@&lastName=%@" ,@"abc@example.com",@"919879876780",@"bf1c7a6b3d266a7fe350fcfc4dda275211c13c23" ,@"qwerty" , @"Dev" , @"Sri"]; NSData *theBodyData = [theBodyString dataUsingEncoding:NSUTF8StringEncoding]; [theRequest setHTTPBody:theBodyData]; urlData = [NSURLConnection sendSynchronousRequest:theRequest returningResponse:&response error:&error]; }
}мои методы делегата
- (void)handleError:(NSError *)error
{
NSLog(@"----->%@",error);
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{ [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; }
- (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace { return [protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]; }
- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge (NSURLAuthenticationChallenge *)challenge { NSLog(@"check auth"); [challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge]; }Я застрял здесь и не мог найти никакого выхода.
любая форма помощи была бы весьма признательна.
спасибо вперед!!


