- From: Gregor Karlinger <Gregor.Karlinger@iaik.at>
- Date: Wed, 12 Jan 2000 12:55:48 +0100
- To: "Joseph M. Reagle Jr." <reagle@w3.org>
- CC: ML W3C XML-Signature <w3c-ietf-xmldsig@w3.org>
- Message-ID: <387C6BC4.1869742@iaik.at>
As I read through the latest draft, I found some inconsistencies regarding the content models of algorithm identifiers, like CanonicalizationMethod or SignatureMethod, and Transform. My interpretation so far has been as follows: Both all algorithm identifiers (elements CanonicalizationMethod, SignatureMethod, DigestMethod) and the Transform element share a common content model which equals to following DTD snippets: <!ELEMENT SignatureMethod Parameter* > <!ELEMENT DigestMethod Parameter* > <!ELEMENT CanonicalizationMethod Parameter* > <!ELEMENT Transform Parameter* > This allows the core to deal with arbitrary algorithms and transforms without having to know any details about the parameters of them. The core simply passes on a list of Parameters, whereas the order of the list is given by the document order of the XML document. Now that I have carefully re-read the draft, I am not sure if my interpretation is right. On the one hand most of the Schema and DTD definitions support my assumption, such as those in sections - 3.3.1 (CanonicalizationMethod) - 3.3.2 (SignatureMethod) - 3.3.3.2 (DigestMethod) - 3.3.3.1 (Transform, only Schema) Additionally I have found the following sentence in section 3.3.3.1: "Each Transform consists of an Algorithm attribute, optional Type and Charset attributes, and content parameters, if any, appropriate for the given algorithm." On the other hand there are some other parts of the draft, which contradict my interpretation: - section 3.3.3.1: DTD for Transform element has content model 'ANY' - section 5.1, last two sentences of first paragraph: "Explicit additional parameters to an algorithm appear as content elements within the algorithm role element. Such parameter elements have a descriptive element name, which is frequently algorithm specific, and MUST be in an algorithm specific namespace." - section 5.3, code example for SignatureMethod: <SignatureMethod Algorithm="&dsig;/hmac-sha1"> <hmac-outputlength xmlns="&dsig;/hmac-sha1"> 128 </hmac-outputlength> </SignatureMethod> - section 5.6.3, first sentence: "The Transform element content MUST conform to the XML Path Language [XPath] syntax." - section 5.6.4, first sentence: "The Transform element content MUST conform to the XML Pointer Language [XPointer] syntax." - section 5.6.5, first sentence: "The Transform element content MUST conform to the XSL Transforms [XSLT] language syntax." In spite of these contradictions I think that my interpretation has a lot of advantages because of its generic approach. I would be pleased to hear any comments on that topic, especially if there are arguments against my interpretation. Gregor -- --------------------------------------------------------------- Gregor Karlinger mailto://gregor.karlinger@iaik.at Institute for Applied Information Processing and Communications Austria ---------------------------------------------------------------
Received on Wednesday, 12 January 2000 06:56:11 UTC