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

Reply via email to