Hi there!
I'm writing a GnuPG interface for Mono/.NET using GPGME (GnuPG Made Easy, which is the C API applications use for connecting with gpg).


So far, it works fine, I can retrieve keys and encrypt/sign. However, the GPGME API is constructed in such a way that in order to retrieve a passphrase for use with decryption, you have to give it a callback function returning the passphrase as a const char*.

What I would do is to make a property in my GnuPGEngine class (which manages communication with the C layer through InteropServices) which will then be given to the real GnuPG engine (a GpgmeCtx, which means a GPGME Context object) through an internal callback.

How is this best done?

The API syntax in C for setting the callback function for the context is:
gpgme_set_passphrase(ctx, &get_passphrase, NULL);

where get_passphrase:
static const char* get_passphrase(void *HOOK, const char *DESC, void **R_HD);


With the above, the get_passphrase function never gets called. What to do?

- Simon
_______________________________________________
Mono-list maillist  -  [EMAIL PROTECTED]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to