You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
256 lines
12 KiB
256 lines
12 KiB
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<title>XML Canonicalization Requirements Document</title>
|
|
<link REL="stylesheet" TYPE="text/css" media="screen"
|
|
HREF="http://www.w3.org/StyleSheets/TR/W3C-NOTE.css">
|
|
</head>
|
|
|
|
<body>
|
|
<div class="head">
|
|
|
|
<p><a href="http://www.w3.org/" title="Go to W3C Home Page"><img height="48" width="72"
|
|
alt="W3C" src="http://www.w3.org/Icons/w3c_home"></a></p>
|
|
|
|
<h1 class="notoc">XML Canonicalization Requirements</h1>
|
|
|
|
<h2 class="notoc">W3C Note 5-June-1999</h2>
|
|
</div>
|
|
|
|
<dl>
|
|
<dt>This version:</dt>
|
|
<dd><a HREF="http://www.w3.org/TR/1999/NOTE-xml-canonical-req-19990605" class="loc">http://www.w3.org/TR/1999/NOTE-xml-canonical-req-19990605</a></dd>
|
|
<dt>Latest version:</dt>
|
|
<dd><a class="loc" href="http://www.w3.org/TR/NOTE-xml-canonical-req">http://www.w3.org/TR/NOTE-xml-canonical-req</a></dd>
|
|
<dt>Previous version</dt>
|
|
<dd><a HREF="http://www.w3.org/TR/1999/NOTE-xml-canonical-req-19990307" class="loc">http://www.w3.org/TR/1999/NOTE-xml-canonical-req-19990307</a></dd>
|
|
<dt>Editors</dt>
|
|
<dd><span class="author"><span class="name">James Tauber</span> <i>(<a
|
|
HREF="mailto:jtauber@jtauber.com"><span class="email">jtauber@jtauber.com</span></a>)</i> <br>
|
|
<span class="name">Joel Nava</span> <i>(<a HREF="mailto:jnava@adobe.com"><span
|
|
class="email">jnava@adobe.com</span></a>)</i></span></dd>
|
|
</dl>
|
|
|
|
<p class="copyright"><a rel="Copyright"
|
|
href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"><br>
|
|
Copyright</a> © 1999 <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a> (<a
|
|
href="http://www.lcs.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>, <a href="http://www.inria.fr/"><abbr lang="fr" title="Institut National de Recherche en
|
|
Informatique et Automatique">INRIA</abbr></a>, <a
|
|
href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a
|
|
href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a
|
|
href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>, <a
|
|
rel="Copyright" href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a>
|
|
and <a rel="Copyright" href="http://www.w3.org/Consortium/Legal/copyright-software">software
|
|
licensing</a> rules apply.</p>
|
|
|
|
<h4 CLASS="status">Status of this document</h4>
|
|
|
|
<p>This is a W3C Note produced as a deliverable of the XML Syntax WG according to its
|
|
charter. A list of current W3C Working Drafts and Notes can be found at <a
|
|
HREF="http://www.w3.org/TR">http://www.w3.org/TR</a>.</p>
|
|
|
|
<p>This document is a work in progress representing the current consensus of the W3C XML
|
|
Syntax Working Group. This version of the XML Canonicalization Requirements document has
|
|
been approved by the XML Syntax Working Group and the XML Plenary to be posted for review
|
|
by W3C members and other interested parties. Publication of this specification does not
|
|
imply endorsement by the W3C membership. Comments should be sent to the automatically and
|
|
publicly archived email list: <a HREF="mailto:www-xml-canonicalization-comments@w3.org">www-xml-canonicalization-comments@w3.org</a>.</p>
|
|
|
|
<p>This document is being processed according to the following review schedule: </p>
|
|
|
|
<table BORDER="1" CELLSPACING="2" CELLPADDING="0" FRAME="BORDER" WIDTH="96%">
|
|
<caption>Review Schedule </caption>
|
|
<tbody>
|
|
<tr>
|
|
<th>Process</th>
|
|
<th>Closing Date</th>
|
|
<th>Status</th>
|
|
<th>Contact</th>
|
|
</tr>
|
|
<tr>
|
|
<td>XML Syntax WG sign off</td>
|
|
<td>1999/05/26</td>
|
|
<td>Done</td>
|
|
<td>XML Syntax WG</td>
|
|
</tr>
|
|
<tr>
|
|
<td>XML CG Review</td>
|
|
<td>199/05/28</td>
|
|
<td>Done</td>
|
|
<td>XML Syntax WG</td>
|
|
</tr>
|
|
<tr>
|
|
<td>XML-DSig review</td>
|
|
<td>1999/06/4</td>
|
|
<td>Done</td>
|
|
<td>XML Syntax WG, W3C/IETF XML-DSig WG, <a HREF="mailto:$reagle@w3.org">reagle@w3.org</a></td>
|
|
</tr>
|
|
<tr>
|
|
<td>XML Plenary sign off</td>
|
|
<td>1999/06/4</td>
|
|
<td>Done</td>
|
|
<td><a HREF="mailto:jnava@adobe.com">jnava@adobe.com</a>, <a
|
|
HREF="mailto:jtauber@jtauber.com">jtauber@jtauber.com</a>, <a HREF="mailto:$reagle@w3.org">reagle@w3.org</a></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Publish as W3C Note</td>
|
|
<td>1999/06/7</td>
|
|
<td>Done</td>
|
|
<td><a HREF="mailto:www-xml-canonicalization-comments@w3.org">www-xml-canonicalization-comments@w3.org</a></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Checkpoint of comments</td>
|
|
<td>1999/06/28</td>
|
|
<td>Underway</td>
|
|
<td><a HREF="mailto:www-xml-canonicalization-comments@w3.org">www-xml-canonicalization-comments@w3.org</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<p>Comments about this document should be submitted to the "contact" listed
|
|
above for each process.</p>
|
|
|
|
<h4 CLASS="abstract">Abstract</h4>
|
|
|
|
<p>This document lists the design principles, scope and requirements for the
|
|
Canonicalization of XML for digital signatures in XML and XML Processor conformance. These
|
|
are being developed by the World Wide Web Consortium's XML Syntax Working Group.</p>
|
|
|
|
<h2 CLASS="table-of-contents">Table of Contents</h2>
|
|
|
|
<dl>
|
|
<dt>1. <a HREF="#intro">Introduction</a> </dt>
|
|
<dt>2. <a HREF="#design-principles-scope">Design Principles and Scope</a> </dt>
|
|
<dt>3. <a HREF="#requirements">Requirements</a> </dt>
|
|
<dt>4. <a HREF="#references">References</a> </dt>
|
|
</dl>
|
|
<div CLASS="div1">
|
|
|
|
<h2><a NAME="intro"></a>1. Introduction</h2>
|
|
|
|
<p>The XML 1.0 Recommendation [XML] describes the syntax of a class of data objects called
|
|
XML documents. It is possible, however, for logically equivalent XML documents to differ
|
|
in their physical representation. In particular, two equivalent XML documents may differ
|
|
on such issues as physical (i.e. entity) structure, attribute ordering, character encoding
|
|
and insignificant whitespace. This means that equivalence testing cannot be done at the
|
|
byte level for arbitrary XML documents. Though, byte level equivalence testing is useful
|
|
in the domain of digital signatures for XML.</p>
|
|
|
|
<p>Work has started elsewhere on the broader question of digital signatures in XML
|
|
[IOTP-DSig, Brown-XML-DSig, DOMHASH]. The W3C hosted a workshop on signed XML [DS-XML],
|
|
and is forming a W3C/IETF XML-DSig WG [XML-DSig].</p>
|
|
|
|
<p>The Canonical XML specification aims to introduce a notion of equivalence between XML
|
|
documents which can be tested at the syntactic level and, in particular, by byte-for-byte
|
|
comparison. It shall describe the canonicalization of XML documents such that logically
|
|
equivalent documents will have the same byte-for-byte representation. This form is
|
|
referred to as the canonical form of the document.</p>
|
|
</div><div CLASS="div1">
|
|
|
|
<h2><a NAME="design-principles-scope"></a>2. Design Principles and Scope</h2>
|
|
|
|
<ol>
|
|
<li>The specification for Canonical XML shall describe how to derive the canonical form of
|
|
any XML document. </li>
|
|
<li>Canonicalization shall reflect the logical structure of the XML document and decide
|
|
whether to retain any of the physical (i.e. entity) structure. </li>
|
|
<li>The specification shall not consider the canonicalization of the document type
|
|
declaration. </li>
|
|
<li>The specification shall consider the canonicalization of documents that make use of
|
|
namespaces. </li>
|
|
<li>Canonicalization shall be designed to be consistent with the XML Information Set
|
|
Specification [Infoset-WD] and W3C I18N work [Char-Mod, Char-Req]. </li>
|
|
<li>Canonicalization shall be designed in coordination with the W3C/IETF XML-DSig WG
|
|
[XML-DSig], and the XML Information Set WG. To that end, The XML Syntax WG shall do the
|
|
following: <ol>
|
|
<li>Allow WG emails, to do with canonicalization, to be summarized, forwarded, or cross
|
|
posted to the XML-DSig WG's public email list and the XML Information Set WG's internal
|
|
email list. </li>
|
|
<li>Be dependent on the review of the Specification by the XML-DSig WG and the, XML
|
|
Information Set WG and allow them to hold up the Last Call, PR or REC process if needed. </li>
|
|
</ol>
|
|
</li>
|
|
<li>The specification proposes to describe 3 level of canonicalization, changeable by the
|
|
needs of the DSig WG: <dl>
|
|
<dd>Level 0 - Do nothing to the XML document. </dd>
|
|
<dd>Level 1 - Convert the encoding of the document to UTF-8 is it is not already UTF-8 </dd>
|
|
<dd>Level 2 - Whatever is decided upon as full Canonicalization. </dd>
|
|
</dl>
|
|
</li>
|
|
<li>The WG will decide if it can propose one full Canonicalization for both use cases, or to
|
|
come up with different algorithms for each. <dl>
|
|
<dd> </dd>
|
|
<dd> </dd>
|
|
</dl>
|
|
</li>
|
|
</ol>
|
|
</div><div CLASS="div1">
|
|
|
|
<h2><a NAME="requirements"></a>3. Requirements</h2>
|
|
|
|
<ol>
|
|
<li>Every XML document shall have a unique canonical form. </li>
|
|
<li>The canonical form of an XML document shall be a well formed XML document with the
|
|
following invariant property: <ol>
|
|
<li>Any XML document, say X, processed by a canonicalizer, will produce an XML Document X'. </li>
|
|
<li>X' passed through the same canonicalizer must produce X'. </li>
|
|
<li>X' passed through any other conforming canonicalizer should produce X', or else one of
|
|
them in not conformant. </li>
|
|
</ol>
|
|
</li>
|
|
<li>Canonicalization shall produce byte comparable forms of characters defined by Unicode
|
|
[Unicode] to be equivalent. </li>
|
|
<li>The canonical form shall use the terms from, and work in cooperation with the XML
|
|
Information Set WG to ensure there is no confusion between the Canonicalization and
|
|
Information Set specifications. </li>
|
|
</ol>
|
|
</div><div CLASS="div1">
|
|
|
|
<h2><a NAME="references"></a>4. References</h2>
|
|
|
|
<dl>
|
|
<dt>XML </dt>
|
|
<dd><i>Extensible Markup Language (XML) Recommendation.</i> <tt><a
|
|
HREF="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a></tt> </dd>
|
|
<dt>Namespaces </dt>
|
|
<dd><i>Namespaces in XML Recommendation.</i> <tt><a
|
|
HREF="http://www.w3.org/TR/REC-xml-names">http://www.w3.org/TR/REC-xml-names</a></tt> </dd>
|
|
<dt>Infoset-WD </dt>
|
|
<dd><i>XML Information Set Working Draft of May 17, 1999.</i> <tt><a
|
|
HREF="http://www.w3.org/TR/NOTE-xml-infoset-req">http://www.w3.org/TR/xml-infoset</a></tt>
|
|
</dd>
|
|
<dt>Char-Mod </dt>
|
|
<dd><i>Character Model for the World Wide Web Working Draft</i> <tt><a
|
|
HREF="http://www.w3.org/TR/WD-charmod">http://www.w3.org/TR/WD-charmod</a></tt> </dd>
|
|
<dt>Char-Req </dt>
|
|
<dd><i>Requirements for String Identity and Character Indexing Definitions for the WWW</i> <tt><a
|
|
HREF="http://www.w3.org/TR/WD-charreq">http://www.w3.org/TR/WD-charreq</a></tt> </dd>
|
|
<dt>XML-DSig </dt>
|
|
<dd><i>The W3C/IETF XML-DSig Charter </i><tt><a
|
|
HREF="http://www.w3.org/1999/05/XML-DSig-charter-990521.html">http://www.w3.org/1999/05/XML-DSig-charter-990521.html</a></tt>
|
|
</dd>
|
|
<dt>Unicode </dt>
|
|
<dd>The Unicode Consortium. <i>The Unicode Standard, Version 2.0.</i> Reading, Mass.:
|
|
Addison-Wesley Developers Press, 1996 </dd>
|
|
<dt>IOTP-DSig </dt>
|
|
<dd>Internet Draft. <i>Digital Signatures for the Internet Open Trading Protocol</i> <tt><a
|
|
HREF="http://www.ietf.org/internet-drafts/draft-ietf-trade-iotp-v1.0-dsig-00.txt">http://www.ietf.org/internet-drafts/draft-ietf-trade-iotp-v1.0-dsig-00.txt</a></tt>
|
|
</dd>
|
|
<dt>Brown-XML-DSig </dt>
|
|
<dd>Internet Draft. <i>Digital Signatures for XML</i> <tt><a
|
|
HREF="http://search.ietf.org/internet-drafts/draft-brown-xml-dsig-00.txt">http://search.ietf.org/internet-drafts/draft-brown-xml-dsig-00.txt</a></tt>
|
|
</dd>
|
|
<dt>DOMHASH </dt>
|
|
<dd>Internet Draft. <i>Digest Values for DOM (DOMHASH)</i> <tt><a
|
|
HREF="http://search.ietf.org/internet-drafts/draft-hiroshi-dom-hash-01.txt">http://search.ietf.org/internet-drafts/draft-hiroshi-dom-hash-01.txt</a></tt>
|
|
</dd>
|
|
<dt>DS-XML </dt>
|
|
<dd><i>XML-DSig '99: The W3C Signed XML Workshop</i> <tt><a
|
|
HREF="http://www.w3.org/1999/02/ds-xml-cfp-19990218.html">http://www.w3.org/1999/02/ds-xml-cfp-19990218.html</a></tt>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
</body>
|
|
</html>
|