Francisco Sepulveda <[EMAIL PROTECTED]> wrote on 01/08/2008 02:55:46
PM:

> Michael, if i understand right the http://www.remote-server.com/file.doc
> by definition (w3c) is a detached signature because it point to a
> "thing" located external to the signature itself

"Enveloped or enveloping signatures are over data within the same XML
document as the signature; detached: signatures are over data external to
the signature element."

The problem is that you do not know whether file.doc is the XML document
containing the Signature. Essentially:
<Reference URI="http://www.remote-server.com/file.doc";>
might be equivalent to:
<Reference URI="">


>
> Francisco
>
>
>
>
>
>
>
> > Subject: Re: doubt with enveloped signature concept
> > To: security-dev@xml.apache.org
> > CC: [EMAIL PROTECTED]; security-dev@xml.apache.org
> > From: [EMAIL PROTECTED]
> > Date: Tue, 8 Jan 2008 14:48:52 -0500
> >
> > [EMAIL PROTECTED] wrote on 01/08/2008 02:30:00 PM:
> >
> > > Francisco Sepulveda wrote:
> > > > Hello, I'm having problems with respect to what i understand about
the
> > > > concept of an "enveloped signature"
> > > >
> > > > The W3C define the signature as /"The signature is over the XML
content
> >
> > > > that contains the signature as an element. The content provides the
> > root
> > > > XML document element. Obviously, enveloped signatures must take
care
> > not
> > > > to include their own value in the calculation of the |
SignatureValue|"/
> > > >
> > > > I have seen that the following xml document has a broad acceptation
as
> > a
> > > > typical use of digital signature .... the classic enveloped
signature
> > of
> > > > the whole document
> > > >
> > > > <document>
> > > > <element>
> > > > </element>
> > > > <signature>
> > > > <SignedInfo>
> > > > ...
> > > > <Reference URI="">
> > > > <Transforms>
> > > > <Transform
> > > > Algorithm=http://www.w3.org/2000/09/xmldsig#enveloped-signature/>
> > > > </Transforms>
> > > > <DigestMethod .../>
> > > > <DigestValue> .... </DigestValue>
> > > > </Reference>
> > > > </SignedInfo>
> > > > ...
> > > > </signature>
> > > > </document>
> > > >
> > > > In the above example, there is clear for me that the signature is
child
> >
> > > > of the xml content being signed.
> > > >
> > > > But i read in a book from McGrawHill an it shows this example of a
> > > > signature that is enveloped, enveloping and detached...
> > > >
> > > > * *
> > > >
> > > > *<Contract1>*
> > > >
> > > > * <ImportantContent Id="ImportantElement">*
> > > >
> > > > * This is important content!*
> > > >
> > > > * </ImportantContent>*
> > > >
> > > > * *
> > > >
> > > > * <Signature Id="ThreeTypes">*
> > > >
> > > > * <SignedInfo>*
> > > >
> > > > * <Reference
> > > > URI=**"http://www.remote-server.com/file.doc";>*
> > > >
> > > > * . . .*
> > > >
> > > > * </Reference>*
> > > >
> > > > * <Reference URI=**"#contract2">*
> > > >
> > > > * . . .*
> > > >
> > > > * </Reference>*
> > > >
> > > > * <Reference URI=**"#ImportantElement">*
> > > >
> > > > * . . .*
> > > >
> > > > * </Reference>*
> > > >
> > > > * </SignedInfo>*
> > > >
> > > > * <SignatureValue> . . . </SignatureValue>*
> > > >
> > > > * <Object Id="contract2">*
> > > >
> > > > * <Contract2> This is also very important
> > > > content! </Contract2>*
> > > >
> > > > * </Object>*
> > > >
> > > > * </Signature>*
> > > >
> > > > *</Contract1>*
> > > >
> > > > * *
> > > >
> > > > *FOR ME, the detached and enveloping signature are REALLY clear,
but i
> > > > have doubt about the enveloped signature .... the book said*
> > > >
> > > > * *
> > > >
> > > > *"The Signature Element is enveloped by the <Contract1> element.
This
> > > > particular association gives the XML Signature the enveloped
property"*
> > > >
> > > > * *
> > > >
> > > > * *
> > > >
> > > >
> > > > So, that is my point, maybe i'm wrong but for me the <Reference
> > > > URI=*"#ImportantElement"> is a detached signature or not???*
> > >
> > > Based on the example above, you're right and the book is wrong. If in
> > > the example above, the ImportantElement ID was an attribute of the
> > > Content element then it would be enveloped. It might be nice to send
the
> > > author a comment about that.
> >
> > I think there is a misunderstanding. This statement
> > "The Signature Element is enveloped by the <Contract1> element. This
> > particular association gives the XML Signature the enveloped property"
> > is correct. The Contract1 element envelopes the Signature element.
> >
> > The <Reference URI=*"#ImportantElement"> is a detached Signature..
> >
> > What we do not know, without more information, is whether the
<Reference
> > URI="http://www.remote-server.com/file.doc";> points to the document
that
> > contains the Contract1 element. If it does, that is an Enveloped
Signature.
> >
> > >
> > > >
> > > > My final question is, if a really want to sign the
<ImportantContent>
> > > > element using an enveloped signature. Do i really need to put the
> > > > signature as child of the <ImportantContent> element or not?? does
the
> > > > location of the signature have a significant impact?
> > >
> > > Yes, otherwise it is not an enveloped signature.
> > >
> > > > or when the
> > > > signature is enveloped it is allways located as the "last child" of
the
> >
> > > > document element inside an XML document..
> > >
> > > It doesn't have to be the last child, it could be the first, the
second,
> > > or any descendant element.
> > >
> > > --Sean
> >
>
>
> Express yourself instantly with MSN Messenger! MSN Messenger

Reply via email to