Установить ключ по умолчанию в gpg для подписи

Вопрос или проблема

Я создал несколько ключей, используя gpg.

Когда я пытаюсь подписать файл, gpg автоматически использует первый созданный ключ. Как установить ключ по умолчанию для подписи в gpg? Я пока не хочу удалять/аннулировать другой ключ.

Или как я могу изменить ключи по умолчанию для подписи?

Чтобы выбрать ключ по умолчанию без необходимости указывать --default-key в командной строке каждый раз, создайте конфигурационный файл (если он еще не существует), ~/.gnupg/gpg.conf, и добавьте строку, содержащую

default-key <key-fpr>

заменив <key-fpr> на идентификатор или отпечаток ключа, который вы хотите использовать по умолчанию.

Эти шаги относятся к КАЖДОЙ подписи GPG. То есть, вы больше не хотите использовать утомительный --default-key в CLI.

Список ваших подписей:

gpg --list-signatures

Выберите ваш ключ для использования по умолчанию. Затем установите ключ по умолчанию:

echo 'default-key:0:"xxxxxxxxxxxxxxxxxxxx' | gpgconf --change-options gpg

Обратите внимание, что есть только ОДИН двойной кавычки, которая указывает на начало строки текста. Также обратите внимание, что вся команда echo окружена парой одиночных кавычек.

Есть три значения, разделенные двумя двоеточиями:

  • Первое — это параметр конфигурации “default-key”
  • Второе — почти всегда ‘0’, что означает, что специальный флаг не установлен. ‘16’ означает удаление ключа из его конфигурационного файла. Подробнее о специальных флагах.

Также для gpgconf, --change-options требует аргумента. Этот аргумент указывает имя компонента, которое помогает выбрать, какой конфигурационный файл изменить. Используемые имена компонентов обычно gpg для файла ~/.gnupg/gpg.conf и gpg-agent для файла ~/.gnupg/gpg-agent.conf. Подробнее об именах компонентов здесь.

Как только настройка ключа по умолчанию завершена, если вы хотите использовать другой ваш ключ, используйте --local-user <ваше имя> в командной строке gpg только для этого сообщения. Или более простой вариант -u <ваше имя>.

Обратите внимание, что -u или --local-user переопределяет этот --default-key в командной строке или в настройках gpg.conf.

Вы можете проверить, какой ваш текущий ключ по умолчанию для подписи, если таковой установлен, выполнив:

>echo "test" | gpg --sign --verbose

Если ключ по умолчанию настроен, будет выведено что-то вроде:

gpg: using "something here" as default secret key for signing

где something here — это то, что настроено в вашем файле ~/.gnupg/gpg.conf после ключевого слова default-key. Например:

default-key something here

Обратите внимание, что кавычки не используются. Вы можете указать всё, что обычно используете для идентификации ключа: ID, длинный, короткий или отпечаток с пробелами или без. Легко проверить, сработало ли это, потому что echo "test" | gpg --sign --verbose выведет ключ, который был действительно использован после предыдущей строки;

например, если я использую

default-key 8020B2666305EE2FD53E6827C155A4EEE4E527A2

Тогда я получаю:

>echo "test" | gpg --sign --verbose
gpg: enabled compatibility flags:
gpg: using pgp trust model
gpg: using "8020B2666305EE2FD53E6827C155A4EEE4E527A2" as default secret key for signing
gpg: writing to stdout
gpg: pinentry launched (530143 gnome3 1.3.1 - xterm-256color :0.0 - 1000/1000 0)
gpg: DSA/SHA512 signature from: "0xC155A4EEE4E527A2 Carlo Wood (CarloWood on Libera) <[email protected]>"
-----BEGIN PGP MESSAGE-----

owJ4nJvAy8zAJXgwdMm7J0/VFzGe5k5iSC+6eaoktbiEq6OUhUGQi0FWTJGlQWFT
WjLrO/2rdhnqMMWsTCCVDFycAjCRyQUM//1UhTudplzXq3yd1l/x1uTQjwnKv5rC
7siwdaz+/F1Sdz7D/4jrex99n9k78+ni6wq86/O27Enm04laJFYdr3SzJuObQjkA
zvZCkA==
=B0sh
-----END PGP MESSAGE-----

Показывает, что использовался 0xC155A4EEE4E527A2 (длинный id), что я также мог использовать вместо этого в ~/.gnupg/gpg.conf, т. е.

default-key 0xC155A4EEE4E527A2

.

Ответ или решение

Установка ключа по умолчанию для подписи в GPG

Когда в системе созданы несколько ключей с помощью GPG, часто возникает необходимость назначить один из них в качестве ключа по умолчанию для подписания. Это позволяет избежать указания --default-key на командной строке при каждом использовании GPG, что может быть неудобно и трудоемко. Рассмотрим процесс установки ключа по умолчанию для подписания шаг за шагом.

1. Определите ваш ключ

Во-первых, необходимо выяснить, какой ключ вы хотите установить по умолчанию. Для этого выполните команду:

gpg --list-signatures

Это позволит вам увидеть все доступные подписи и выбрать нужный ключ. Вы можете использовать как короткий, так и длинный идентификатор ключа, или даже его отпечаток.

2. Измените конфигурационный файл GPG

Чтобы установить выбранный ключ в качестве основного для подписания, отредактируйте или создайте файл конфигурации gpg.conf, расположенный в вашем домашнем каталоге .gnupg:

nano ~/.gnupg/gpg.conf

Добавьте (или измените) следующую строку, заменив <key-fpr> на идентификатор или отпечаток вашего ключа:

default-key <key-fpr>

3. Альтернативное использование команды gpgconf

Вы также можете использовать gpgconf для изменения настроек. Выполните следующую команду:

echo 'default-key:0:"xxxxxxxxxxxxxxxxxxxx' | gpgconf --change-options gpg

Обратите внимание на однозначную кавычку, которая используется для обозначения начала текстовой строки, и что вся команда echo заключена в одиночные кавычки.

4. Подтверждение изменений

Чтобы убедиться, что изменения вступили в силу, выполните команду:

echo "test" | gpg --sign --verbose

GPG должен вывести сообщение о том, какой ключ используется по умолчанию для подписания. Пример вывода:

gpg: using "мастер-ключ" as default secret key for signing

5. Динамическое изменение ключа

Если вам нужно подписать файл другим ключом, отличным от установленного по умолчанию, используйте опции --local-user <имя_ключа> или сокращенную -u <имя_ключа> на командной строке. Эти опции имеют более высокий приоритет, чем ключ по умолчанию.

Важные замечания

  • Убедитесь, что ваши изменения в gpg.conf сохранены и правильны.
  • Проверьте, что файлы конфигурации имеют надлежащие разрешения и не доступны для чтения другими пользователями системы.

Следуя данным шагам, вы сможете легко и удобно управлять вашими GPG-ключами, устанавливая нужный в качестве ключа по умолчанию для подписания.

Оцените материал
Добавить комментарий

Капча загружается...