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

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

Если вы разрабатываете для 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 комментариев

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

Блог

Обновление Astra Linux Special Edition 1.7.3

15 ноября 2022

Вышло оперативное обновление Astra Linux Special Edition № 2022-1110.

Моно в реестре Минцифры

25 октября 2022

«Моно» — открытая среда .Net для работы обычных и веб-приложений в среде Linux.
Теперь зарегистрирован в реестре отечественного программного обеспечения под номером № 15242.

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

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

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






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