/chromium-gost

Chromium с поддержкой алгоритмов ГОСТ

Primary LanguageC++MIT LicenseMIT

chromium-gost

version windows linux macos

chromium-gost — веб-браузер с открытым исходным кодом на основе Chromium с поддержкой криптографических алгоритмов ГОСТ при установке защищённых соединений через интерфейс msspi

chromium-gost доступен для операционных систем Windows, Linux и MacOS. Вы можете скачать соответствующий дистрибутив в chromium-gost/releases/latest

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

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

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

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

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

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

Обсуждение

Добро пожаловать на форум: https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=9991

Сборка

appveyor

  • Освоить сборку оригинального проекта ChromiumGet the code: check out, build, and run Chromium
  • Извлечь chromium-gost
  • Использовать скрипты из build_linux, build_mac или build_windows
  • Скорректировать пути — chromium-gost-env
  • Подготовить сборку — chromium-gost-prepare
  • Собрать библиотеку gostsslchromium-gost-build-gostssl
  • Собрать дистрибутив chromium-gostchromium-gost-build-release