Я перевстановив ОС (Ubuntu 16.04) і маю стару каталог .gnupg, що містить:
gpg-agent.conf
gpg-agent-info-<hostname>
gpg.conf
private-keys-v1.d
pubring.gpg
secring.gpg
S.gpg-agent
trustdb.gpg
Я хочу імпортувати свої старі публічні та приватні ключі в новий gnupg. (Я не просто скопіював каталог .gnupg в нову установку, тому що я розумію, що новий gnupg2 має деякі відмінності у форматі бази даних, які є частиною нових параметрів шифрування EC.)
Наступні працювали для відкритих ключів, але не вдавалися до секретних ключів:
gpg --export --keyring=~/.gnupg.old/pubring.gpg | gpg --import
gpg --export-secret-keys --keyring=~/.gnupg.old/secring.gpg | gpg --import
Останній відповів:
gpg: can't open `~/.gnupg/secring.gpg' <== New Secret Keyring
gpg: WARNING: nothing exported
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
Зауважте, що не вдалося відкрити моє нове секретне кільце. Він дає ту саму помилку при спробі експорту в файл:
gpg --export-secret-keys --keyring=~/.gnupg.old/secring.gpg > secret.asc
gpg: can't open `~/.gnupg/secring.gpg' <== New Secret Keyring
gpg: WARNING: nothing exported
Оскільки у мого секретного ключа приватна частина головного ключа вилучена, я також спробував те ж саме, з --export-secret-subkeys
, але відповідь була однаковою. Введення мого ідентифікатора ключа (електронної адреси) після експорту також не працює. Я можу, з іншого боку, перерахувати ключі:
gpg --list-keys --keyring=~/.gnupg.old/secring.gpg
gpg: Oops; key lost!
node 0x1e7ee00 01/00 type=secret-key
node 0x1e9cbd0 00/00 type=user-id "Me <Me@home.com>" ....
node 0x1e99dd0 00/00 type=signature class=13 keyid=XXXXXXXX ts=1383637282
node 0x1e9c510 00/00 type=secret-subkey
node 0x1eaa210 00/00 type=signature class=18 keyid=XXXXXXXX ts=1449138073
node 0x1eaf1f0 00/00 type=secret-subkey
node 0x1eaf580 00/00 type=signature class=18 keyid=XXXXXXXX ts=138363647
(Я припускаю, що "Ключ загублений" відноситься до позбавленого секретного головного ключа.) Чи може хтось направити мене, як це вирішити?
За допомогою @Jens (нижче) працює наступне:
gpg --no-default-keyring --secret-keyring=~/.gnupg.old/secring.gpg --export-secret-keys | gpg --import
--no-default-keyring
та--secret-keyring
перед цим--list-secret-keys
дає розпізнаваний вихід. Отже, дозвольте мені побачити, що я зараз маю.