If I understand your question correctly, just look at some of the test
cases in the code itself, and I suspect you'll find examples of what you
want to do pretty quickly - as well as the code to work with the items
in question. Look in the "data" folder for a document that closely
matches what you want.
-Eric.
On 3/14/11 5:45 PM, Michael Bishop wrote:
What an enveloped signature signs has to do with what it's
reference(s) point to rather than where it is located.
OK, I think I'm getting the idea here. So, if we take the example of
a "guest book", where each person who signs the guest book only signs
his/her entry, we must use references.
<guestbook>
<!-- Chuck's entry in the guest book. -->
<entry id="chuck"/>
<!-- Jane's entry in the guest book. -->
<entry id="jane"/>
<!-- Giles' entry in the guest book. -->
<entry id="giles"/>
<!-- Chuck's signature that signs his entry. -->
<ds:Signature>
<ds:Reference URI="#chuck"/>
</ds:Signature>
<!-- Jane's signature that signs her entry. -->
<ds:Signature>
<ds:Reference URI="#jane"/>
</ds:Signature>
<!-- Giles' signature that signs his entry. -->
<ds:Signature>
<ds:Reference URI="#giles"/>
</ds:Signature>
</guestbook>
In the above example, those signature could live anywhere (I guess in
a true "enveloped" environment, they would live inside the <entry>
elements), as long as they point to the proper URIs. Are those the
proper URIs? How do you tag content with reference points? Do I have
to use a <ds:Object> element to do that as in enveloping signatures?
Basically, how do I properly sign multiple content with multiple
signatures in the same document? Are there any good references I can
read through?
Thanks,
Michael
On Sat, Mar 12, 2011 at 1:21 AM, Malcolm Young
<[email protected] <mailto:[email protected]>> wrote:
What an enveloped signature signs has to do with what it's
reference(s) point to rather than where it is located. The
enveloped part simply indicates it is "somewhere" within the
signed content and will need to be removed prior to processing.
And yes - same document references are usually represented with
an empty uri which means the entire content is signed or an
X-Pointer reference to an ID (like Uri="#_someID") which means the
element with the ID value AND ALL of it's descendants will be
signed. Again, this has nothing to do with WHERE in the document
the signautre element is.
Cheers,
mal
On Sat, Mar 12, 2011 at 2:37 PM, Michael Bishop
<[email protected] <mailto:[email protected]>> wrote:
An enveloped signature is over the data that contains the
Signature element.
Can you elaborate on this? Here's an example.
<root>
<content/>
<ds:Signature/>
</root>
What is signed here? <root>? Or both <root> and <content>?
<root>
<content>
<ds:Signature/>
</content>
</root>
I would assume that in this case, only <content> is signed.
I understand that typically, an enveloped signature signs the
content represented by its parent. But does it sign the
parent AND all the parent's children?
<root>
<content/>
<subContent/>
</content>
<moreContent>
<subContent/>
</moreContent>
<ds:Signature/>
</root>
I would assume this signature signs the entire document. If
not, how would I do that?
Thanks,
Michael
On Wed, Mar 9, 2011 at 10:00 AM, Michael Bishop
<[email protected] <mailto:[email protected]>> wrote:
OK, this is now issue 265 in the Santuario project. I
attached a test case and the certificate I'm using for the
test. Thanks for checking into it.
Michael
On Wed, Mar 9, 2011 at 4:47 AM, Colm O hEigeartaigh
<[email protected] <mailto:[email protected]>> wrote:
Can you create a test-case and attach it to JIRA and
I'll take a look?
Thanks,
Colm.
On Tue, Mar 8, 2011 at 8:57 PM, Michael Bishop
<[email protected] <mailto:[email protected]>> wrote:
> Hello,
>
> I'm having a problem with created an enveloped
signature. I was able to
> create an enveloping signature just fine, but the
enveloped signature hangs
> on the XMLSignature.sign(privateKey) method for a
long time, before throwing
> an error.
>
> I was able to figure out what the error was; by
default, the
> XMLSignature.sign(privateKey) method was trying to
access
> http://www.w3.org/2000/09/xmldsig#rsa-sha1 and
failing. I can pull that up
> in my browser, so I don't know why it's hanging
there. I didn't have this
> issue with an enveloping signature.
>
> I wrote an extension of ResourceResolverSpi and mapped
> http://www.w3.org/2000/09/xmldsig#rsa-sha1 to point
to the schema included
> in the XML Security JAR file. That works fine, but
I'm wondering what the
> best solution is, and why enveloped signatures need
to access this URL at
> all?
>
> I can provide code as needed if it's necessary.
>
> Thanks,
>
> Michael Bishop
>