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.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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.