UIWebView с проверкой подлинности сервера доверия - PullRequest
2 голосов
/ 16 ноября 2010

Я работаю над веб-представлением, которое должно работать только с теми серверами, которым я доверяю (на основе рукопожатия SSL), а не со всеми, одобренными Apple.

Есть ли способ перехватитьСоединение UIWebView, чтобы я мог контролировать проверку подлинности запроса?

Когда я использую метод UIWebView loadRequest: нет способа получить вызов SSL (поскольку он не является частью протокола UIWebViewDelegate).

Альтернативой является получение запроса, который собирается отправить UIWebView (с помощью функции обратного вызова делегата webView: shouldStartLoadWithRequest: navigationType :), указание UIWebView не загружать его и отправка запроса с использованием NSURLConnection (используя методы делегирования для рукопожатия SSL).логика).и когда соединение заканчивается, загрузка данных, которые он получает, в UIWebView (используя метод загрузки loadData: MIMEType: textEncodingName: baseURL :).Этот обходной путь работает для простых сайтов, но сложные сайты (JS, CSS ...) могут не работать.

Спасибо!

1 Ответ

0 голосов
/ 26 января 2011

У меня была похожая проблема при попытке отобразить веб-страницу, для которой истек срок действия сертификата. Я нашел этот пост , который показал мне, как использовать протокол на NSURLRequest, чтобы переопределить метод allowsAnyHTTPSCertificateForHost.

Он подчеркивает, что это может или не может быть принято Apple - однако для моего развития это экономит мое время.

Вы можете использовать эту технику для вашего решения.

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