W3C home > Mailing lists > Public > w3c-ietf-xmldsig@w3.org > April to June 2001

Re: signature portability / C14N / inherited namespaces

From: merlin <merlin@baltimore.ie>
Date: Wed, 16 May 2001 17:21:13 +0100
To: "John Boyer" <JBoyer@pureedge.com>
Cc: "Rob Lugt" <roblugt@elcel.com>, w3c-ietf-xmldsig@w3.org
Message-Id: <20010516162113.AE7B044C69@yog-sothoth.ie.baltimore.com>

Hi John,

I agree that what we do is necessary. XPath is an obvious example of a
text node that relies on the namespaces in scope.

However, I still think that this subject deserves clear discussion in
the spec.

Other standards that rely on XMLDSIG will need to state explicitly
in what context the signature is valid. For example, XKMS can be
transported over SOAP. Should signatures in XKMS documents be valid
in the scope of the SOAP envelope, or only when removed from any
enclosing envelope. If this is not clearly stated, we're in for
complete interop failure. I think the fact that _every_ consumer
of XMLDSIG will have to make this decision means that it needs
better coverage in the XMLDSIG spec.

Also, do you happen to know if the following is sufficient, according
to the relevant XML standards, to eliminate all inherited namespaces
from a document subtree:

  subTree.getParentNode ().removeChild (subTree);

According to XPath, subTree will have started out with a bunch of
inherited namespace attributes. Are they now gone?


>Hi Merlin and Rob,
>The group discussed this issue at length before deciding on the current
>methodology.  If a namespace attribute is not being used anywhere within
>a document subset, and it is inheriting that declaration from the
>outside, then there is no good reason to keep the namespace declaration.
>But if a namespace declaration is inherited from the outside and it *is*
>being used, then moving the document subset from one context to the
>other changes the meaning of the signed information without breaking the
>signature.  The group's decision to always import the full namespace
>context was based on the relative difficulty of assessing whether a
>namespace attribute is actually being used.  It seemed a passable if not
>desirable compromise to put some onus on the application creating the
>signatures to capture the contexts under which they might be
>transported, even if such must be done dynamically.   
>At a minimum, the fact that my signature was taken from some context and
>placed into another means that there is already not that much of a
>burden to take my signature back out of the foreign context before
>trying to validate it.  The fact that one XML syntax might be meant as a
>container for elements in other namespaces does not mean that those
>other elements can retain their exact meaning when in the container.  To
>wit, many document processors will report errors if the root document
>element does not have the tag that they are expecting to process.  The
>element must be removed from the container before it can be used.
>John Boyer
>Senior Product Architect, Software Development
>Internet Commerce System (ICS) Team
>PureEdge Solutions Inc. 
>Trusted Digital Relationships
>v: 250-708-8047  f: 250-708-8010
>1-888-517-2675   http://www.PureEdge.com <http://www.pureedge.com/>  	
>-----Original Message-----
>From: merlin [mailto:merlin@baltimore.ie]
>Sent: Wednesday, May 16, 2001 7:29 AM
>To: Rob Lugt
>Cc: w3c-ietf-xmldsig@w3.org
>Subject: Re: signature portability / C14N / inherited namespaces 
>Hi Rob,
>>One last try at a workable solution whilst adhering to the c14n
>>specification:- re-use the same namespace prefix from the SOAP header.
>><ns:Envelope xmlns:ns="http://schemas.xmlsoap.org/soap/envelope/">
>> <ns:Body>
>>  ...
>>  <Contract xmlns="&foo;">
>>   <ns:Signature xmlns:ns="&dsig;">...</ns:Signature>
>>  </Contract>
>> </ns:Body>
>>I think the namespace prefix should ideally be a descriptive name which
>>makes this solution less than elegant.  But perhaps it satisfies your
>>current requirement?
>I've actually solved it for myself by using a framework that can
>defer signing until the final document is complete. This is okay
>for my particular needs, but it won't work for someone who is
>using, for example, Apache's SOAP framework (which never builds
>a DOM tree, but instead manually marshals the SOAP envelope in
>text format*) or who has no control over the final embedding of
>their signature.
>My concern really revolves a bit more around interop and the dsig
>spec than this particular instance.
>* It does make the namespace available, but not through DOM.
>Baltimore Technologies plc will not be liable for direct,  special,
>or consequential  damages  arising  from  alteration of  the contents of
>message by a third party or as a result of any virus being passed on.
>In addition, certain Marketing collateral may be added from time to time
>promote Baltimore Technologies products, services, Global e-Security or
>appearance at trade shows and conferences.
>This footnote confirms that this email message has been swept by
>Baltimore MIMEsweeper for Content Security threats, including
>computer viruses.
>   http://www.baltimore.com
Received on Wednesday, 16 May 2001 12:22:57 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 20:10:04 UTC