Раньше считалось, что если сайт не открывается в Chrome для Android, проще поставить второй браузер или лезть в системные настройки. Теперь выяснилось, что проблему можно решить точечно — на уровне самой сборки браузера, не трогая хранилище Android. Именно так устроен Ruthenium: он добавляет поддержку корня Russian Trusted Root CA только внутри Chromium.
Контекст: почему вообще возникла такая сборка
Некоторые банки и государственные сервисы используют TLS-цепочки, которые заканчиваются на корне Russian Trusted Root CA. Обычный Chrome для Android такой сайт не принимает: браузер не находит нужный корень в хранилище Chromium и показывает ошибку проверки сертификата.
Автор Ruthenium хотел сохранить привычный интерфейс Chrome и не заводить отдельный браузер для нескольких адресов. Поэтому он взял стабильный Chromium для Android, добавил корень с ограничениями и собрал отдельный APK. На выходе получился браузер, который работает с такими цепочками, но не меняет системные настройки устройства.
Если вам интересна сама логика проверки сертификатов, посмотрите наш разбор 0-day в Metabase уже используют для кражи данных и материал В Linux нашли дыру, которая 18 лет вела к root-доступу — оба текста хорошо показывают, почему точность в цепочках доверия так важна.
Какие есть варианты и чем они отличаются
Оставить всё как есть
Это самый простой путь, но он часто упирается в ошибку сертификата. Пользователь видит отказ в соединении и не понимает, дело в браузере, в сайте или в настройках устройства.
Плюс здесь один — ничего не надо менять. Минус очевиден: если сайт опирается на корень, которого нет в хранилище браузера, соединение не поднимется.
Поставить браузер с уже встроенной поддержкой
Такой вариант закрывает проблему быстро. Но он тянет за собой новый интерфейс, новую синхронизацию привычек и ещё один набор настроек.
Для человека, который привык к Chrome, это не всегда удобно. Именно от этой лишней миграции Ruthenium и пытается уйти.
Добавить корень в системное хранилище Android
Технически это решает вопрос шире, но затрагивает всё устройство. Любое приложение, которое доверяет системному хранилищу, получает новый корень автоматически.
Для корпоративного телефона или личного смартфона с чувствительными данными это уже не точечная правка, а изменение всей модели доверия. Автор проекта как раз и отказался от такого шага.
Собрать Chromium с ограниченным корнем
Это наиболее аккуратный вариант. Ruthenium добавляет Russian Trusted Root CA только в хранилище браузера и ограничивает его зонами .ru и .рф, то есть доверие не расползается на весь интернет.
У подхода есть и слабое место: текущая настройка лучше всего работает для DNS-имён, а не для всех возможных типов идентификаторов в сертификате. Но для типичного сценария с сайтами банков и госресурсов этого часто достаточно.
Кому какой подход подходит
Если вам нужен один-два адреса, а остальное время вы работаете в привычном браузере, сборка вроде Ruthenium выглядит разумнее всего. Она не меняет систему и не заставляет переучиваться.
Если же вы администрируете парк устройств, лучше смотреть на системную политику и централизованное управление сертификатами. Там важны предсказуемость, аудит и одинаковое поведение всех приложений.
А если задача — просто проверить, почему сайт не открывается, сначала стоит исключить банальные причины: неверное время на телефоне, битый кэш, проблемы с сетью или ошибку на стороне самого ресурса. В таких случаях помогает и обычная диагностика браузера, и наш материал о защите входа в аккаунты по типу инстаграм вход в аккаунт через браузер — там мы разбираем, где заканчиваются проблемы сервиса и начинается поведение устройства.
Что важно в самой реализации
Проект не вводит собственный TLS-верификатор. Chromium по-прежнему проверяет имя сайта, срок действия сертификата и подписи, а Ruthenium лишь добавляет корень с ограничениями.
Чтобы корень не подменили на этапе сборки, автор привязал его к lock-файлу и сверяет SHA-256 перед компиляцией. Это нормальная практика для сборок, где доверие к сертификату не должно зависеть от ручных правок.
Есть и практические ограничения. В Ruthenium отключены лишние XR-функции, вход в аккаунт на уровне браузера по умолчанию запрещён, а приложение хранит свои данные отдельно от обычного Chrome. Для пользователя это означает более узкий, но и более контролируемый профиль работы.
Рекомендация
Если вам нужен браузер для Android, который открывает сайты с корнем Russian Trusted Root CA и не трогает системные настройки, такая сборка выглядит интереснее простого переключения на другой браузер. Но это решение именно для узкого сценария — не для всех сайтов и не для всех задач.
Для повседневной работы важнее не сам факт поддержки корня, а дисциплина: проверять адрес сайта, не игнорировать предупреждения браузера и не ставить сертификаты наобум. В защите данных точечная настройка часто лучше, чем радикальная переделка всего устройства.
Практический чек-лист
- Проверьте, действительно ли ошибка связана с сертификатом, а не с временем на устройстве или сбойной сетью.
- Если речь о банке или госсервисе, посмотрите, какой корень указан в цепочке доверия.
- Не добавляйте корневые сертификаты в систему без понимания последствий для всех приложений.
- Для узких сценариев держите отдельный браузерный профиль или отдельную сборку браузера.
- Не используйте сомнительные APK и проверяйте подпись сборки перед установкой.
- Для командировок и поездок заранее готовьте устройство: обновления, резервные копии и дополнительный слой защиты для поездок.
Комментарии (0)
Будьте уважительны. Спам и ссылки на сторонние сервисы скрываются модерацией.
Пока комментариев нет. Вы можете быть первым.