Page MenuHome GnuPG
Feed Advanced Search

May 29 2025

aheinecke assigned T7646: GpgOL: Update ribbon not only for items recognized as mail to werner.

This one made me curious because updating the should be UI solved, and it is incredibly dangerous to mess with that. It is super easy to get random crashes when you invalidate the UI too much. It took me ages to get that "stable enough". But also technically an appointment request is a mail. And thanks to dan (afair), KMail can sign and encrypt invitations. And at least for signed invitations they are displayed as appointment so I looked into this a bit out of curiousity.

May 29 2025, 5:14 AM · vsd33 (vsd-3.3.3), gpd5x, gpgol

May 28 2025

aheinecke lowered the priority of T4836: GpgOL modifies PGP/Inline email messages stored in the server from High to Low.

Thank you for the detailed report.

We recently had a similar problem with S/MIME Mails. T4543 I think that we can apply the same fix we did for S/MIME also for OpenPGP. So I give this high priority as I think that this can be easily fixed and is a big problem in mixed environments.

May 28 2025, 10:58 PM · gpgol, Bug Report
aheinecke renamed T4836: GpgOL modifies PGP/Inline email messages stored in the server from GpgOL sometimes modifying email messages stored in the server to GpgOL modifies PGP/Inline email messages stored in the server.
May 28 2025, 10:52 PM · gpgol, Bug Report
aheinecke added a comment to T6793: Cleanup temporary files / dirs with decrypted content.

To clarify. And what I think might still not work here. Windows has the problem that it does not remove the temp directory on restart or even attempts to. So whenever we work with temporary files we need to make an effort to remove them. Because the user does not expect a decrypted file in a temporary folder to stick around forever. There are options to do that on Windows. As a last resort one could even create a registry key like we did in the uninstaller for a while to remove files which were in used after next reboot.

May 28 2025, 10:31 PM · vsd32 (vsd-3.2.0), Restricted Project, kleopatra
aheinecke added a comment to T6623: Kleopatra hangs "Loading certificate cache" on Windows 10.

Actually after looking at this post here I commented on https://dev.gnupg.org/T7434#201525 Since you are already debugging and seem to be able to reproduce this somewhat more often then others. (I hope even aftger all this time? :) ) Could you try running porcmon with the generic gnupg path filter as suggested there. Will slow everything down of course, but I would love to get my fingers of such a hang like you are seeing with such a filter enabled. You can export only the filtered lines and compress it. If it is still too large or private I guess we can get you an upload space somewhere. But some unexpected situation caused by a third party software messing at the right time with our files would really fit the bill, and I already noticed that standard windows defender, in a standard windows installation messes with our lock files. Maybe you have some even more agressive software running and see such issue more often, the important thing in the procmon log would be what kind of error / access pattern occurs to figure out if we handle something not correctly, or interpret it differently.

May 28 2025, 9:55 PM · kleopatra
aheinecke added a comment to T7657: Kleopatra: Refresh OpenPGP Certificates doesn't respect WKD setting.

Just as a reminder, knowledge transfer, because this is easily overlooked in testing but at least one customer would have gotten very annoyed if we had ever deployed an "Update all certificates" function which "added" new certificates. Even with the update of a single cert, we had a "funny" issue, like if you had expired certificates from anywhere and not from WKD (which old keyrings have a lot, maybe with many uids). Suddenly an update would pull in new keys which come from WKD but maybe there they all only have one UID. Because for keyservers the identifier was the fingerprint and for WKD the identifier was the userid.
Or even worse, you explicitly threw out the OpenPGP keys from WKD because you wanted to use only S/MIME, then such a function may not search on any OpenPGP Sources.
When I worked at Kleopatra we didn't want such a feature in GnuPG. Our strategy was to update keys when they are used, about to be used or close to expiry. The whole locate-external-key thing.
I think the feature we had to update in the certificate details is good. But i recommend especially keeping the S/MIME / OpenPGP difference in mind. I would also call it "Search updated certificates" with a tooltip that it might also find "new" certificates for the user. And then an option to disable this either for S/MIME or for OpenPGP.

May 28 2025, 9:45 PM · Feature Request, kleopatra
aheinecke added a comment to T7620: gpgme_get_key fails to detect secret encryption subkey after key generation on card (until context is recreated).

I do not think that this is the only place where such an issue occurs. Maybe we should make the documentation clearer about context key reuse. But the context is specifically designed to cache information about a key, so as to avoid memory overhead. I learned early on that its best for each new operation to use a new context. A context is basically an instance of gpg or gpgsm. So you start one process, ask it for a keylist, keep the process running, start another process, modify the key database, and then ask the first process again about his worldview. Either the first process is a bit confused because it has read data and then that data changed (what happens here) or it has no idea about the change since it was efficient and only read the database once. But here in this example you should be able to reproduce this also by making any other modifications to the key, adding other subkeys, userids etc. That GPGME even notices the secret key is more of a side effect of how the programming works because the GPGME gpg process will ask the gpg-agent (so a third process).

May 28 2025, 9:19 PM · gnupg26, gnupg, Bug Report
aheinecke added a comment to T7434: Kleopatra: Initial keylisting hangs for ~60 seconds (gpg-agent: Socket ...S.gpg-agent cannot be bound).

The more I think of this, the more likely this appears to me as the source for all that random startup weirdness of GnuPG. Say you are on a large keyring and on a train, then that keyring is first passed through your enterprise malware protection for scanning or something like that. Then it works again until some metric, hash or something else changes.

