XML Digital Signatures Chapter 5
161
</KeyValue>
</KeyInfo>
</Signature>
</Envelope>
All Together Now: An Example
of Multiple References
We can combine these basic forms in whatever way is necessary for a particular
use. In particular, we can sign multiple messages by having an appropriate
Reference element for each data message.We can even create a digital signature
that is enveloped and enveloping a detached all at the same time. Figure 5.10
shows how easily this can be done. (For the sake of brevity, we do not show the
canonical templateby now you can see what it should look like.
Figure 5.10 An Enveloped XML Signature, Enveloping and Detached
Simultaneously
<?xml version="1.0" encoding="UTF-8"?>
<Envelope xmlns="urn:envelope">
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-
xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-
sha1"/>
<Reference URI="file:///home/skip/xml/weather.xml">
<Transforms>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>NQb4am0ZWOLeZmw1MTZ60hNOAWA=</DigestValue>
</Reference>
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped
-signature"/>
www.syngress.com
Figure 5.9 Continued
Continued