GPGME failing on XP Embedded

Miguel Castrillo castrillo.miguel at gmail.com
Sun Jan 3 15:28:10 CET 2016


Hello,

I managed to solve my problem with gpgme on Windows by using gpg4win light
DLL's, imps and headers:

https://lists.gnupg.org/pipermail/gnupg-devel/2015-September/030301.html

I could create a C++ program in Visual Studio and run it on Windows 7 32
bit and Windows XP 32 bit. The problem is that on Windows XP Embedded it
happens the same as when I was compiling the DLL's myself. It appears that
the w32spawn cannot get the configuration from the gpg2conf file.

That's why I tried on a Windows XP Home 32 bit machine and all run smoothly
at the first try. But I need it to be working on Windows XP Embedded also.

The logfile is pretty much the same as in my previous thread, with the
invalid crypto engine error.

I don't know if you support Windows XP Embedded or you have seen the same
problems before... any help would be very welcomed.

Regards,

​GPGME 2016-01-03 13:59:57 <0x0910>  gpgme_debug: level=9
GPGME 2016-01-03 13:59:57 <0x0910>  gpgme_debug: gpgme='C:\opt\ai1send'
GPGME 2016-01-03 13:59:57 <0x0910>  gpgme_check_version: call: 0=00000000,
req_v
ersion=(null), VERSION=1.6.0
GPGME 2016-01-03 13:59:57 <0x0910>  gpgme_check_version_internal: call:
0=000000
00, req_version=(null), offset_sig_validity=32
GPGME 2016-01-03 13:59:57 <0x0910>  gpgme_set_locale: enter: ctx=00000000,
categ
ory=2, value=English_United States.1252
GPGME 2016-01-03 13:59:57 <0x0910>  gpgme_set_locale: leave
GPGME 2016-01-03 13:59:57 <0x0910>  gpgme_new: enter: r_ctx=0012F598
GPGME 2016-01-03 13:59:57 <0x0910>  gpgme-dinfo: gpgconf='C:\Program
Files\GNU\G
nuPG\gpgconf.exe'
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_pipe: enter:
filedes=0012EEE8, i
nherit_idx=1 (GPGME uses it for reading)
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_pipe: leave: read=0x0
(0000077C/
0x0), write=0x1 (00000774/0x0)
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: enter:
path=00A95690, pat
h=C:\Program Files\GNU\GnuPG\gpgconf.exe
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: check:
path=00A95690, arg
v[ 0] = C:\Program Files\GNU\GnuPG\gpgconf.exe
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: check:
path=00A95690, arg
v[ 1] = --list-dirs
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: check:
path=00A95690, tmp
_name = C:\Documents and Settings\ADMINI~1\LOCALS~1\Temp\gpgme-gRRmh9
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: check:
path=00A95690, Cre
ateProcess ready: hProcess=0000075C, hThread=00000758, dwProcessID=3484,
dwThrea
dId=2584
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: check:
path=00A95690, pro
cess=0000075C
GPGME 2016-01-03 13:59:57 <0x0910>      _gpgme_io_close: enter: fd=00000001
GPGME 2016-01-03 13:59:57 <0x0910>      _gpgme_io_close: check:
fd=00000001, fd=
1 -> handle=00000774 socket=-1 dupfrom=-1
GPGME 2016-01-03 13:59:57 <0x0910>      _gpgme_io_close: leave: result=0
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: check:
path=00A95690, fd[
0] = 0x1 -> 0x4 (stdout)
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: leave: result=0
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_read: enter: fd=00000000,
buffer
=0012EEFC, count=1023
GPGME 2016-01-03 13:59:57 <0x0910>      gpgme:create_reader: enter:
fd=00000000
GPGME 2016-01-03 13:59:57 <0x0910>      gpgme:create_reader: check:
fd=00000000,
 fd=0 -> handle=0000077C socket=-1 dupfrom=-1
GPGME 2016-01-03 13:59:57 <0x0910>
 gpgme:get_desired_thread_priority: cal
