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.
