XML Digital Signatures •  Chapter 5 155 <Transforms> <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped- signature" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue></DigestValue> </Reference> </SignedInfo> <SignatureValue> </SignatureValue> <KeyInfo> <KeyValue /> </KeyInfo> </Signature> <Data> The information that we want to sign goes here... </Data> </Envelope> Obviously, the rsa-sha1 in the SignatureMethod line determines the type of key that will be used for generating this signature. There are a couple of important points to notice about this file.The enveloped-signature  in the Transform  element specifies that this signature be an enveloped one.You should also note that the element Data can be called anything (and it can be physically placed anywhere in the file outside of the Signature con- text); as far as the digital signature process is concerned, it is irrelevant as long as the entire file is well-formed (i.e., proper) XML. Generating the digital signature for this code using an RSA private key gives the result that we see in Figure 5.6. Figure 5.6 Complete Enveloped XML Digital Signature <?xml version="1.0" encoding="UTF-8"?> <Envelope xmlns="urn:envelope"> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> www.syngress.com Figure 5.5 Continued Continued