Saya telah menginstal ulang OS saya (Ubuntu 16.04) dan memiliki direktori .gnupg lama yang berisi:
gpg-agent.conf
gpg-agent-info-<hostname>
gpg.conf
private-keys-v1.d
pubring.gpg
secring.gpg
S.gpg-agent
trustdb.gpg
Saya ingin mengimpor kunci publik & pribadi lama saya ke gnupg baru. (Saya tidak hanya menyalin direktori .gnupg ke instalasi baru, karena saya mengerti bahwa gnupg2 baru memiliki beberapa perbedaan dalam format basis data yang merupakan bagian dari opsi enkripsi EC baru.)
Berikut ini berfungsi untuk kunci publik tetapi gagal untuk kunci rahasia:
gpg --export --keyring=~/.gnupg.old/pubring.gpg | gpg --import
gpg --export-secret-keys --keyring=~/.gnupg.old/secring.gpg | gpg --import
Yang terakhir merespons dengan:
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
Perhatikan bahwa gagal membuka cincin rahasia baru saya . Ini memberikan kesalahan yang sama ketika mencoba untuk mengekspor ke file:
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
Karena kunci rahasia saya memiliki bagian pribadi dari kunci master dilucuti, saya juga mencoba yang sama, dengan --export-secret-subkeys
, tetapi tanggapannya sama. Menempatkan ID kunci saya (alamat email) setelah ekspor juga tidak berfungsi. Di sisi lain, saya dapat membuat daftar kunci:
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
(Saya berasumsi "Kunci hilang" mengacu pada kunci master rahasia yang dilucuti.) Adakah yang bisa mengarahkan saya cara mengatasi ini?
Dengan bantuan @Jens (di bawah), yang berikut ini berfungsi:
gpg --no-default-keyring --secret-keyring=~/.gnupg.old/secring.gpg --export-secret-keys | gpg --import
--no-default-keyring
dan--secret-keyring
sebelum--list-secret-keys
menghasilkan output yang dikenali. Jadi, biarkan saya melihat apa yang saya dapatkan sekarang.