Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 и РУСБ.10015-10 (очередное обновление 1.7)
- Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
- Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2
- Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
Astra Linux Common Edition 2.12
Данная статья предназначена в первую очередь для разработчиков, чьи программные продукты, разработанные в среде Windows, должны работать на компьютерах под управлением ОС Astra Linux Special Edition в условиях применения Замкнутой Программной Среды (ЗПС). Для того, чтобы ЗПС позволила запуск добавляемых разработчиками файлов (исполняемых файлов и файлов библиотек), запускаемые файлы должны быть подписаны. Предлагаемый сценарий позволяет автоматизировать задачу подписания файлов загружаемых библиотек (DLL) и проверки подписей. Подпись сохраняется непосредственно в подписанных файлах в формате, совместимом с ЗПС Astra Linux. См. также Wine: часто задаваемые вопросы.
Это способ подписания может также применяться к файла формата elf (исполняемые файлы и библиотеки Astra Linux). Для подписания таких файлов следует использовать опцию -R сценария.
В данной статье предполагается, что комплект ключей для подписи ПО уже получен. В ином случае требуется запросить такой комплект (см. Как получить ключи для подписи СПО).
Также в данной статье предполагается, что:
- Текст сценария, приведенный в настоящей статье, скопирован в файл signdll;
- ЗПС выключена, так как используемые библиотеки Python ciffi и xattr устанавливаются из стороннего репозитория и не подписаны;
- Для установки библиотек Python cffi и xattr настроен доступ в Интернет.
Исходный код сценария
Установка пакетов и настройка ключей
Приведенный выше текст сценария скопировать в файл сделать этот файл исполняемым:
Для обновлений Astra Linux Special Edition более ранних чем обновление x.7 сначала установить библиотеку cffi:
pip3 install cffiУстановить библиотеку xattr:
pip3 install xattr
Перед выполнением подписания импортировать секретный ключ (предполагается, что он уже получен):
Синтаксис вызова сценария
Параметры вызова сценария:
- -p, — pgoptions передать следующие параметры программе bsign;
- -R — replace - заменить оригинальный DLL не изменяя его имя. Позволяет также подписывать файлы формата elf;
- -w — проверка подписи;
- -h — вывод краткой подсказки.
Пример вызова сценария
Для подписания одного файла
Пример вызова для подписания файла test.dll (предполагается, что сценарий и подписываемый файл находятся в одном каталоге):
После вызова сценария ввести пароль из файла org_password.txt.
При успешном подписывании в текущем каталоге будет создан файл test_signed.dll.
Для подписания пакета файлов
Получить шестнадцатеричный идентификатор ключа командой:
Для проверки подписи файла
Пример проверки подписи файла test.dll: