asn: refactoring GetCertHeader to reduce stack usage: ~ sizeof(mp_int) bytes moved to the heap.
--- variable mpi moved to the heap (~ sizeof(mp_int) bytes saved)
asn: refactoring DecryptKey to reduce stack usage: 64 bytes - pointer size moved to the heap.
--- variable key moved to the heap (64 bytes saved)
asn: refactoring ToTraditionalEnc to reduce stack usage: 128 bytes - pointers size moved to the heap.
--- variable salt moved to the heap (64 bytes saved)
--- variable cbcIv moved to the heap (64 bytes saved)
asn: refactoring GetKey to reduce stack usage: 610 bytes - pointers size moved to the heap.
--- variable keyBlob moved to the heap (610 bytes saved)
asn: refactoring DerToPem to reduce stack usage: 160 bytes - pointers size moved to the heap.
--- variable header moved to the heap (80 bytes saved)
--- variable footer moved to the heap (80 bytes saved)
asn: refactoring SetEccPublicKey to reduce stack usage: 296 bytes - pointers size moved to the heap.
--- variable algo moved to the heap (20 bytes saved)
--- variable curve moved to the heap (20 bytes saved)
--- variable pub moved to the heap (256 bytes saved)
asn: refactoring SetRsaPublicKey to reduce stack usage: 553 bytes - pointers size moved to the heap.
--- variable n moved to the heap (517 bytes saved)
--- variable e moved to the heap (16 bytes saved)
--- variable algo moved to the heap (20 bytes saved)
asn: refactoring SetName to reduce stack usage: 1152 bytes - pointers size moved to the heap.
--- variable names moved to the heap (1152 bytes saved)
add stack reduction macros
asn: refactoring ConfirmSignature to reduce stack usage:
--- variable digest moved to the heap (20..64 bytes saved)
--- variable pubKey moved to the heap (sizeof(RsaKey) bytes saved)
--- variable encodedSig moved to the heap (512 bytes saved)
--- variable plain moved to the heap (512 bytes saved)
--- variable pubKey moved to the heap (sizeof(ecc_key) bytes saved)
--- variable md2 moved to the heap (sizeof(Md2) bytes saved)
--- variable md5 moved to the heap (sizeof(Md5) bytes saved)
--- variable sha moved to the heap (sizeof(Sha) bytes saved)
--- variable sha256 moved to the heap (sizeof(Sha256) bytes saved)
--- variable sha384 moved to the heap (sizeof(Sha384) bytes saved)
--- variable sha512 moved to the heap (sizeof(Sha512) bytes saved)

fix - In some cases, the function was returning error codes, that could be interpreted as a false positive.
add hash utility functions to promote cleaner code, smaller footprint, centralized logs and error handling.
asn: refactoring MakeSignature to reduce stack usage:
--- variable encSig moved to the heap (98 bytes saved)
--- variable md5 moved to util function (sizeof(Md5) bytes saved)
--- variable sha moved to util function (sizeof(Sha) bytes saved)
--- variable sha256 moved to util function (sizeof(Sha256) bytes saved)

add cast to variables that may not be used in some builds.
fix - put RSA code inside #ifndef NO_RSA
asn: refactoring SignCert to reduce stack usage: 512 bytes - pointers size moved to the heap.
--- variable sig moved to the heap (1152 bytes saved)
asn: refactoring MakeAnyCert to reduce stack usage:
--- variable der moved to the heap (sizeof(DerCert) bytes saved)

asn: refactoring MakeCertReq to reduce stack usage:
--- variable der moved to the heap (sizeof(DerCert) bytes saved)
asn: refactoring SetAltNamesFromCert to reduce stack usage:
--- variable decoded moved to the heap (sizeof(DecodedCert) bytes saved)

asn: refactoring SetDatesFromCert to reduce stack usage:
--- variable decoded moved to the heap (sizeof(DecodedCert) bytes saved)

asn: refactoring SetNameFromCert to reduce stack usage:
--- variable decoded moved to the heap (sizeof(DecodedCert) bytes saved)
asn: refactoring EccPrivateKeyDecode to reduce stack usage (199 bytes - pointer sizes saved):
--- variable priv moved to the heap (66 bytes saved)
--- variable pub moved to the heap (133 bytes saved)