Как заставить приложение iPhone принимать неверный сертификат сервера, но только определенный? - PullRequest
1 голос
/ 20 апреля 2010

Мне нужно работать с частным HTTPS API, и у клиента неверный сертификат на хосте. Сертификат для www.clienthost.com, и я работаю с api.clienthost.com. Поэтому мне нужно подключиться через HTTPS к api.clienthost.com, игнорируя неверный сертификат, но при этом удостовериться, что это тот, что для www.clienthost.com, а не что-то еще. Я нашел этот ответ: Как использовать NSURLConnection для соединения с SSL для ненадежного сертификата? , и это, кажется, решает половину моей проблемы, но я пытаюсь выяснить, как по-прежнему проверять сертификат для хоста один Я ожидаю увидеть и не отличаться.

1 Ответ

2 голосов
/ 20 апреля 2010

Попробуйте реализовать метод делегата для NSURLConnection

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge

Тогда следующее будет содержать хост

[[challenge protectionSpace] host]

Затем вы можете продолжить, позвонив по одному из следующих номеров:

continueWithoutCredentialForAuthenticationChallenge:

cancelAuthenticationChallenge:

useCredential:forAuthenticationChallenge:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...