W3C home > Mailing lists > Public > w3c-ietf-xmldsig@w3.org > April to June 2002

Re: Interop and c14n(x) != c14n(c14n(x))

From: Christian Geuer-Pollmann <geuer-pollmann@nue.et-inf.uni-siegen.de>
Date: Tue, 28 May 2002 15:53:25 +0200
To: merlin <merlin@baltimore.ie>
Cc: reagle@w3.org, w3c-ietf-xmldsig@w3.org
Message-ID: <24901226.1022601205@pinkpanther>
Hi Merlin,


>> That would be VERY nice. In all other test vectors I use for unit
>> testing  and interop, I don't have such esoteric node sets.
>
> Sure, I'll try sending along something.

Cool, thanks in advance.

>> It's not that important, just an idea. If you take this fragment and you
>> take all nodes but the notIncluded element into the node set:
>>
>> <included xml:foo="bar" xml:lang="de">
>> <notIncluded>
>> <included>
>> </included>
>> </notIncluded>
>> </included>
>>
>> Then Canonical XML produces the following octet stream:
>>
>> <included xml:foo="bar" xml:lang="de">
>>
>> <included xml:foo="bar" xml:lang="de">
>> </included>
>>
>> </included>
>>
>> If you canonicalize this octet stream again, you get
>>
>> <included xml:foo="bar" xml:lang="de">
>>
>> <included>
>> </included>
>>
>> </included>
>
> That's not correct; repeated xml:* attributes are not suppressed,
> they are emitted at every element that defines them.

Sorry, even for (inclusive) c14n? I mean, the first c14n step takes a node 
set input and therefore must emit the xml:* attributes each time it the 
parent is not in the node set. But if the resulting octet stream from the 
1st c14n is c14nized again, it is parsed into a node set, and this time, 
all nodes are in the document subset, so as far as I understood the 
processing, the 2nd xml:* attributes are omitted.

Kind regards,
Christian
Received on Tuesday, 28 May 2002 09:48:24 GMT

This archive was generated by hypermail 2.2.0 + w3c-0.29 : Thursday, 13 January 2005 12:10:15 GMT