Today
I guess it would have been better gpgmepp API to add an additional function for getting 30 zbase32 bytes and to omit the mode flag in the generateRandomBytes function instead of mirroring the API of gpgme.
I don't consider this a bug in gpgmepp's code. gpgmepp behaves exactly like gpgme (because it simply calls gpgme_op_random_bytes after creating a buffer of the requested size). With zbase32 you get 30 bytes zbase32 code and, if you requested more bytes, you get uninitialized additional bytes (which happen to be nullbytes, but that's more accidental than intentional). If anything then the problem is that gpgmepp's API is in general un(der)documented.
Yesterday
Yeah. It's a gpgmepp bug.
Sun, Feb 15
FWIW: Okay, gmime is still a wrapper around gpgme. After decryption it has the ability to get the used session key from the gpgme result structure. Thus, I have been on the wrong trail. The actual problem is not gpgme but more GnuPG's use of Libgcrypt or an actual regression in Libgcrypt. Well, Friday 13th.
This has been specified in 1997 by PGP 5 for a good reason. We talked often enough about this and it does not help to repeat your ideas over and over again. RFC9580 specifies a different protocol than OpenPGP as specified by RFC2440 and RFC4880 but alas grabbed the name OpenPGP for this.
I can't speak for gpgmpp but for gpgme. And the gpgme manual says:
Sat, Feb 14
b) For non-confirmed keys it returns broken OpenPGP keys (ie. without a user id and thus without important information)
Thank you very much for yours answers, explanations and effort!!!
Any hints where to find the actual crypto code which uses libgcrypt?
Panel Used By
| Dashboard | Home | |
| Dashboard | Restricted Dashboard |