Давно у нас в блоге мы не предлагали рецепты для разработчиков. Сегодня исправляемся.

Подпись ЗПС при сборке

Если вы разрабатываете для Astra Linux Special Edition и упаковываете ваше ПО в deb-пакеты, то наверняка сталкивались с задачей подписи исполняемых файлов для работы в ЗПС.

Производитель для этих целей предлагает скрипт, который распаковывает, подписывает и запаковывает. Устали от него? И мы когда-то устали. Поэтому сделали urbi et orbi утилиту dh_astrasign (ранее dh_gostsign). Утилита позволяет автоматизировать всю рутину по подписи, сохраняя рекомендации производителя.

Время идёт, обновляется Астра. И в новых версиях Astra Linux Special Edition — 1.7 и 1.8 появилась возможность всё делать элегантнее и проще.

И вуаля, встречайте…

dh-astrasign

dh-astrasign — это новая версия dh-gostsign, которая:

  1. Была переименована в связи с широким распространением механизма цифровых подписей в Linux. Название должно однозначно указывать на целевую ОС.
  2. Использованы механизмы подключения, появившиеся в 12-ой версии DebHelper.

На втором пункте остановимся подробнее. dh-astrasign это подключаемый модуль для системы сборки DebHelper. Он добавляет в последовательность сборки deb-пакета вызов команды dh_astrasign, которая подписывает все найденные файлы ELF. Данная команда встраивается в последовательность DebHelper после выполнения dh_strip.

Подключение дополнительный модулей производится с помощью параметра --with команды dh в файле debian/rules:

%:
        dh $@ --with moduleN --with astrasign

В версии DebHelper 12 появился способ включения модулей без модификации файла debian/rules. Если в сборочных зависимостях пакета встречается пакет с названием dh-sequence-модуль, то DebHelper автоматически подключит этот модуль при сборке.

Поэтому теперь подписать бинарники любого пакета требуют минимального вмешательства: достаточно добавить пакет dh-sequence-astrasign в Build-Depends.

Инструкция

Делай раз. Проверьте наличие подписи с ключём командой

gpg --list-keys

Делай два. Добавьте зависимость для сборки вашего пакета (debian/control):

Build-Depends: dh-sequence-astrasign

Что еще нужно знать

  • Команда dh_astrasign следует всем канонам devscripts и понимает стандартные аргументы команд и флаги DH_VERBOSE.
  • При подписи ставит отметку времени из SOURCE_DATE_EPOCH.
  • Может подбирать идентификатор необходимой подписи из переменной окружения ASTRASIGN.
  • Собранный пакет dh-astrasign-lab50 для ALSE 1.7/1.8 лежит в нашем репозитории.
  • Все остальное искать здесь: gitlab.com/lab50/dh-gostsign.

0 комментариев

Что у нас
нового

Блог

Astrasign: новая версия инструмента gostsign

29 января 2025

Давно у нас в блоге мы не предлагали рецепты для разработчиков. Сегодня исправляемся.

Обновление Astra Linux 1.7 и 1.8

24 января 2025

Вышли оперативные обновления Astra Linux 1.7 и 1.8.

Наши
контакты

Связаться с нами

Телефон: 8 (812) 981-68-09
Электронная почта: team@lab50.net






    Заполняя данную форму, вы принимаете условия Соглашения об использовании сайта, и соглашаетесь с Правилами обработки и использования персональных данных