Page MenuHome GnuPG

aheinecke (Andre Heinecke)
User

Projects (6)

User Details

User Since
Mar 27 2017, 4:49 PM (427 w, 4 d)
Availability
Busy Busy until Aug 12 2030.

Recent Activity

Thu, May 29

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.

Thu, May 29, 5:14 AM · gpd5x, vsd33, gpgol

Wed, May 28

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.

Wed, May 28, 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.
Wed, May 28, 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.

Wed, May 28, 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.

Wed, May 28, 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.

Wed, May 28, 9:45 PM · Feature Request, gpd5x, 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).

Wed, May 28, 9:19 PM · 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.

Wed, May 28, 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.

Wed, May 28, 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
aheinecke committed rGPGMEPP53ad5cabc563: Qt / Cpp: Fix make dist (authored by aheinecke).
Qt / Cpp: Fix make dist
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP73709f7141b9: Cpp: Do not treat KEYEXPIRED as error (authored by aheinecke).
Cpp: Do not treat KEYEXPIRED as error
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP84265ca79e4f: Cpp: Use whitelist for status messages (authored by aheinecke).
Cpp: Use whitelist for status messages
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP8587f60e0749: Cpp: Expose new data_identify values (authored by aheinecke).
Cpp: Expose new data_identify values
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP9306bf2b2c40: Cpp: Add TofuInfo to signatures (authored by aheinecke).
Cpp: Add TofuInfo to signatures
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP1c4a5e2de834: Cpp: Add support for pinentry_mode (authored by aheinecke).
Cpp: Add support for pinentry_mode
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP0fbf90cfdc03: Cpp: Add support for TOFU_CONFLICT sigsum (authored by aheinecke).
Cpp: Add support for TOFU_CONFLICT sigsum
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP2fdc5b4f2536: Cpp: Expose gpgme_pubkey_algo_name (authored by aheinecke).
Cpp: Expose gpgme_pubkey_algo_name
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPd6f3e524ac03: Cpp: Add PubkeyAlgo enum (authored by aheinecke).
Cpp: Add PubkeyAlgo enum
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP6acfb3dc8940: Cpp: Add feature enum for new identify (authored by aheinecke).
Cpp: Add feature enum for new identify
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP0058552a5104: Qt/Cpp: Add version headers (authored by aheinecke).
Qt/Cpp: Add version headers
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPe77adf53c58b: Qt/Cpp: Add license blurb to export headers (authored by aheinecke).
Qt/Cpp: Add license blurb to export headers
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP4c180b7092e2: Cpp: Add EngineInfo::Version class (authored by aheinecke).
Cpp: Add EngineInfo::Version class
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP7f9052a6202a: Cpp: Add support for all EncryptionFlags (authored by aheinecke).
Cpp: Add support for all EncryptionFlags
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP0f665861e0fa: Cpp: Fix simple symmetric encryption (authored by aheinecke).
Cpp: Fix simple symmetric encryption
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPcb339b78dc6c: Cpp: Clarify ownership of provider classes (authored by aheinecke).
Cpp: Clarify ownership of provider classes
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPe072e352d17e: Cpp: Handle empty recipients consistently (authored by aheinecke).
Cpp: Handle empty recipients consistently
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP10a657ea5681: Cpp: Provide size-hint for seekable and mem data (authored by aheinecke).
Cpp: Provide size-hint for seekable and mem data
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPe687f2e38705: Cpp: Fix some pedantic warnings (authored by aheinecke).
Cpp: Fix some pedantic warnings
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP967d8e0aa600: Cpp: Move tofuinfo from signature to userid (authored by aheinecke).
Cpp: Move tofuinfo from signature to userid
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPfe01e0c661c1: Cpp: Use fpr field for primaryFingerprint (authored by aheinecke).
Cpp: Use fpr field for primaryFingerprint
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP613ae1fc8f35: Cpp: Add Key to signature (authored by aheinecke).
Cpp: Add Key to signature
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP17ef7f612f6a: Cpp: Add support for spawn engine (authored by aheinecke).
Cpp: Add support for spawn engine
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP5c593f92da79: cpp: Get rid of AssuanResult due to its deprecation. (authored by werner).
cpp: Get rid of AssuanResult due to its deprecation.
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP1b39ab00a088: Cpp: Add wrapper for gpgme_get_dirinfo (authored by aheinecke).
Cpp: Add wrapper for gpgme_get_dirinfo
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPccd5c742c057: Cpp: Change firstSeen / lastSeen return values (authored by aheinecke).
Cpp: Change firstSeen / lastSeen return values
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP00082a0a4c6e: cpp: Add WithTofu Keylist Mode (authored by aheinecke).
cpp: Add WithTofu Keylist Mode
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPa149253b65d4: cpp: Add ostream operators for key and uid (authored by aheinecke).
cpp: Add ostream operators for key and uid
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP28a12a89751a: cpp: Add convenience update function to a key (authored by aheinecke).
cpp: Add convenience update function to a key
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPf029812a9b48: cpp: Declare sizes of tofu-info enums (authored by aheinecke).
cpp: Declare sizes of tofu-info enums
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP956b44b57641: cpp: Add support for gpgme_op_tofu_policy (authored by aheinecke).
cpp: Add support for gpgme_op_tofu_policy
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP48c4045dceb9: cpp: Improve README (authored by aheinecke).
cpp: Improve README
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPf2babcd71b89: cpp: Avoid missing returns in non-void functions (authored by andreasstieger).
cpp: Avoid missing returns in non-void functions
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP780fbbadc92a: cpp, qt: Include config.h (authored by aheinecke).
cpp, qt: Include config.h
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP842e58dc66b7: cpp, qt: Handle modified includedir installation (authored by aheinecke).
cpp, qt: Handle modified includedir installation
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPd411b3725a11: cpp: Fix gcc diagnostic push / pop (authored by aheinecke).
cpp: Fix gcc diagnostic push / pop
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPd29a9ba4ff4a: Fix spelling (authored by dkg).
Fix spelling
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPf1ecc0b62917: cpp: Add support for URL Data encodings (authored by aheinecke).
cpp: Add support for URL Data encodings
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP742e7b5368a5: Add convenience function to get key from sig (authored by aheinecke).
Add convenience function to get key from sig
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPPaf9c4fbc8179: cpp: Return null key if the signature had no key (authored by aheinecke).
cpp: Return null key if the signature had no key
Jan 27 2025, 10:40 AM
aheinecke committed rGPGMEPP3d2bfe3fc73d: qt, cpp: Fix expected targets in Config files (authored by aheinecke).
qt, cpp: Fix expected targets in Config files
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPPdb27fae86f85: cpp: Add API for gpgme_addrspec_from_uid (authored by aheinecke).
cpp: Add API for gpgme_addrspec_from_uid
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPP2953709e7239: qt, cpp: Install version headers in subdirs (authored by aheinecke).
qt, cpp: Install version headers in subdirs
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPP8ecfad56d99e: qt, cpp: Fix permissions of Config files (authored by aheinecke).
qt, cpp: Fix permissions of Config files
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPP007f5ccac613: cpp: Fix init of string from null (authored by aheinecke).
cpp: Fix init of string from null
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPPd175f9d20681: qt, cpp: Add all generated files to cleanfiles (authored by aheinecke).
qt, cpp: Add all generated files to cleanfiles
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPPdb8bc660fae5: cpp: Extend gpgmefw for tofuinfo and swdb query (authored by aheinecke).
cpp: Extend gpgmefw for tofuinfo and swdb query
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPP4ebab0de5645: cpp: Don't include gpgme.h in tofuinfo header (authored by aheinecke).
cpp: Don't include gpgme.h in tofuinfo header
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPP6918fbc0f037: qt, cpp: Fix versioning in cmake config and header (authored by aheinecke).
qt, cpp: Fix versioning in cmake config and header
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPP70d3bcbeef47: cpp: Add API for swdb queries (authored by aheinecke).
cpp: Add API for swdb queries
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPP8fe50c85aad4: cpp: Add more EngineInfo::Version ctors (authored by aheinecke).
cpp: Add more EngineInfo::Version ctors
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPP099fdfa6878c: qt, cpp: Enable dll build for windows (authored by aheinecke).
qt, cpp: Enable dll build for windows
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPP000376ef9377: qt, cpp: Add cmake config files for w32 (authored by aheinecke).
qt, cpp: Add cmake config files for w32
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPP2ab9d752ace1: Remove a forgotten instance of @libsuffix@ (authored by heirecka).
Remove a forgotten instance of @libsuffix@
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPP93590ea8d75a: cpp: Add get / set Sender API (authored by aheinecke).
cpp: Add get / set Sender API
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPP27143a5c7085: cpp: Fix update of partial key in verifyresult (authored by aheinecke).
cpp: Fix update of partial key in verifyresult
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPP232fa28e6513: Fix cmake configuration files for MacOS (authored by aheinecke).
Fix cmake configuration files for MacOS
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPPbe9afa267f25: cpp: Fix addrSpec for keys without email (authored by aheinecke).
cpp: Fix addrSpec for keys without email
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPP14f877cf66d4: cpp: Ensure that hasSecret is correct after update (authored by aheinecke).
cpp: Ensure that hasSecret is correct after update
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPP94c668084c44: cpp: Add interactor to generate keys on smartcard (authored by aheinecke).
cpp: Add interactor to generate keys on smartcard
Jan 27 2025, 10:39 AM
aheinecke committed rGPGMEPP6f466c9bbe62: cpp: Add revuid and adduid support (authored by aheinecke).
cpp: Add revuid and adduid support
Jan 27 2025, 10:39 AM