[xmlsec] xmlsec and SAML (again)

Phil Christensen pchristensen at newworldrecords.org
Thu Aug 30 12:46:09 PDT 2007


Hello all!

My name is Phil Christensen. I've been working with the Python  
bindings for the xmlsec library, and I've run into an issue that I  
see much discussed online, but cannot seem to find an answer for.

I'm trying to validate the signature on a SAML response message, but  
having problems because the signature refers to an ID in the  
enclosing document. There's a thread about it here:

	http://www.aleksey.com/pipermail/xmlsec/2007/003806.html

The short version is that when I attempt to verify the signature, I  
get the following errors:


	func=xmlSecXPathDataExecute:file=xpath.c:line=273:
		obj=unknown:subj=xmlXPtrEval:error=5:
			libxml2 library function failed:
				expr=xpointer(id('ac26828d19f8dba20bee0f5b90807edc'))
	func=xmlSecXPathDataListExecute:file=xpath.c:line=356:
		obj=unknown:subj=xmlSecXPathDataExecute:error=1:
			xmlsec library function failed:
	func=xmlSecTransformXPathExecute:file=xpath.c:line=466:
		obj=xpointer:subj=xmlSecXPathDataExecute:error=1:
			xmlsec library function failed:
	func=xmlSecTransformDefaultPushXml:file=transforms.c:line=2371:
		obj=xpointer:subj=xmlSecTransformExecute:error=1:
			xmlsec library function failed:
	func=xmlSecTransformCtxXmlExecute:file=transforms.c:line=1207:
		obj=unknown:subj=xmlSecTransformPushXml:error=1:
			xmlsec library function failed:transform=xpointer
	func=xmlSecTransformCtxExecute:file=transforms.c:line=1267:
		obj=unknown:subj=xmlSecTransformCtxXmlExecute:error=1:
			xmlsec library function failed:
	func=xmlSecDSigReferenceCtxProcessNode:file=xmldsig.c:line=1568:
		obj=unknown:subj=xmlSecTransformCtxExecute:error=1:
			xmlsec library function failed:
	func=xmlSecDSigCtxProcessSignedInfoNode:file=xmldsig.c:line=804:
		obj=unknown:subj=xmlSecDSigReferenceCtxProcessNode:error=1:
			xmlsec library function failed:node=Reference
	func=xmlSecDSigCtxProcessSignatureNode:file=xmldsig.c:line=547:
		obj=unknown:subj=xmlSecDSigCtxProcessSignedInfoNode:error=1:
			xmlsec library function failed:
	func=xmlSecDSigCtxVerify:file=xmldsig.c:line=366:
		obj=unknown:subj=xmlSecDSigCtxSigantureProcessNode:error=1:
			xmlsec library function failed:


 From what I gather, there's a xmlAddID() function in libxml2 that  
allows you to manually register an entity for an existing ID, but  
it's not exposed by either the libxml2 or xmlsec Python bindings.

I'm just looking for any help at all in getting to the next step on  
this. I know that this list is more specific to the original C  
library than any of the higher-level bindings, but I figured this  
would be the best place to start.

At the very least, it would be great if I could get a better  
understanding of what the problem actually is, so that I can direct  
my questions to the appropriate people.

Thanks in advance,

-phil christensen




More information about the xmlsec mailing list