Как импортировать закрытый ключ в GPG, чтобы он стал ключом по умолчанию?

26

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

gpg --allow-secret-key-import --import secret.gpg.key
gpg --import public.gpg.key

Ключи были экспортированы с -a.

После этого открытый ключ отображается правильно, когда я делаю a gpg --list-keys, а закрытый ключ - нет ( gpg --list-secret-keys).

Что я делаю не так?

Между прочим: я делаю это с Puppet, так что любое решение, которое не требует ввода текста ( --edit-keyи тому подобное), будет оценено.

Стефано Палаццо
источник
Не могли бы вы подробнее рассказать о том, что не так с gpg --list-secret-keysвыходом? У GPG нет флага для обозначения ключа по умолчанию. Он просто выбирает первый в этом списке по умолчанию. Если вам нужно изменить это поведение, я могу дать ответ.
gertvdijk

Ответы:

24

Чтобы изменить поведение GnuPG для того ключа, который он выбирает при подписании / шифровании, используйте default-keyпараметр конфигурации с идентификатором ключа в качестве значения.

Так, например, с

$ gpg --list-secret-keys 
/home/gert/.gnupg/secring.gpg
-----------------------------
sec   4096R/13371337 2011-01-01 [expires: 2014-01-01]
uid                  Gert van Dijk (1st key) <name@example.tld>
ssb   4096R/31337313 2011-01-01

sec   4096R/12345678 2013-04-23 [expires: 2014-01-01]
uid                  Gert van Dijk (2nd key) <name@example.tld>
ssb   4096R/87654321 2013-04-23

добавить строку в ~/.gnupg/gpg.conf:

default-key 12345678

или, альтернативно, используйте идентификатор длинного ключа (рекомендуется, поскольку идентификаторы короткого ключа могут иметь конфликты):

$ gpg --list-secret-keys --with-colon
sec::4096:1:ABCDEFAB12345678:2013-01-01:2014-01-01:::Gert van Dijk (2nd key) <user@example.tld>:::

и добавьте строку в ~/.gnupg/gpg.conf:

default-key ABCDEFAB12345678
gertvdijk
источник
1
По умолчанию первый из списка gpg --list-secret-keysбудет использоваться как ключ по умолчанию - это правильно?
Ини