2.5.2.5 idOfficeObject Object Element

The idOfficeObject element contains the following:

  • A SignatureProperties element containing a SignatureProperty element, which MUST contain a SignatureInfoV1 element that specifies the details of a digital signature in a document. The following XML Schema specifies the contents of the SignatureProperty element:

     <?xml version="1.0" encoding="utf-8"?>
     <xsd:schema targetNamespace="http://schemas.microsoft.com/office/2006/digsig" elementFormDefault="qualified" xmlns="http://schemas.microsoft.com/office/2006/digsig" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       <xsd:simpleType name="ST_PositiveInteger">
         <xsd:restriction base="xsd:int">
           <xsd:minExclusive value="0" />
         </xsd:restriction>
       </xsd:simpleType>
       <xsd:simpleType name="ST_SignatureComments">
         <xsd:restriction base="xsd:string">
           <xsd:maxLength value="255" />
         </xsd:restriction>
       </xsd:simpleType>
       <xsd:simpleType name="ST_SignatureProviderUrl">
         <xsd:restriction base="xsd:string">
           <xsd:maxLength value="2083" />
         </xsd:restriction>
       </xsd:simpleType>
       <xsd:simpleType name="ST_SignatureText">
         <xsd:restriction base="xsd:string">
           <xsd:maxLength value="100" />
         </xsd:restriction>
       </xsd:simpleType>
       <xsd:simpleType name="ST_SignatureType">
         <xsd:restriction base="xsd:int">
           <xsd:enumeration value="1"></xsd:enumeration>
           <xsd:enumeration value="2"></xsd:enumeration>
         </xsd:restriction>
       </xsd:simpleType>
       <xsd:simpleType name="ST_Version">
         <xsd:restriction base="xsd:string">
           <xsd:maxLength value="64" />
         </xsd:restriction>
       </xsd:simpleType>
       <xsd:simpleType name="ST_UniqueIdentifierWithBraces">
         <xsd:restriction base="xsd:string">
           <xsd:pattern value="\{[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}\}|" />
         </xsd:restriction>
       </xsd:simpleType>
       <xsd:group name="EG_RequiredChildren">
         <xsd:sequence>
           <xsd:element name="SetupID" type="ST_UniqueIdentifierWithBraces"></xsd:element>
           <xsd:element name="SignatureText" type="ST_SignatureText"></xsd:element>
           <xsd:element name="SignatureImage" type="xsd:base64Binary"></xsd:element>
           <xsd:element name="SignatureComments" type="ST_SignatureComments"></xsd:element>
           <xsd:element name="WindowsVersion" type="ST_Version"></xsd:element>
           <xsd:element name="OfficeVersion" type="ST_Version"></xsd:element>
           <xsd:element name="ApplicationVersion" type="ST_Version"></xsd:element>
           <xsd:element name="Monitors" type="ST_PositiveInteger"></xsd:element>
           <xsd:element name="HorizontalResolution" type="ST_PositiveInteger"></xsd:element>
           <xsd:element name="VerticalResolution" type="ST_PositiveInteger"></xsd:element>
           <xsd:element name="ColorDepth" type="ST_PositiveInteger"></xsd:element>
           <xsd:element name="SignatureProviderId" type="ST_UniqueIdentifierWithBraces"></xsd:element>
           <xsd:element name="SignatureProviderUrl" type="ST_SignatureProviderUrl"></xsd:element>
           <xsd:element name="SignatureProviderDetails" type="xsd:int"></xsd:element>
           <xsd:element name="SignatureType" type="ST_SignatureType"></xsd:element>
         </xsd:sequence>
       </xsd:group>
       <xsd:group name="EG_OptionalChildren">
         <xsd:sequence>
           <xsd:element name="DelegateSuggestedSigner" type="xsd:string"></xsd:element>
           <xsd:element name="DelegateSuggestedSigner2" type="xsd:string"></xsd:element>
           <xsd:element name="DelegateSuggestedSignerEmail" type="xsd:string"></xsd:element>
           <xsd:element name="ManifestHashAlgorithm" type="xsd:anyURI" minOccurs="0"></xsd:element>
         </xsd:sequence>
       </xsd:group>
       <xsd:group name="EG_OptionalChildrenV2">
         <xsd:sequence>
           <xsd:element name="Address1" type="xsd:string"></xsd:element>
           <xsd:element name="Address2" type="xsd:string"></xsd:element>
         </xsd:sequence>
       </xsd:group>
       <xsd:complexType name="CT_SignatureInfoV1">
         <xsd:sequence>
           <xsd:group ref="EG_RequiredChildren" />
           <xsd:group ref="EG_OptionalChildren" minOccurs="0" />
         </xsd:sequence>
       </xsd:complexType>
       <xsd:complexType name="CT_SignatureInfoV2">
         <xsd:sequence>      <xsd:group ref="EG_OptionalChildrenV2" minOccurs="0" />
         </xsd:sequence>
       </xsd:complexType>
       <xsd:element name="SignatureInfoV1" type="CT_SignatureInfoV1"></xsd:element>
       <xsd:element name="SignatureInfoV2" type="CT_SignatureInfoV2"></xsd:element>
      </xsd:schema>
    

