GNOME Bugzilla – Bug 766273
Add support for obtaining a GPG key, etc
Last modified: 2021-07-05 13:28:26 UTC
An account should provide access to an appropriate GPG data structure for the account's primary (and secondary, maybe?) email addresses. This is account-specific, since it is possible to have different keys for different email addresses. I.e. When a new composer is created, it should be able to obtain an appropriate GPG signature for the account if it exists so it can sign and/or encrypt the message. This should happen asynchronously, of course, so as not to block the UI when looking for and loading the key.
We will likely want to use both gpgme and GMime 3.0 for integrating GPG with Geary. Native gpgme docs are here: https://www.gnupg.org/documentation/manuals/gpgme/index.html Some GMime 3.0 GPG samples are in its README: https://github.com/jstedfast/gmime To that end, a few things need to happen here: 1. Work out what GObject or Vala bindings there are for gpgme, if any. If not, develop a minimal binding for use here. 2. Develop an async API to allow determining the following via gpgme: - Is GPG set up for the current login session? - Is there a private GPG key available locally that is suitable for signing and/or encrypting messages from a specific email address? - Is there a pub key available for that is suitable for signing and/or encrypting messages to a specific email address? 3. Work out if/how an existing gpgme context can be used with GMime to avoid spawning multiple gpg processes, if possible. If it's not possible, talk with GMime devs to work out if that is something they would consider adding and work with them to get it implemented.
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a new ticket at https://gitlab.gnome.org/GNOME/geary/-/issues/ Thank you for your understanding and your help.