Инструмент командной строки bsign обеспечивает создание контрольных сумм (hash, далее — хеш) и подписей. Создаваемые подписи могут использоваться для проверки неизменности файлов в режиме замкнутой программной среды. Подробнее про работу с замкнутой программной средой см. Ограничения программной среды в Astra Linux Special Edition x.8.
Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.8
Общую справку по опциям инструмента bsign можно получить командой:
Общий синтаксис команды:
Для успешной проверки подписей ключи должны быть загружены в таблицу ключей пользователя, от имени которого выполняется проверка. Например, для загрузки предустановленных ключей:
Команда без опций выводит краткую информацию о подписях указанного файла, например:
bsign: good hash found in '/usr/bin/cat'
bsign: no xattr hash found for '/usr/bin/cat'
bsign: no detached hash found for '/usr/bin/cat'
Опции команды:
Опция | Описание |
---|---|
Операции с подписями. После этих опций может быть указан тип подписи, с которой должна выполняться операция | |
-c, --check-hash | Проверить хеш файла |
-H, --hash | Записать только хеш, удалив подпись, если она есть |
-s, --sign | Сформировать и записать сформированную подпись. Тип и место размещения подписи определяются следующей опцией: -A, -D, -E, -X. Начиная с версии bsign 1.4.1 по умолчанию используется встраиваемая подпись (-E). В версиях 1.2.1 — 1.4.1 тип подписи автоматически определяется в зависимости от формата файла (ELF или PE). В более ранних обновлениях используется встраиваемая подпись и, в некоторых версиях, подпись в расширенных атрибутах |
-V, --verify | Проверить подписи в файле. |
-w, --show-info | Вывести информацию о подписях |
Типы подписей. Перед этими опциями должна быть указана выполняемая операция | |
-A, --attached | Встраиваемая подпись, добавляемая в конце файла (только для файлов в формате PE) |
-D, --detached | Отсоединенная подпись |
-E, --elf-only | Встраиваемая подпись в секции подписи (только для файлов формата ELF) |
-X, --xattr | Подпись в расширенных атрибутах файла (при условии, что файловая система поддерживает расширенные атрибуты) |
Прочие опции | |
-p, --pgoptions=<опция> | Передать опцию программе pgp |
-x, --extract-sig | Вывести в стандартный вывод (stdout) цифровую подпись |
-y, --extract-full-sig | Вывести полную цифровую подпись (512 байт) |
-e, --exclude=<путь> | Добавить путь в список исключений |
-f, --files=<имя_файла> | Использовать строки в указанном файле как имена обрабатываемых файлов (вместо имени файла можно указать символ минус для использования стандартного ввода) |
-i, --include=<путь> | Добавить путь в список перебора |
-I, --ignore-unsupported | Игнорировать (не выводить сообщения об ошибках) неподдерживаемые файловые объекты (каталоги и файлы не формата elf) |
--nosymlinks | Рассматривать символьные ссылки как неподдерживаемые файлы |
-o, --output=<имя_файла> | Сохранить обработанный файл в указанном файле |
-T, --detached-path=<путь> | Каталог для сохранения отсоединенных подписей (по умолчанию — каталог /etc/digsig/external_sig) |
-d, --debug | Выводить отладочную информацию |
-G, --hide-good-sigs | Не выводить сообщения о правильных подписях |
-q, --quiet | Не выводить сообщения, результат работы определяется по коду завершения |
-S, --summary | Печатать отчет о выполнении после обработки последнего файла |
-v, --verbose | Выводить подробную информацию о ходе выполнения |
-1, --xml | Формировать вывод в формате xml |
-9, --gost94 | Использовать для подписания устаревший алгоритм ГОСТ Р34.11-94 |
-N, --nopass | Не запрашивать пароль ключа |
-?, --help | Вывести список опций |
--usage | Вывести краткий список опций |
--version | Вывести версию программы и справку о правах |
Примеры:
- Вывести информацию обо всех подписях в файле:bsign -w /usr/bin/cat
version: 1
id: bsign v1.0
hash: {GOST R34.11-2012} 99d9ceffdef23b6f515a857ee30a39bb0d796fff9c11e4c0dee1cc2a8a6d9f78
signature_size: 119
signature:
88 75 04 00 23 0c 00 1d 16 21 04 80 66 e9 bd 22
01 d9 78 3e 2d 84 2b d2 b6 68 9a 37 db 80 24 05
02 67 3c 5a 96 00 0a 09 10 d2 b6 68 9a 37 db 80
24 51 55 00 fe 39 ca 7d 9c 17 8c e4 3b 65 7a da
74 6b bd 15 a1 4e 05 f2 db 0f 0b 1b 91 c0 96 39
bd fd bb af 70 00 fe 24 17 02 29 97 46 00 36 02
09 a3 0e 97 42 c2 c3 86 2d 40 dd 48 ce 29 00 8f
8c c9 70 50 25 41 8b
signer: D2B6689A37DB8024
timestamp: 19 Nov 2024 12:29:58 (1732008598)
bsign: good hash found in '/usr/bin/cat'
bsign: no xattr hash found for '/usr/bin/cat'
bsign: no detached hash found for '/usr/bin/cat' - Проверить только встраиваемую подпись ELF (ключи для проверки должны быть загружены в таблицу ключей пользователя, от имени которого выполняется загрузка):bsign -V -E /usr/bin/cat
bsign: good signature found in '/usr/bin/cat'