May 28 2025, 8:37 PM · gnupg, kleopatra
aheinecke added a comment to T7434: Kleopatra: Initial keylisting hangs for ~60 seconds (gpg-agent: Socket ...S.gpg-agent cannot be bound).

My recommendation would at this point be to use procmon with a file filter for just "If path contains gnupg then include" I mean maybe go only for the locking dirs but this way you will not only see what the GnuPG processes are doing but what everyone on the system is doing to the locks. So you will see when my old friends, third party security software might interfere.
For example: You will see on a default Windows which files are checked through telemetry. And here in this example you see directly that the Microsoft Malware Protection Engine is accessing the agents socket.

May 28 2025, 8:16 PM · gnupg, kleopatra

Apr 28 2025

werner defrocked aheinecke.
Apr 28 2025, 2:29 PM

Feb 17 2025

aheinecke added a comment to T169: Add a way to generate keypairs from a passphrase.

As I am delving a bit into cryptocurrencies and since i have a ledger security token and a bip32 24 word mnemonic now backed up as stamped metal i have stumbled accross this topic:

Feb 17 2025, 11:07 PM · gnupg, Feature Request

Feb 6 2025

aheinecke added a comment to T7509: gpg4win: Make the AppImage build work with the new Docker-based build script.

Just so that its not overlooked and you are meaning something different. But I had the Qt6 / KF6 branch working with the --appimage parameter.

Feb 6 2025, 10:22 PM · gpd5x, AppImage, gpg4win

Feb 2 2025

aheinecke created T7506: GnuPG: Error when adding ECDSA subkey in batch mode with quick-add-key "Wrong key usage".
Feb 2 2025, 12:39 AM · gnupg26, gnupg24, Bug Report

Jan 27 2025

aheinecke committed rGPGMEPP88fa78f610f2: Fix wipe function. (authored by aheinecke).
Fix wipe function.
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP9b7ab4beded1: Fix upcoming minor GPGME C++ incompatibility (authored by aheinecke).
Fix upcoming minor GPGME C++ incompatibility
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPa686f4f7adb9: Merge branch 'KDE/4.10' (authored by aheinecke).
Merge branch 'KDE/4.10'
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPaae0e5e440cf: Merge branch 'KDE/4.10' (authored by aheinecke).
Merge branch 'KDE/4.10'
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP1b9e583a1f10: Initial checkin of gpgmepp sources (authored by aheinecke).
Initial checkin of gpgmepp sources
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP2312dafb2dd0: Add support for gpgme_set_offline (authored by aheinecke).
Add support for gpgme_set_offline
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP20792b785cce: Add buildsystem for Gpgmepp (authored by aheinecke).
Add buildsystem for Gpgmepp
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP48723f77b3e0: Remove feature check ifdefs (authored by aheinecke).
Remove feature check ifdefs
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPbbe1a3dedca3: Fix export header and windows export macros (authored by aheinecke).
Fix export header and windows export macros
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP9776d5afc468: Add README for gpgmepp (authored by aheinecke).
Add README for gpgmepp
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP2887d17761a5: Add header installation (authored by aheinecke).
Add header installation
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP4fc893587bc1: Add version info for gpgmepp (authored by aheinecke).
Add version info for gpgmepp
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPe7f752a50fa8: Add cmake configuration files (authored by aheinecke).
Add cmake configuration files
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP1b3353ee2e5b: Add qgpgme as qt language binding (authored by aheinecke).
Add qgpgme as qt language binding
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPc67a7d966300: Cpp / Qt: Reduce boost usage (memory and tuple) (authored by aheinecke).
Cpp / Qt: Reduce boost usage (memory and tuple)
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP1c89addf7698: Add additional include path in config files (authored by aheinecke).
Add additional include path in config files
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPaa41f5ddeff9: Cpp: Remove last usages of boost (authored by aheinecke).
Cpp: Remove last usages of boost
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP76942e07e4cd: Add pthread in gpgmepp config (authored by aheinecke).
Add pthread in gpgmepp config
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP57bafe40ebe5: Cpp: Add string comparators for keys (authored by aheinecke).
Cpp: Add string comparators for keys
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPbc7ad951e125: Qt / Cpp: Mention coding style in READMES (authored by aheinecke).
Qt / Cpp: Mention coding style in READMES
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP69920c34f3d5: Cpp: Add support for pubkey_algo_name (authored by aheinecke).
Cpp: Add support for pubkey_algo_name
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPcdb77b6bedf1: Cpp: Handle PINENTRY_LAUNCHED status line (authored by aheinecke).
Cpp: Handle PINENTRY_LAUNCHED status line
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPc6fa0ca7de31: Cpp: Add support for gpgme_data_identify (authored by aheinecke).
Cpp: Add support for gpgme_data_identify
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPa2263b4f9039: Cpp: Ensure gpgme.h is taken from current build (authored by aheinecke).
Cpp: Ensure gpgme.h is taken from current build
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP5b0f6fc78880: Qt / Cpp: Port auto_ptr to unique_ptr (authored by aheinecke).
Qt / Cpp: Port auto_ptr to unique_ptr
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPe3fb1a0985e4: Cpp: Ignore STATUS_KEY_CONSIDERED when editing (authored by aheinecke).
Cpp: Ignore STATUS_KEY_CONSIDERED when editing
Jan 27 2025, 10:40 AM