This should go to the FAQ. Q: My Signature/C14n don't validate, please HELP!!! A: This can happen for several reasons. But check: 1. is the DocumentBuilder namespace aware? (Check if it the method setNamespaceAware(true) has been called before newDocumentBuilder() used to parse or create the document) .... [Add more info regarding c14n problems, how to obtain what is signed, etc...)
Regards, Raul On 9/17/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
Hi I am a XML-signature newbie and I am trying to figure out how to verify an XML Signature with default namespace: <samlp:Response xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" ...> <saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" ...> <saml:Conditions ...> ... </saml:Conditions> <saml:AuthenticationStatement ...>...</ saml:AuthenticationStatement> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> ... </Signature> </saml:Assertion> . I have tried to use the example from src_samples/org/apache/xml/security/samples/signature/ to do this. Here is a snippet of my code: Document doc = builder.parse(new InputSource(new StringReader(xmlString))); Element sigElement = (Element) XPathAPI.selectSingleNode(doc, "//Signature[1]"); XMLSignature signature = new XMLSignature(sigElement, "http://"); It fails on the last line, throwing the exception: org.apache.xml.security.exceptions.XMLSecurityException: Cannot create a null:null from a http://www.w3.org/2000/09/xmldsig#:Signature element at org.apache.xml.security.utils.ElementProxy.guaranteeThatElementInCorrectSpace(ElementProxy.java:272) at org.apache.xml.security.utils.ElementProxy.<init>(ElementProxy.java:209) at org.apache.xml.security.utils.SignatureElementProxy.<init>(SignatureElementProxy.java:54) at org.apache.xml.security.signature.XMLSignature.<init>(XMLSignature.java:255) Any ideas? Best regards, Vidar
-- http://r-bg.com