2.4.2.12 Job Signature

A 32-bit JOB_SIGNATURE_HEADER and 64-byte signature (see the following) MAY follow the array of triggers.

The following fields Byte1 through Byte64 contain the 64-byte signature.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

SignatureVersion

MinClientVersion

Byte1

Byte2

Byte3

Byte4

...

Byte61

Byte62

Byte63

Byte64

SignatureVersion (2 bytes): Set to 1.

MinClientVersion (2 bytes): Set to 1.

If the .JOB file does not contain a complete JOB_SIGNATURE_HEADER and signature, or if the SignatureVersion and MinClientVersion fields do not contain the value 1, the recipient ignores the signature.

The signature is calculated as follows:

  • The Security Identifier (SID) of the file owner, the uuidJob field of the FIXDLEN_DATA structure, and the null-terminated string value from Application Name in the variable-length data section is bytewise concatenated in a buffer.

  • A 16-byte MD5 [RFC1321] hash of the buffer is calculated.

  • A private key is obtained from the system to be used for the digital signature.<24>

  • The hash is signed using MD5, and the signed hash is placed in the 64 bytes after the JOB_SIGNATURE_HEADER.