Re: Idempotent XML processing

2005-08-19 Thread Will McCutchen
> Read up on XML canonicalization (abrreviated as c14n). lxml implements > this, also xml.dom.ext.c14n in PyXML. You'll need to canonicalize on > both ends before hashing. I said normalization but I think canonicalization is the word I was looking for. I wasn't aware that lxml implented it (or th

Re: Idempotent XML processing

2005-08-19 Thread Michael Ekstrand
On Aug 19, 2005, at 1:20 PM, Robert Kern wrote: > Read up on XML canonicalization (abrreviated as c14n). lxml implements > this, also xml.dom.ext.c14n in PyXML. You'll need to canonicalize on > both ends before hashing. > > To paraphrase an Old Master, if you are running a cryptographic hash > over

Re: Idempotent XML processing

2005-08-19 Thread Michael Ekstrand
On Aug 19, 2005, at 12:11 PM, Will McCutchen wrote: >> In my current project, I am working with XML data in a protocol that >> has >> checksum/signature verification of a portion of the document. >> ... >> the server sends me XML with empty elements as full open/close tags, >> but toxml() serializ

Re: Idempotent XML processing

2005-08-19 Thread Robert Kern
Michael Ekstrand wrote: > Hello all, > > In my current project, I am working with XML data in a protocol that has > checksum/signature verification of a portion of the document. There is > an envelope with a header element, containing signature data; following > the header is a body. The signatu

Re: Idempotent XML processing

2005-08-19 Thread Will McCutchen
> In my current project, I am working with XML data in a protocol that has > checksum/signature verification of a portion of the document. > ... > the server sends me XML with empty elements as full open/close tags, > but toxml() serializes them to the XML empty element (), so > the checksum winds

Idempotent XML processing

2005-08-19 Thread Michael Ekstrand
Hello all, In my current project, I am working with XML data in a protocol that has checksum/signature verification of a portion of the document. There is an envelope with a header element, containing signature data; following the header is a body. The signatures are computed as cryptographic c