Enrico Zini wrote on the Debian BTS:
I have a subkey on a smart card. Since I have been without a card
reader for quite a long time, I revoked the card subkeys. Now I have a
reader again, and I want to decode some old data. However, if I try,
gpg will tell me "decryption failed: secret key not available", even if
gpg --card-status can see the keys on the card.
I tried with an old secring backup from before the revocation, and it
works. I tried exporting the backup secring and importing it in my
backup, but to no avail:
$ gpg --homedir ~/.gnupg/backup --decrypt testfile -> works
$ gpg --homedir ~/.gnupg/backup/ --export-secret-key | gpg --import
$ gpg --decrypt testfile -> decryption failed: secret key not available
It looks like since that key has been revoked in my new secring, gpg
doesn't want to use it. This, at least for decryption, seems to be
wrong: I want to keep that subkey revoked, but I still want to be able
to use it for decrypting old data.