XML Digital Signatures Chapter 5
147
Figure 5.1 shows the structure of a digital signature as currently defined
within the specification.
Figure 5.1 XML Digital Signature Structure
<Signature ID?>
<SignedInfo>
<CanonicalizationMethod/>
<SignatureMethod/>)
(<Reference URI?>
(<Transforms>)?
<DigestMethod>
<DigestValue>
</Reference>)+
</SignedInfo>
<SignatureValue>
(<KeyInfo>)?
(Object ID?)*
</Signature>
Lets break down this general structure in order to understand it properly.The
Signature element is the primary construct of the XML digital signature specifica-
tion.The signature can envelop or be enveloped by the local data that it is
signing, or the signature can reference an external resource. Such signatures are
detached signatures. Remember, this is a specification to describe digital signa-
tures using XML, and no limitations exist as to what is being signed.
The SignedInfo element is the information that is actually signed.This data is
sequentially processed through several steps on the way to becoming signed. A
graphical representation of this process is shown in Figure 5.2.
www.syngress.com
Figure 5.2 The Stages of Creating an XML Digital Signature
Canonicalization
Transforms
SignedInfo
DigestMethod
DigestValue