Tôi đã sử dụng enigmail trong hơn một năm mà không có vấn đề gì, và hôm nay nó không hoạt động.
Tôi tìm thấy một sự thật thú vị sau đây:
gpg --decrypt something.gpg # this works
gpg2 --decrypt something.gpg # this fails
Vì vậy, một cái gì đó bị hỏng với gpg phiên bản 2 trên máy của tôi.
Điều này dẫn tôi thấy rằng:
gpg --list-secret-keys # reads from ~/.gnupg/secring.gpg
gpg2 --list-secret-keys # reads from ~/.gnupg/pubring.gpg (pubring?!)
Đây dường như là gốc rễ của vấn đề ... tất nhiên gpg2
không thể tìm thấy khóa bí mật vì nó tìm trong tệp sai.
Làm thế nào tôi có thể gpg2
thất bại khi gpg
công việc của tôi tốt? Tôi không thấy bất kỳ tùy chọn nào để chỉ định nơi các khóa bí mật được đọc từ đâu.
Có ai có ý kiến gì không?
Phản hồi về @grawity :
Cảm ơn, tôi đánh giá cao sự giúp đỡ của bạn. Tôi chạy strace
, và tôi thấy những gì bạn đang nói về.
Tuy nhiên, ngay cả sau khi gpg2 --import ...
tôi thấy không có sự khác biệt trong hành vi. Tôi chỉ có thể làm cho nó hoạt động nếu tôi khởi động lại (không khởi động gpg-agent), chạy gpg2 --import ...
, sau đó chạy gpg2 --decrypt ...
. Sau chuỗi đó, thunderbird + enigmail cũng cư xử độc đáo. Tuy nhiên, sau 15 phút hoặc lâu hơn (tôi đoán là mật khẩu tôi đã nhập để giải mã đã hết hạn), sau đó gpg-agent
trở lại hành vi cũ của nó. Trình tự này được lặp lại.
Vì vậy, đây là một số đầu ra nếu nó giúp làm sáng tỏ mọi thứ:
đầu ra của gpg2 -K
:
/home/<username>/.gnupg/pubring.gpg
---------------------------------
sec rsa4096/AAAAAAAA <date> [SC]
uid [ultimate] <description of me>
ssb rsa4096/BBBBBBBB <date> [E]
đầu ra của gpg-connect-agent
> keyinfo --list
S KEYINFO <keygrip associated with AAAAAAAA> D - - - P - - -
S KEYINFO <keygrip associated with BBBBBBBB> D - - - P - - -
OK
đầu ra của 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>"
đầu ra của 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
và chương trình pinentry cần được đặt thành pinentry-gtk-2
. Trước khi nó được đặt thành pinentry-gnome3
tồn tại trên hệ thống của tôi, nhưng nó không hoạt động. Tôi đã phải cài đặt bằng tay pinentry-gtk-2
.