The child elements of the SignatureInfoV1 element are further specified as follows:

ApplicationVersion: The version of the application that created the digital signature.

ColorDepth: The color depth of the primary monitor of the computer on which the digital signature was created.

HorizontalResolution: The horizontal resolution of the primary monitor of the computer on which the digital signature was created.

ManifestHashAlgorithm: An optional element containing a URI that identifies the particular hash algorithm for the signature. The value of this element MUST be ignored.

Monitors: The count of monitors on the computer where the digital signature was created.

OfficeVersion: The version of the application suite that created the digital signature. The version can be appended with a ‘/’ followed by a signing version represented by an unsigned integer. The signing version can be used to ensure that future application versions do not attempt to verify relationships that did not exist in the signing version. Not including the ‘/’ results in all signed relationships being verified which is consistent with previous behavior.

SetupID: A GUID that can be cross-referenced with the identifier of the signature line stored in the document content.

SignatureComments: The comments on the digital signature.

SignatureImage: An image for the digital signature.

SignatureProviderDetails: The details of the signature provider. The value MUST be an integer computed from a bitmask of the flags that are described in the following table.

Value

Description

0x00000000

Specifies that there are no restrictions on the provider's usage.

0x00000001

Specifies that the provider MUST only be used for the user interface (UI).

0x00000002

Specifies that the provider MUST only be used for invisible signatures.

0x00000004

Specifies that the provider MUST only be used for visible signatures.

0x00000008

Specifies that the application UI MUST be used for the provider.

0x00000010

Specifies that the application stamp UI MUST be used for the provider.

SignatureProviderId: The class identifier of the signature provider.<31>

SignatureProviderUrl: The URL of the software used to generate the digital signature.

SignatureText: The text of actual signature in the digital signature.

SignatureType: The type of the digital signature. Its value MUST be one of those in the following table.

Value

Description

1

The digital signature MUST NOT be printed.

2

The digital signature MUST be printed.

If set to 2, there MUST be two additional objects in the signature with the following identifier values:

  • idValidSigLnImg: The image of a valid signature.

  • idInvalidSigLnImg: The image of an invalid signature.

VerticalResolution: The vertical resolution of the primary monitor of the computer on which the digital signature was created.

WindowsVersion: The version of the operating system on which the digital signature was created.

DelegateSuggestedSigner: The name of a person to whom the signature has been delegated.

DelegateSuggestedSigner2: The title of a person to whom the signature has been delegated.

DelegateSuggestedSignerEmail: The email address of a person to whom the signature has been delegated.

The child elements of the SignatureInfoV2 element are specified as follows:

Address1: The location at which the signature was created.

Address2: The location at which the signature was created.

The optional SignatureInfoV2 element is used to provide additional information to the SignatureProductionPlace element, which is specified in [XAdES] section 7.2.7.