Saya telah menggunakan enigmail selama lebih dari setahun tanpa masalah, dan hari ini tidak berfungsi.
Saya menemukan fakta menarik berikut:
gpg --decrypt something.gpg # this works
gpg2 --decrypt something.gpg # this fails
Jadi ada yang rusak dengan versi gpg 2 di mesin saya.
Ini membuat saya melihat bahwa:
gpg --list-secret-keys # reads from ~/.gnupg/secring.gpg
gpg2 --list-secret-keys # reads from ~/.gnupg/pubring.gpg (pubring?!)
Ini tampaknya menjadi akar masalah ... tentu saja gpg2tidak dapat menemukan kunci rahasia karena mencari dalam file yang salah.
Bagaimana saya bisa gpg2gagal ketika gpgpekerjaan saya baik-baik saja? Saya tidak melihat opsi untuk menentukan dari mana kunci rahasia dibaca.
Adakah yang punya ide?
Tanggapan untuk @grawity :
Terima kasih, saya menghargai bantuan Anda. Saya berlari strace, dan saya mengerti apa yang Anda bicarakan.
Namun, bahkan setelah gpg2 --import ...saya melihat tidak ada perbedaan dalam perilaku. Saya hanya bisa membuatnya bekerja jika saya reboot (tanpa memulai gpg-agent), jalankan gpg2 --import ..., lalu jalankan gpg2 --decrypt .... Setelah urutan itu, thunderbird + enigmail juga berperilaku baik. Namun, setelah sekitar 15 menit (tebakan saya adalah kata sandi yang saya masukkan untuk mendekripsi telah kedaluwarsa), kemudian gpg-agentkembali ke perilaku semula. Urutan ini dapat diulang.
Jadi, inilah beberapa keluaran jika itu membantu membersihkan semuanya:
output dari gpg2 -K:
/home/<username>/.gnupg/pubring.gpg
---------------------------------
sec rsa4096/AAAAAAAA <date> [SC]
uid [ultimate] <description of me>
ssb rsa4096/BBBBBBBB <date> [E]
output dari gpg-connect-agent
> keyinfo --list
S KEYINFO <keygrip associated with AAAAAAAA> D - - - P - - -
S KEYINFO <keygrip associated with BBBBBBBB> D - - - P - - -
OK
output dari gpg2 -v -r <my email> -e testfile
gpg: using PGP trust model
gpg: using subkey BBBBBBBB instead of primary key AAAAAAAA
gpg: This key belongs to us
gpg: reading from 'testfile'
gpg: writing to 'testfile.gpg'
gpg: RSA/AES256 encrypted for: "BBBBBBBB <description of me>"
output dari gpg2 -v -d testfile.gpg
gpg: public key is BBBBBBBB
gpg: using subkey BBBBBBBB instead of primary key AAAAAAAA
gpg: using subkey BBBBBBBB instead of primary key AAAAAAAA
gpg: encrypted with 4096-bit RSA key, ID BBBBBBBB, created <date>
"<description of me>"
gpg: public key decryption failed: Operation cancelled
gpg: decryption failed: No secret key
gpg-agent, dan program pinentry perlu diatur pinentry-gtk-2. Sebelum diatur pinentry-gnome3, yang ada di sistem saya, tetapi tidak berhasil. Saya harus menginstal secara manual pinentry-gtk-2.