Canonical XML , a technology particularly important for
implementation of XML-based digital signatures, has been
released as an official W3C Recommendation.
Canonical XML is important in part as an enabling technology
for XML-Signature, which in turn is
important as a means for digitally signing documents:
contracts, documents used in electronic
commerce, or messages of any kind whose internal
integrity and authenticy it might be important to
verify.
The announcement of the release of the
Canonical XML Recommendation states that XML-Signature
"already enjoys significant implementation",
but the XML-Signature Working Group's Web
site doesn't seem to provide any details at all about
existing implementations of the technology.
The Canonical XML specification itself does not
discuss application of the technology, but XML
canonicalization of course has applications outside of
digital signatures.
Note that the Canonical XML specification is also
significant in that it was produced by a joint W3C/IETF
working group.
Canonical XML provides a standard means for enabling
"correct" byte-for-byte comparisons of XML
documents.
Two XML documents which may not be byte-for-byte
identical are said to be "logically
equivalent" if their information content is the
same, but they differ only in areas defined as
insignificant by the XML specification, such as attribute
ordering and use of certain whitespace. The Canonical XML
specification defines an XML canonicalization algorithm for
taking an XML document and generating a so-called canonical form of it that can be
correctly compared, byte-for-byte, to canonical forms of
other documents.
The canonical forms of any two logically equivalent
XML documents will always be byte-for-byte identical. If
a comparision of the canonical forms of two documents
shows that they are not byte-for-byte identical,
it indicates that the information content of the two
documents is not logically equivalent; that is, the
documents are not the "same thing".
|