My basic understanding of how a sign tool works is:
Load the zip-file (may be exe, jar, ddl, apk, etc.) which has to be signed to its memory (cache memory of the sign tool).
Verify it and unzip the file again into its memory
Generate the hash of all the files inside the zip-file.
Encrypt the hash-code using the digital certificate from CA.
Append the encrypted values to the zip-file and return the signed file.
I am confused by the memory used by the sign tool to load, unzip and generate hash code. How does that work? If the memory is managed by the sign tool, how will that work when we sign a huge file, i.e. several gigabytes?