I've been using enigmail for over a year without issue, and today it doesn't work.
I found the following interesting fact:
gpg --decrypt something.gpg # this works gpg2 --decrypt something.gpg # this fails
So something is broken with gpg version 2 on my machine.
This led me to see that:
gpg --list-secret-keys # reads from ~/.gnupg/secring.gpg gpg2 --list-secret-keys # reads from ~/.gnupg/pubring.gpg (pubring?!)
This seems to be the root of the problem... of course
gpg2 can't find the secret key because it's looking in the wrong file.
How could my
gpg2 fail when my
gpg works fine? I don't see any options to specify where the secret keys are read from.
Anybody have any ideas?
Response to @grawity:
Thanks, I appreciate your help. I ran
strace, and I see what you are talking about.
However, even after
gpg2 --import ... I am seeing no difference in behavior. I can only get it to work if I reboot (without starting gpg-agent), run
gpg2 --import ..., then run
gpg2 --decrypt .... After that sequence, thunderbird + enigmail also behaves nicely. However, after 15 minutes or so (my guess is the password I entered to decrypt has expired), then
gpg-agent is back to its old behavior. This sequence is repeatable.
So here is some output if it helps clear anything up:
/home/<username>/.gnupg/pubring.gpg --------------------------------- sec rsa4096/AAAAAAAA <date> [SC] uid [ultimate] <description of me> ssb rsa4096/BBBBBBBB <date> [E]
> keyinfo --list S KEYINFO <keygrip associated with AAAAAAAA> D - - - P - - - S KEYINFO <keygrip associated with BBBBBBBB> D - - - P - - - OK
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>"
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