1.3.4 Visual Basic for Applications Digital Signature

The Visual Basic for Applications (VBA) digital signature structure (section 2.3.2) is contained in a wrapping structure that is specific to the mechanism the file format uses to store the signature.

In the formats described in [MS-XLS] and [MS-PPT], the signature structure is stored in the Document Summary Information OLE property set (section 2.3.3.2.2.1) as a VT_BLOB TypedPropertyValue property. The following diagram illustrates the relative structures for this storage mechanism.

VBA digital signature storage as OLE property set property

Figure 5: VBA digital signature storage as OLE property set property

In the format described in [MS-DOC], the signature structure is stored in the StwUser string table ([MS-DOC] section 2.9.298) as the value of Unicode string variables named "Sign" or "SigAgile". The following diagram illustrates the relative structures for this storage mechanism.

VBA digital signature storage as [MS-DOC] string table variable

Figure 6: VBA digital signature storage as [MS-DOC] string table variable

The signature structure consists of information about the digital signature, as well as the signature (section 2.3.2.4) itself, and a serialized certificate store (section 2.3.2.5.5). The following diagram illustrates this structure.

DigSigInfoSerialized structure

Figure 7: DigSigInfoSerialized structure