Problems with GPGME returning "Not Implemented" or "Configuration error"
jestedfa at microsoft.com
Fri Mar 3 19:04:27 CET 2017
Anyone have any thoughts on this?
On 2/27/17, 9:20 AM, "Gnupg-users on behalf of Jeffrey Stedfast" <gnupg-users-bounces at gnupg.org on behalf of jestedfa at microsoft.com> wrote:
I'm working on re-implementing GMime to use libgpgme (1.8.0 on Fedora 25) instead of using my own custom logic for fork()ing/exec()ing gpg & parsing the status-fd output to do PGP encryption and I've gotten that to work just fine for PGP, but I am having trouble using nearly identical logic (only diff is armor/textmode state) to sign or encrypt using the CMS backend.
For some reason, gpgme_op_sign() is returning GPG_ERR_NOT_IMPLEMENTED while gpgme_op_encrypt() is returning "Configuration error".
From what I can deduce by scouring the web for information, it seems like NOT_IMPLEMENTED should never get returned unless I am using options that just haven't been implemented yet but that doesn't seem like it should be the case since I don't think I'm doing anything out of the ordinary.
When signing, I've set armor=0, textmode=0, mode=DETACH (or NORMAL), and added a signer to the context.
For encrypting, I am getting "Configuration error" which I'm also confused about because I don't know what configuration options could be causing this.
Once again, armor=0, textmode=0, flags=0, and I've created a NULL-terminated list of recipient keys to pass to gpgme_op_encrypt().
Since my unit tests are re-using the same gpgme context to import some smime certs, then export some certs, then sign some streams, etc - could that be the problem? As I write this email, I realize that's something I haven't yet checked...
All I can think of is that perhaps there is some leftover state from gpgme_op_import() or gpgme_op_export_ext() that is breaking the gpgme_op_sign() when run at a later point?
Thanks for any help or guidance in tracking down these issues,
Gnupg-users mailing list
Gnupg-users at gnupg.org
More information about the Gnupg-users