Как экспортировать закрытый ключ GPG и открытый ключ в файл

20

Я сгенерировал ключи, используя GPG, выполнив следующую команду

gpg --gen-key

Теперь мне нужно экспортировать пару ключей в файл; т.е. закрытые и открытые ключи private.pgpи public.pgpсоответственно. Как это сделать?

скалистый
источник

Ответы:

30

Экспортировать открытый ключ

Эта команда экспортирует защищенную версию открытого ключа в формате ascii:

gpg --output public.pgp --armor --export username@email

Экспорт секретного ключа

Эта команда экспортирует бронированный вариант секретного ключа в формате ascii:

gpg --output private.pgp --armor --export-secret-key username@email


Проблемы безопасности, резервное копирование и хранение

Открытый ключ PGP содержит информацию об адресе электронной почты. Это в целом приемлемо, поскольку открытый ключ используется для шифрования электронной почты на ваш адрес. Однако в некоторых случаях это нежелательно.

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

gpg --output backupkeys.pgp --armor --export --export-options export-backup user@email

Это позволит экспортировать всю необходимую информацию для восстановления секретных ключей, включая информацию базы данных доверия. Убедитесь, что вы храните любые резервные секретные ключи на вычислительной платформе и в безопасном физическом месте.

Если этот ключ важен для вас, я рекомендую распечатать ключ на бумаге, используя paperkey . И поместив бумажный ключ в огнеупорный / водонепроницаемый сейф.

Серверы открытых ключей

В общем случае не рекомендуется размещать личные открытые ключи на серверах ключей. Нет способа удалить ключ после его публикации, и нет способа гарантировать, что ключ на сервере был помещен туда предполагаемым владельцем ключа.

Гораздо лучше разместить ваш открытый ключ на веб-сайте, которым вы владеете или контролируете. Некоторые люди рекомендуют keybase.io для распространения. Однако этот метод отслеживает участие в различных социальных и технических сообществах, что может быть нежелательно в некоторых случаях использования.

Для технически искусны, я лично рекомендую опробовать Webkey ключевого уровня сервиса обнаружения домена.

Штамп
источник
Является ли экспортированный ключ (вторая команда) зашифрованным, или мне нужно зашифровать его самостоятельно перед сохранением на USB-накопителе?
Джулиан,
1
@Julian ... Экспортированный секретный ключ имеет ту же защиту, что и экспортированный секретный ключ. Если была фраза-пароль, то эта фраза требуется для импорта секретного ключа.
RubberStamp
1
Я сделал резервную копию, используя вышеупомянутый метод, но глупо забыл проверить это. Если я что-то упустил, я не могу восстановить свой открытый ключ из указанного метода резервного копирования ( --export-options export-backupи т. Д.). Я что-то упустил или неправильно понял, какое резервное копирование он делал?
OMGtechy
Документация знает --export-secret-keys, но нет --export-secret-key.
Ярно
@OMGtechy Как вы пытались восстановить ключ (ы)? Я могу восстановить открытые ключи gpg --import-options restore --import backupkeys.pgp, но это не восстанавливает секретные ключи, только открытые, если backupkeys.pgp был создан gpg --output backupkeys.pgp --armor --export --export-options export-backup. В этом --armorнет необходимости и export-backupможет быть заменено backup.
Ярно
3
  • Перечислите ключи, которые у вас есть: gpg --list-secret-keys
  • Экспортировать ключ: gpg --export-secret-key name > ~/my-key.asc
  • Скопируйте его на другой компьютер;
  • Импортировать ключ: gpg --import my-key.asc
Серж Сп
источник