Roumen
Thank you, but - with my "commenting out the rm" hack - I seem to have
achieved success (and many, many thanks to you and others who have helped).
More than just success - I have made my changes (tiny really) in the
approximate fashion suggested by Aleksey (I implemented a sub-set of
callbacks for dealing with "cid:" prefixed references and registered
them in xmlSecIORegisterDefaultCallbacks in xmlsec's io.c module - only
a sub-set, because only the "match" and "open" functions needed to
differ from the standard "File" callbacks). I have that working and it
is now doing what I needed: placing digests of both the SOAP document
itself, and the referenced XML "payload" document into the SignedInfo
Reference elements of the SOAP document before creating the digital
signature and putting that in the SignatureValue element.
The crucial thing for me is that it appears to pass muster with the
system I am sending it to as a valid signature.
I will, when I have time (project completed - invoice sent), write up
the whole procedure I used to build all of the libraries (zlib, iconv,
openssl, libxml2, libxslt and xmlsec) from the ground up in MinGW/MSys
as a reference for the future and post a link to it here. I am sure
that I have not done it the best way, but at least I have got it to work
(which, while only a small virtue, is an important one... to me at least
<g>).
Thank you all again!
Mike
On 10/02/2013 14:39, Roumen Petrov wrote:
Mike Peat wrote:
Hi Roumen
[SNIP]
//===================
...
make[5]: Entering directory
`/projects/xmlsec1/xmlsec1-1.2.18/include/xmlsec'
----------------------------------------------------------------------
*** WARNING ***:
You seem to have old xmlsec header files installed in:
"/projects/xmlsec1/xmlsec1-1.2.18/include/xmlsec"
This is old default location : $(includedir)/xmlsec
The entire directory will be removed now.
To allow parallel installation of different xmlsec library versions,
the header files are now installed in a version specific subdirectory:
"/projects/xmlsec1/xmlsec1-1.2.18/include/xmlsec1/xmlsec"
, i.e. new one is is $(includedir)/xmlsec1/xmlsec. Note extra
subdirectory 'xmlsec1' in path.
----------------------------------------------------------------------
rm: cannot remove directory
`/projects/xmlsec1/xmlsec1-1.2.18/include/xmlsec': Permission denied
I think this is windows limitation - a process still use old header
location or race condition from antivirus or ....
May be for details you would like to review cygwin implementation of
removal commands and hacks for microsoft OS-es.
[SNIP]
xmlsecincdir = $(includedir)/xmlsec1/xmlsec
...
remove-old-headers:
@if test "x$(DESTDIR)" = "x" && test -d "$(includedir)/xmlsec";
then \
[SNIP]
echo " \"$(xmlsecincdir)\""; \
[SNIP]
rm -rf "$(includedir)/xmlsec"; \
fi
[SNIP]
My workaround was just to comment-out the "rm" line, which resulted
in workingness.
I suspect that this is an actual bug rather than an aspect of my
stupidity.
I don't know why in you environment exists
.../xmlsec1-1.2.18/include/xmlsec.
This is not real issue (see above old vs new location).
May be one minus before remove commands just to ignore results is enough.
If I'm right for race in recursive removal then after reboot OLD
directory won't exists.
Mike
[SNIP]
Roumen
.
_______________________________________________
xmlsec mailing list
[email protected]
http://www.aleksey.com/mailman/listinfo/xmlsec