l: 0=00000000, 2 (default)
GPGME 2016-01-03 13:59:57 <0x0910>      gpgme:create_reader: leave
GPGME 2016-01-03 13:59:57 <0x052c>  gpgme:reader: enter:
ctx->file_hd=0000077C,
file_sock=-1, thread=00000774
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_read: check: fd=00000000,
waitin
g for data from thread 00000774
GPGME 2016-01-03 13:59:57 <0x052c>  gpgme:reader: check:
ctx->file_hd=0000077C,
reading 4095 bytes
GPGME 2016-01-03 13:59:57 <0x052c>  gpgme:reader: check:
ctx->file_hd=0000077C,
got EOF (broken pipe)
GPGME 2016-01-03 13:59:57 <0x052c>  gpgme:reader: check:
ctx->file_hd=0000077C,
waiting for close
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_read: check: fd=00000000,
data f
rom thread 00000774 available
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_read: leave: result=0
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_close: enter: fd=00000000
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_close: check: fd=00000000,
fd=0
-> handle=0000077C socket=-1 dupfrom=-1
GPGME 2016-01-03 13:59:57 <0x052c>  gpgme:reader: leave
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_close: leave: result=0
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_pipe: enter:
filedes=0012EEE8, i
nherit_idx=1 (GPGME uses it for reading)
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_pipe: leave: read=0x0
(00000774/
0x0), write=0x1 (00000778/0x0)
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: enter:
path=00A95690, pat
h=C:\Program Files\GNU\GnuPG\gpgconf.exe
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: check:
path=00A95690, arg
v[ 0] = C:\Program Files\GNU\GnuPG\gpgconf.exe
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: check:
path=00A95690, arg
v[ 1] = --list-components
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: check:
path=00A95690, tmp
_name = C:\Documents and Settings\ADMINI~1\LOCALS~1\Temp\gpgme-ylASo8
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: check:
path=00A95690, Cre
ateProcess ready: hProcess=00000750, hThread=00000748, dwProcessID=2644,
dwThrea
dId=2532
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: check:
path=00A95690, pro
cess=00000750
GPGME 2016-01-03 13:59:57 <0x0910>      _gpgme_io_close: enter: fd=00000001
GPGME 2016-01-03 13:59:57 <0x0910>      _gpgme_io_close: check:
fd=00000001, fd=
1 -> handle=00000778 socket=-1 dupfrom=-1
GPGME 2016-01-03 13:59:57 <0x0910>      _gpgme_io_close: leave: result=0
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: check:
path=00A95690, fd[
0] = 0x1 -> 0x4 (stdout)
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: leave: result=0
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_read: enter: fd=00000000,
buffer
=0012EEFC, count=1023
GPGME 2016-01-03 13:59:57 <0x0910>      gpgme:create_reader: enter:
fd=00000000
GPGME 2016-01-03 13:59:57 <0x0910>      gpgme:create_reader: check:
fd=00000000,
 fd=0 -> handle=00000774 socket=-1 dupfrom=-1
GPGME 2016-01-03 13:59:57 <0x0910>
 gpgme:get_desired_thread_priority: cal
