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

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 (Element/), so the checksum

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 signatures

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() serializes them to

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 a

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 that