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 gpg2
tidak dapat menemukan kunci rahasia karena mencari dalam file yang salah.
Bagaimana saya bisa gpg2
gagal ketika gpg
pekerjaan 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-agent
kembali 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
.