Браузер Chromium-Gost — веб-браузер с открытым исходным кодом на основе Chromium с поддержкой криптографических алгоритмов ГОСТ (в соответствии с методическими рекомендациями ТК 26) при установке защищённых соединений через интерфейс msspi.

Основной задачей проекта является техническая демонстрация возможности встраивания ГОСТ в браузер с открытым исходным кодом Chromium. Данное технологическое решение может помочь разработчикам адаптировать браузер при встраивании поддержки ГОСТ.

Компания КриптоПро не является правообладателем браузера Chromium-Gost и не отвечает за его функционирование и поддержку на регулярной основе, продукт развивает и поддерживает сообщество разработчиков на безвозмездной и добровольной основе, среди которых важную роль составляют специалисты КриптоПро.

Скачать

Браузер Chromium-Gost доступен для Windows, Linux, MacOS, Android.

Ссылки для скачивания актуальных сборок и основная ветка разработки:
https://github.com/deemru/chromium-gost/releases/latest

Версия браузера Chromium-Gost для Windows XP:
https://github.com/deemru/chromium-gost/releases/tag/49.0.2623.112

Обсуждение и отзывы по проекту:
https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=9991

Требования к системе

Для работы с алгоритмами ГОСТ требуется наличие в системе криптопровайдера, поддерживающего работу с российской криптографией.

В качестве криптопровайдера мы рекомендуем использовать КриптоПро CSP. Для работы с защищёнными соединениями не требуется покупка лицензии КриптоПро CSP, кроме того КриптоПро CSP имеет 90-дневный ознакомительный период с работой всех функций программы, включая работу с долговременными ключами и подписями на их основе. Для скачивания КриптоПро CSP достаточно пройти простую процедуру регистрации на сайте.

Проверка работоспособности

Если соответствующий криптопровайдер установлен в системе, то проверить работоспособность браузера Chromium-Gost, можно перейдя по ссылке на сервис для разработчиков https://gost.cryptopro.ru

Сертификат сайта должен выглядеть следующим образом, что подтверждает установку защищённого соединения по алгоритмам ГОСТ:

Альтернативный вариант проверки — через панель разработчика:
- Находясь в браузере, нажмите F12, откроется панель разработчика браузера
- Перейдите на вкладку Security

- Находясь на вкладке Security, обновите страницу (1 — на картинке ниже)
- Перейдите на появившуюся закладку https://gost.cryptopro.ru/ (2 — на картинке ниже)
- Проверьте данные соединения и сертификата (3 — на картинке ниже)

Если у вас показывается другой сертификат (примеры ниже), то попробуйте переустановить криптопровайдер и перезапустить браузер Chromium-Gost.

Или в альтернативном варианте проверки — если соединение не по ГОСТ:

Если у вас по какой-то причине не установлены корневые сертификаты (перечёркнут https, как на картинке ниже), мы рекомендуем переустановить криптопровайдер, воспользовавшись универсальным установщиком КриптоПро CSP с автоматической установкой необходимых корневых сертификатов.

Принцип работы

Оригинальная реализация Chromium при установке защищённых соединений использует библиотеку BoringSSL, которая не поддерживает криптографические алгоритмы ГОСТ. Для обеспечения работы ГОСТ-алгоритмов используется интерфейс msspi, который может поддерживать соответствующие алгоритмы, используя установленный в систему криптопровайдер.

При запуске браузера определяется наличие технической возможности работы криптографических алгоритмов ГОСТ через интерфейс msspi. В случае успеха при установке очередного защищённого соединения помимо оригинальных идентификаторов алгоритмов в пакете будут отправлены идентификаторы алгоритмов ГОСТ.

Если сайт поддерживает работу по ГОСТ, он может отреагировать на наличие этих идентификаторов предложением работы на ГОСТ-алгоритмах. Тогда защищённое соединение в рамках BoringSSL установлено не будет, так как BoringSSL не поддерживает ГОСТ, но поступит сигнал о соответствующей ошибке.

В случае возникновения подобного сигнала для данного сайта происходит переключение в режим работы интерфейса msspi. Если защищённое соединение успешно устанавливается через интерфейс msspi, сайт отмечается поддерживающим алгоритмы ГОСТ и все последующие с ним соединения будут использовать интерфейс msspi.

Для пользователя данный алгоритм работы остаётся прозрачен, так как Chromium автоматически устанавливает повторное соединение через интерфейс msspi.