With Thunderbird 78, a new PGP subsystem has been introduced which handles PGP keys internally. In previous versions, the add-on Enigmail has handled PGP-related stuff, by letting do GnuPG the work behind the scenes.
I currently know only that the private PGP keys in Thunderbird 78 and later versions are protected by the master password. Now I am interested in the details: Where does Thunderbird 78 (or preferably, 91) store the private PGP keys, and how exactly are they encrypted there (algorithm, bit size etc.)?
When doing my own research, I came across many similar questions, e.g. this one, but they all related to Firefox (which would be OK, because TB is based on Firefox), and they all related to saved logins (passwords) for websites (which Firefox stores in logins.json
in the profile folder), not to saved PGP private keys (which don't have to do anything with Firefox anyway).
By looking into logins.json
in my Thunderbird profile folder, I could confirm that the private PGP keys are not stored there; that file contains only the passwords and user names for the IMAP accounts. Therefore, the many articles about Firefox and the encryption of passwords in logins.json
don't help answer my question; I couldn't find references related to Thunderbird.
Update, 2021-09-12
Thunderbird 78+ stores the private and public keys in the profile directory in the files secring.pgp
and pubring.pgp
, respectively. So one of my questions is answered.
However, I still haven't found the answer to the other, more important question: How exactly are the private keys protected in secring.pgp
?