GPGME 1.5.1: Invalid crypto engine

Werner Koch wk at
Thu Oct 2 20:52:41 CEST 2014

On Mon, 15 Sep 2014 09:24, f.schwind at said:

> Digging deeper into the problem I found out, that gpgme only finds one
> crypto-engine at /usr/bin/gpgconf, which could not be used as engine for

Actually this is not a crypto-engine but the configuration tool for
GnuPG-2.  If gpgme finds this program, it uses the GnuPG-2 mode, which
means that the engines as reported by running gpgconf like

  $ gpgconf --list-components
  gpg:GPG for OpenPGP:/usr/local/bin/gpg2
  gpg-agent:GPG Agent:/usr/local/bin/gpg-agent
  scdaemon:Smartcard Daemon:/usr/local/libexec/scdaemon
  gpgsm:GPG for S/MIME:/usr/local/bin/gpgsm
  dirmngr:Directory Manager:/usr/local/bin/dirmngr
  pinentry:PIN and Passphrase Entry:/usr/local/bin/pinentry
are used.  Only if gpgconf is not found gpgme will fallback to use
gpg-1.  However, sometimes you may want to use gpg 1 anyway.  To
achieve that you must use 

 -- Function: int gpgme_set_global_flag (const char *NAME,
          const char *VALUE)
     On some systems it is not easy to set environment variables and
     thus hard to use GPGME's internal trace facility for debugging.
     This function has been introduced as an alternative way to enable
     debugging and for a couple of other rarely used tweaks.  It is
     important to assure that only one thread accesses GPGME functions
     between a call to this function and after the return from the call
     to `gpgme_check_version'.

     All currently supported features require that this function is
     called as early as possible -- even before `gpgme_check_version'.
     The features are identified by the following values for NAME:


          Using this feature with any VALUE disables the detection of
          the gpgconf program and thus forces GPGME to fallback into
          the simple OpenPGP only mode.  It may be used to force the
          use of GnuPG-1 on systems which have both GPG versions
          installed.  Note that in general the use of
          `gpgme_set_engine_info' is a better way to select a specific
          engine version.



Die Gedanken sind frei.  Ausnahmen regelt ein Bundesgesetz.

More information about the Gnupg-devel mailing list