Robert,

Attached is a log of the backtrace when I try to use Thunderbird to decrypt an 
email. As you can see in the log it reaches C_DecryptUpdate(), but then asserts 
at cmscipher.c:452.

Now we use OpenSSL to perform these cryptographic operations and if you give 
its DecryptUpdate() function exactly (N * blocksize) of data then it will keep 
1 block back waiting for either a DecryptUpdates() with more data or a 
DecryptFinal() at which stage it will return the plaintext of that last block.

So what I think is happening here is that you call DecryptUpdate() with data 
which fall on the blocksize boundary and OpenSSL buffer the last blocksize of 
data and you expect everything back and therefore asserts. My question then is 
why do you call DecryptUpdate() here. A Decrypt() would solve my problem.

Thanks for your time!
Regards,
LJB





-- 
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to