[xmlsec] Still problems signing using Reference URI

Erik F. Andersen ea at ascott.dk
Thu Nov 4 10:20:40 PST 2004


Eureka, you made my day!!!!

There is one small nag however. I build my tree entirely in code and the signing will not work unless I save the tree to a file using xmlDocDumpMemory and then reload it using xmlParseFile. Is there some initialization I have to do after I add the DTD at runtime but before xmlSecDSigCtxSign is called? I use the following code to load the DTD (again in Delphi):

dtd := XMLParseDTD(nil, 'mydtd.dtd');
if (rootNode^.ns=nil) or
    (rootNode^.ns^.prefix=nil) then
  dtd^.name := xmlStrDup(rootNode^.name)
else
  dtd^.name := XMLStrDup(PChar((rootNode^.ns^.prefix+':'+rootNode^.name)));
dtd^.systemid := nil;
xmlDoc^.intSubset := dtd;
if (xmlDoc^.children=nil) then
  xmlAddChild(xmlNodePtr(xmlDoc), xmlNodePtr(dtd))
else
  xmlAddPrevSibling(xmlDoc^.children, xmlNodePtr(dtd));

Thank you again! This is the culmination of weeks of frustrating debugging (ok, I'm new to XML and dSig).

Regards,
Erik



More information about the xmlsec mailing list