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

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

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

Производитель для этих целей предлагает скрипт, который распаковывает, подписывает и запаковывает. Устали от него? Мы сделали новый!

dh-gostsign

Не первый год в разработке? Все правильно: это модуль для devscripts, который подписывает ELF-файлы в процессе сборки пакета. Работает это так: после всех модификаций файлов, перед последними шагами сборки, запускается наша команда dh_gostsign. Утилита рыскает по содержимому будущих deb-пакетов и подписывает найденные ELF-файлы.

Какие плюсы? А вот они:

  1. Пакеты штатно собираются и пакуются стандартными средствами, без магии с контрольными суммами, правами и пользователями.
  2. Инструмент умеет подписывать с соблюдением требований по повторяемости сборки.
  3. Применяет грубую силу для обхода глюков bsign (а их хватает при работе не в лабораторных условиях).

Инструкция

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

gpg --list-keys

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

Build-Depends: dh-gostsign-lab50

Делай три. В последовательность сборки debhelper’а (debian/rules) добавьте модуль gostsign:

%:
        dh $@ --with gostsign

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

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

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

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

Блог

.Net Core для Astra Linux и «ОСновы»

12 августа 2022

«Лаборатория 50» в дополнении к ранее выпущенному программному комплексу «Моно» выпустила .Net Core 6 для российских операционных систем Astra Linux и «Основа», а также для свободной ОС Debian.

Репозиторий с обновлениями безопасности Astra Linux Special Edition

Лаборатория 50 на протяжении 5 лет поддерживает репозиторий с обновлениями безопасности Astra Linux Special Edition.

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

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

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





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