У меня есть ссылка, которая откроется в webview. Проблема в том, что он не может быть открыт, пока я не переопределяю onReceivedSslError следующим образом:
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
}
Я получаю предупреждение о безопасности от игры Google, говоря:
Предупреждение о безопасности В вашем приложении небезопасная реализация обработчика WebViewClient.onReceivedSslError. В частности, реализация игнорирует все ошибки проверки сертификата SSL, делая ваше приложение уязвимым для атак типа "человек в середине". Злоумышленник может изменить затронутый контент WebView, прочитать переданные данные (например, учетные данные для входа) и выполнить код внутри приложения с помощью JavaScript.
Чтобы правильно обрабатывать SSL-сертификат, измените свой код, чтобы вызывать SslErrorHandler.proceed(), когда сертификат, представленный сервером, соответствует вашим ожиданиям и вызывает в противном случае SslErrorHandler.cancel(). На ваш адрес учетной записи разработчика отправлено уведомление по электронной почте, содержащее затронутые приложения и классы (ы).
Просьба устранить эту уязвимость как можно скорее и увеличить номер версии обновленного APK. Дополнительные сведения о обработчике ошибок SSL см. В нашей документации в Справочном центре разработчика. По другим техническим вопросам вы можете отправить сообщение https://www.stackoverflow.com/questions и использовать теги "android-security" и "SslErrorHandler". Если вы используете стороннюю библиотеку, которая отвечает за это, сообщите об этом третьей стороне и поработайте с ними, чтобы решить эту проблему.
Чтобы убедиться, что вы правильно обновили, загрузите обновленную версию в консоль разработчика и загляните назад через пять часов. Если приложение не было правильно обновлено, появится предупреждение.
Обратите внимание, что, хотя эти конкретные проблемы могут не повлиять на каждое приложение, использующее WebView SSL, лучше всего оставаться в курсе всех патчей безопасности. Приложения с уязвимостями, которые подвергают пользователей риску компрометации, могут считаться опасными продуктами в нарушение Политики контента и раздела 4.4 Соглашения о распространении программного обеспечения.
Пожалуйста, убедитесь, что все опубликованные приложения соответствуют Соглашению о распространении программного обеспечения и Политике контента. Если у вас есть вопросы или проблемы, обратитесь в нашу службу поддержки через Справочный центр разработчика Google Play.
Если я удалю onReceivedSslError (handler.proceed())
, страница не откроется.
В любом случае я могу открыть страницу в веб-браузере и избежать предупреждения о безопасности.