Оглавление | ||
---|---|---|
|
Информация | ||
---|---|---|
| ||
|
GnuPG позволяет защищать
и подписывать данные, предоставляя развитую систему управления ключами, которая включает в себя модули доступа ко всем типам каталогов открытых ключей.
Оглавление | ||
---|---|---|
|
Переменные окружения
Переменная $GNUPGHOME
используется GnuPG для определения каталога, в котором хранятся все настройки. По умолчанию $GNUPGHOME
не установлена и используется домашний каталог текущего пользователя. Таким образом, после установки появится новый каталог ~/.gnupg
. Можно указать другой каталог для GnuPG, добавив след. строку в ~/.profile:
Блок кода | ||
---|---|---|
| ||
export GNUPGHOME="/путь/до/каталога" |
Управление ключами
Импортирование ключей
Ключи
GnuPG ключ состоит из двух частей: закрытый (приватный) ключ и открытый (публичный) ключ:
- Закрытый ключ хранится у владельца, закодирован защитным преобразованием и защищен паролем;
- Открытый ключ - свободно распространяется.
С помощью закрытого ключа можно:
- Подписывать данные;
- Восстанавливать данные, закодированные защитным преобразованием с соответствующим открытым ключем.
Для выполнения всех операций, использующих закрытый ключ, нужно вводить пароль (парольная фраза).
С помощью открытого ключа можно:
- Проверять подпись данных;
- Выполнять защитное преобразование данных.
Управление ключами
Создание ключа
Для создания пары закрытый-открытый ключ используется утилита gnupg:
Command |
---|
gpg --gen-key |
Экспорт ключей
Экспорт открытого ключа:
Command |
---|
gpg --export 12345678 > /home/user/public.key |
Где 12345678 идентификатор ключа.
Экспорт закрытого ключа:
Command |
---|
gpg --export-secret-keys 12345678 > /home/user/private.key |
Где 12345678 идентификатор ключа.
Импорт ключей
Импорт открытого ключа Импортировать открытый ключ в список открытых ключей:
Command |
---|
gpg --import public.key |
Импортировать закрытый ключ Импорт закрытого ключа в список закрытых ключей:
Command |
---|
gpg --import private.key |
Отображение ключей
Для вывода Вывод списка открытых ключей:
Command |
---|
gpg --list-keys |
Для вывода Вывод списка закрытых ключей:
Command |
---|
gpg --list-secret-keys |
Защитное преобразование и
дешифрованиевосстановление данных
Для шифрования выполнения защитного преобразования данных необходимо импортировать открытый публичный ключ. Дешифрование Восстановление данных происходит с помощью соответствующего закрытого ключа Е
Если импортировано несколько ключей, сть возможность использовать сразу несколько ключей. В этом случае вам будет необходимо указать идентификатор ключа нужного ключа. Для этого используйте опцию -u <идентификатор_ключа>
, иначе будет использован ключ, выбранный по умолчанию.
Чтобы зашифровать файл:
Command |
---|
gpg --encrypt -o file.tar.gpg file.tar |
Для того чтобы расшифровать файл:
Command |
---|
gpg --decrypt file.tar.gpg |
Подпись ПО
Подписывание пакетов должно осуществляться от имени администратора через механизм sudo. Закрытый ключ для подписывания должен быть импортирован в набор его ключей командой:
панель | ||||
---|---|---|---|---|
| ||||
gpg --import key_for_signing.key |
Для подписывания пакетов может быть использован скрипт. Скрипт должен запускаться от имени пользователя root. В качестве первого аргумента должен быть указан полный путь до каталога, содержащего пакеты, которые необходимо подписать. В качестве второго аргумента должен быть указан каталог, в который будут помещаться подписанные пакеты.
Для корректной работы скрипта в строке:
панель | ||||
---|---|---|---|---|
| ||||
bsign -s --pgoptions "--default-key=A42E56D6" $file |
следует указать идентификатор ключа (слово A42E56D6
), с помощью которого необходимо подписать пакет. Идентификатор ключа можно получить, используя команду:
панель | ||||
---|---|---|---|---|
| ||||
gpg --list-keys |
Подписывание ПО в среде операционной системы специального назначения «Astra Linux Special Edition» версии 1.5 ключом, сгенерированным для более ранних версий
Подписывание пакетов должно осуществляться от имени администратора через механизм sudo. Закрытый ключ для подписывания должен быть импортирован в набор его ключей командой:
панель | ||||
---|---|---|---|---|
| ||||
gpg --import key_for_signing.key |
Для подписывания пакетов может быть использован скрипт. Скрипт должен запускаться от имени пользователя root. В качестве первого аргумента должен быть указан полный путь до каталога, содержащего пакеты, которые необходимо подписать. В качестве второго аргумента должен быть указан каталог, в который будут помещаться подписанные пакеты.
Для корректной работы скрипта следует заменить строку:
Выполнение защитного преобразования данных, находящихся в файле file.tar
, с сохранением результата в файле file.tar.gpg
(опция -o), для пользователя <имя_пользователя> (опция -r, открытый ключ этого пользователя предварительно должен быть импортирован):
Command |
---|
gpg --encrypt -r <имя_пользователя> -o file.tar.gpg file.tar |
Восстановление данных получателем (обладателем закрытого ключа):
Command |
---|
gpg --decrypt file.tar.gpg |
Подсказка | ||||||
---|---|---|---|---|---|---|
| ||||||
bsign -s --pgoptions "--default-key=A42E56D6" $file |
на:
Подсказка | ||
---|---|---|
| ||
bsign -s -9 --pgoptions "--default-key=A42E56D6" $file |
и указать идентификатор ключа (в нашем примере это A42E56D6, у Вас этот идентификатор будет другим), с помощью которого необходимо подписать пакет. Идентификатор ключа можно получить, используя команду:
панель | ||||
---|---|---|---|---|
| ||||
gpg --list-keys |
Далее следуйте по документации
Мануалы GPG
Разбираемся в GnuPGThe internals of an OpenPGP key
Параноидальное описание параноидальной подписи