Hi Cedric,

  Your case is very strange indeed. I use this kind of c14n and I've
never found a problem(and is a very common case so more people and the
test cases will also fail). So I thinking that perhaps the DOM parser
to blame, so:
which java version and in which OS are you using?
Which DOM parser?
How do you obtain the dom parser?

With this perhaps we can help you a little more.

Regards,
Raul
hptt://r-bg.com


On Wed, 9 Feb 2005 14:52:42 +0100, Cédric POTHIN
<[EMAIL PROTECTED]> wrote:
>  
>  
> 
> I have a problem with the exclusive canonicalizer without comments class in 
> 
> the xml security 1.2 source code. 
> 
>   
> 
> I have the following document : 
> 
>   
> 
> <roap:riHello xmlns:roap="urn:oma:bac:dldrm:roap-1.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; sessionId="292241414"
> status="Success"> 
> 
>   <selectedVersion>1.0</selectedVersion> 
> 
>  <riID> 
> 
>     <keyIdentifier xsi:type="roap:X509SPKIHash"> 
> 
>       <hash>sk+4JImZCG+IV4/c+Pw9FeAbhuc=</hash> 
> 
>     </keyIdentifier> 
> 
>   </riID> 
> 
>   <riNonce>316532319</riNonce> 
> 
>   <serverInfo></serverInfo> 
> 
>   <extensions> 
> 
>     <extension xsi:type="roap:CertificateCaching"></extension> 
> 
>   </extensions> 
> 
> </roap:riHello> 
> 
>   
> 
> If I canonicalize the previous document using the exclusive without comment
> algo 
> 
> the document I get is the following: 
> 
>   
> 
> <roap:riHello xmlns:roap="urn:oma:bac:dldrm:roap-1.0" sessionId="1144777697"
> status="Success"> 
> 
>   <selectedVersion>1.0</selectedVersion> 
> 
>   <riID> 
> 
>     <keyIdentifier xsi:type="roap:X509SPKIHash"> 
> 
>        <hash>sk+4JImZCG+IV4/c+Pw9FeAbhuc=</hash> 
> 
>     </keyIdentifier> 
> 
>    </riID> 
> 
>   <riNonce>1061456201</riNonce> 
> 
>   <serverInfo></serverInfo> 
> 
>   <extensions> 
> 
>      <extension xsi:type="roap:CertificateCaching"></extension> 
> 
>   </extensions> 
> 
> </roap:riHello> 
> 
>   
> 
> As you can see the xmlns:xsi is removed from the roap:riHello element, 
> 
> but not added to the keyIdentifier and the extension element. 
> 
>   
> 
> So If I input the result document in a DOM parser it just said not bound 
> 
> exception "xsi is not bound". 
> 
>   
> 
>   
> 
> Well at this point I try to understood the problem and I check the source
> code of xml sec 1.2. 
> 
>   
> 
> I found something very strange: 
> 
>   
> 
> In the parsing of the doc in the canonicalizerSubTree method there is a call
> to the method 
> 
> handlesAttributes that handles the attributes of the current node of the doc
> parsing. 
> 
> In debugging the method I found that when the parser comes to 
> <keyIdentifier xsi:type="roap:X509SPKIHash"> 
> 
> for instance then the Attr object in the handlesAttributes method is of
> class AttrImpl and not AttrNSImpl 
> 
> so the call to the Attr.getPrefix() always return null if Attr is instance
> of AttrImpl ! Whereas there is actually a prefix that is xsi !!!! 
> 
> So the attribute namespace is not seen as visiblyUtilized !!! 
> 
>   
> 
> Do you know why I have a AttrImpl object instance instead of a AttrNSImp
> that should 
> 
> handle the namespace prefix correctly? 
> 
>   
> 
> Do you think it is a bug in the dom parser or in the  xml sec source code or
> is it something I don't understand 
> 
> or something wrong with my document ? 
> 
>   
> 
> Thank you in advance for any answers. 
> 
>   
> 
> Cédric 
> 
>   
> 
>   
> 
>   
> 
>

Reply via email to