Установка расширений в Хром без интернета

Ситуация: Есть некий заказчик, у которого в закрытой сети работают сотрудники. Внутри, помимо прочего, есть веб-сайты с приложениями, для доступа к которым используется обычный Google Chrome. Внезапно уже им поставили задачу - перейти на ГОСТ. Везде. Пришлось им ставить Крипто-Про, разворачивать ГОСТовскую криптографию, и ставить известный в узких кругах софт CAdEs-plugin (или как там правильно в тамошнем капсе) для работы с ЭП. Софт состоит из двух частей - локальной программы и браузерного плагина, и с установкой последнего возникли сложности. Я думаю, что подобная ситуация может возникнуть не только с конкретно этим расширением, поэтому решил написать статью со сводкой необходимой информации в одном месте.

Механизм установки был определен давно - групповые политики, благо Хром их поддерживает довольно давно. Однако все описания установки расширений через политики оказались, мягко скажем, неполными либо устаревшими, и их применение в тестовом домене не приводило к успеху. В то же время, стоило включить доступ в Интернет, и расширения прекрасно устанавливались, но только если не указывать место, где проверять обновления.

Политики установки описаны здесь - относительно известное место в Гугле, которое легко ищется встроенным поисковиком, но не описывает достаточно деталей, чтобы настроить автоматическую установку без доступа в Интернет. Если присмотреться, абсолютно все примеры отсылают к установке через https, причем стабильно с URL магазина Google. Другие результаты в Интернете намекали на возможность использования в качестве источника файлов UNC-путей (т.е. общих файловых ресурсов).

Дальнейший поиск спустя солидное время и много подходов привел вот на этот нерешенный вопрос в поддержке Гугла, где внезапно обнаружился недостающий, как впоследствии оказалось, один из двух, элемент, необходимый для решения задачи - шаблон XML-файла с примером, который у пользователя как раз не работал. Сам файл представляет собой структуру ответа Google Update с выделенным элементом приложения, местом нахождения обновления и его версией. Выглядит шаблон так:

<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
  <app appid='ID'>
    <updatecheck codebase='file:///UNC-PATH-TO-CRX-FILE' version='VERSION' />
  </app>
</gupdate>

Что меня порадовало больше всего, так это указание, в каком формате правильно задавать UNC-путь. Быстрая проверка показала, что нет, не всё так легко, и файл с расширением, заботливо скачанный ещё в самом начале, оказался не у дел. Зато в соседних политиках с ExtensionInstallForcelist нашлись некоторые дополнительные настройки, из которых удалось собрать полный паззл.

Итак, для того, чтобы установить расширение в управляемый Хром без доступа в Интернет понадобилось настроить три политики, создать один файл и выложить само расширение в доступное место. Политики были следующими:

После такой настройки политик Chrome успешно установил расширение из файла в общей папке.

@vesper-bot
09.12.2021 00:36 UTC
Первоисточник

Комментарии

@Dzzzen
11.12.2021 16:05 UTC
0

А вариант использовать браузер с поддержкой ГОСТ-шифрования не рассматривался (яндекс.браузер или спутник)?

@vesper-bot
12.12.2021 07:04 UTC
+1

Нет данных. Там над выдавшим мне задачу 3 или 4 уровня начальства до того, кто согласовывает/утверждает/отвечает за ПО на компах работников, и уже второй из этих уровней оказался трухлявым дубом.

@mevron
28.12.2024 11:44 UTC
0

Так установка Яндекс.Бразуер с КриптоПро (https://browser.yandex.ru/corp/cryptopro) точно так же не запустит плагин CAdEs-plugin, если браузер не сможет достучаться до магазина Google.

Автору респект, статья актуальна до сих пор.