l: 0=00000000, 2 (default)
GPGME 2016-01-03 13:59:57 <0x0910>      gpgme:create_reader: leave
GPGME 2016-01-03 13:59:57 <0x03bc>  gpgme:reader: enter:
ctx->file_hd=00000774,
file_sock=-1, thread=00000778
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_read: check: fd=00000000,
waitin
g for data from thread 00000778
GPGME 2016-01-03 13:59:57 <0x03bc>  gpgme:reader: check:
ctx->file_hd=00000774,
reading 4095 bytes
GPGME 2016-01-03 13:59:57 <0x03bc>  gpgme:reader: check:
ctx->file_hd=00000774,
got EOF (broken pipe)
GPGME 2016-01-03 13:59:57 <0x03bc>  gpgme:reader: check:
ctx->file_hd=00000774,
waiting for close
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_read: check: fd=00000000,
data f
rom thread 00000778 available
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_read: leave: result=0
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_close: enter: fd=00000000
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_close: check: fd=00000000,
fd=0
-> handle=00000774 socket=-1 dupfrom=-1
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_close: leave: result=0
GPGME 2016-01-03 13:59:57 <0x03bc>  gpgme:reader: leave
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_pipe: enter:
filedes=0012F2CC, i
nherit_idx=1 (GPGME uses it for reading)
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_pipe: leave: read=0x0
(00000778/
0x0), write=0x1 (0000075C/0x0)
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: enter:
path=00A95690, pat
h=C:\Program Files\GNU\GnuPG\gpgconf.exe
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: check:
path=00A95690, arg
v[ 0] = C:\Program Files\GNU\GnuPG\gpgconf.exe
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: check:
path=00A95690, arg
v[ 1] = --version
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: check:
path=00A95690, tmp
_name = C:\Documents and Settings\ADMINI~1\LOCALS~1\Temp\gpgme-uzfqw7
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: check:
path=00A95690, Cre
ateProcess ready: hProcess=00000758, hThread=0000074C, dwProcessID=2552,
dwThrea
dId=3516
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: check:
path=00A95690, pro
cess=00000758
GPGME 2016-01-03 13:59:57 <0x0910>      _gpgme_io_close: enter: fd=00000001
GPGME 2016-01-03 13:59:57 <0x0910>      _gpgme_io_close: check:
fd=00000001, fd=
1 -> handle=0000075C socket=-1 dupfrom=-1
GPGME 2016-01-03 13:59:57 <0x0910>      _gpgme_io_close: leave: result=0
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: check:
path=00A95690, fd[
0] = 0x1 -> 0x4 (stdout)
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_spawn: leave: result=0
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_read: enter: fd=00000000,
buffer
=0012F2D4, count=79
GPGME 2016-01-03 13:59:57 <0x0910>      gpgme:create_reader: enter:
fd=00000000
GPGME 2016-01-03 13:59:57 <0x0910>      gpgme:create_reader: check:
fd=00000000,
 fd=0 -> handle=00000778 socket=-1 dupfrom=-1
GPGME 2016-01-03 13:59:57 <0x0910>
 gpgme:get_desired_thread_priority: cal
l: 0=00000000, 2 (default)
GPGME 2016-01-03 13:59:57 <0x0948>  gpgme:reader: enter:
ctx->file_hd=00000778,
file_sock=-1, thread=0000075C
GPGME 2016-01-03 13:59:57 <0x0910>      gpgme:create_reader: leave
GPGME 2016-01-03 13:59:57 <0x0948>  gpgme:reader: check:
ctx->file_hd=00000778,
reading 4095 bytes
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_read: check: fd=00000000,
waitin
g for data from thread 0000075C
GPGME 2016-01-03 13:59:57 <0x0948>  gpgme:reader: check:
ctx->file_hd=00000778,
got EOF (broken pipe)
GPGME 2016-01-03 13:59:57 <0x0948>  gpgme:reader: check:
ctx->file_hd=00000778,
waiting for close
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_read: check: fd=00000000,
data f
rom thread 0000075C available
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_read: leave: result=0
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_close: enter: fd=00000000
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_close: check: fd=00000000,
fd=0
-> handle=00000778 socket=-1 dupfrom=-1
GPGME 2016-01-03 13:59:57 <0x0948>  gpgme:reader: leave
GPGME 2016-01-03 13:59:57 <0x0910>    _gpgme_io_close: leave: result=0
GPGME 2016-01-03 13:59:57 <0x0910>  gpgme_new: leave: ctx=00A955A0
GPGME 2016-01-03 13:59:57 <0x0910>  gpgme_set_protocol: enter:
ctx=00A955A0, pro
tocol=0 (OpenPGP)
GPGME 2016-01-03 13:59:57 <0x0910>  gpgme_set_protocol: leave
GPGME 2016-01-03 13:59:57 <0x0910>  gpgme_set_armor: call: ctx=00A955A0,
use_arm
or=1 (yes)
GPGME 2016-01-03 13:59:57 <0x0910>  engine.c:365: returning error: Invalid
crypt
o engine
GPGME 2016-01-03 13:59:57 <0x0910>  engine.c:155: returning error: Invalid
crypt
o engine
Encrypter.cpp:103: GPGME: Invalid crypto engine
​

-- 
----------------------------------------------
Miguel Castrillo Melguizo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/attachments/20160103/832c6448/attachment-0001.html>


More information about the Gnupg-devel mailing list