Как отобразить сертификат запроса HTTPS во встроенном WebView - PullRequest
4 голосов
/ 29 сентября 2011

В моем приложении Mac OS X я использую встроенный WebView для входа в OAuth для различных сервисов. Большинство из них используют HTTPS-запрос для формы авторизации, отображаемой в WebView.

Теперь мне нужно отобразить небольшую блокировку, как в Safari, как только соединение станет безопасным. Щелчок по этой блокировке должен открыть SFCertificatePanel, который отображает сертификат, используемый для этого запроса.

Можно ли это сделать в WebView для OS X? Я проверил всех делегатов, но не нашел отправляемого им полезного сообщения, чтобы отобразить этот значок замка или получить сертификат.

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 26 февраля 2013

Это звучит как довольно сомнительная идея для меня. Я подозреваю, что это не будет безопасным на практике, учитывая вероятное поведение пользователя и понимание пользователя (например, ментальные модели, которые пользователи имеют о безопасности).

Вот основная проблема. В окне вашего приложения нет места для отображения блокировки, которой пользователи могут доверять, и которую пользователи поймут и узнают, что это невозможно исправить, а пользователи знают, на что нужно обратить внимание. Вредоносному веб-сайту было бы слишком легко добавить изображение значка блокировки на свою страницу, и это может ввести пользователей в заблуждение, что HTTPS использовался, а на самом деле его нет. Вредоносный веб-сайт может даже сделать значок кликабельным, и, если пользователь нажмет на него, всплывет информация о поддельном сертификате. Большинство пользователей не надеются обнаружить такую ​​атаку.

Вместо этого, если вы знаете, что конкретный сайт должен использовать HTTPS, я предлагаю вам загрузить исходный URL-адрес, используя https:// URL-адрес. Поскольку вы указали URL-адрес для загрузки в WebView, вы знаете, что он будет использовать SSL. Насколько я знаю, это реально лучшее, что вы можете сделать из своего приложения. По крайней мере, я не могу придумать ничего лучшего, учитывая описание проблемы, указанное здесь.

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