1 Oct 2006 17:56
javax.crypto fixes
Marco Trudel <mtrudel <at> gmx.ch>
2006-10-01 15:56:12 GMT
2006-10-01 15:56:12 GMT
I fixed some stuff in javax.crypto: 1. decryption with padding was broken/wrong handled 2. CipherOutputStream was completly broken/unusuable 3. PKCS7 did an unnecessary test 1. decryption with padding needs to keep back the last block for final unpadding when doFinal() is called. This wasn't done. doFinal() lead to an exception. Actually, padded decrypting only worked correct when all data was passed by doFinal(byte[]) or when there where update() calls that filled the data to a multiple of the blocklengh and doFinal was called with the rest of the data. This fixes CiperInputStream as well, because it relies on the correct doFinal() handling of the cipher class. 2. CipherOutputstream had a lot of code that did nothing except leading to a NullPointerException when calling write(...) (outBuffer was never initialized). It looks to me like the code should have worked around the bugs in CipherAdapter. But that should have been done in CipherInputStream?! 3. PKCS7 unpadding tested a value that was just read with itself. Fixed it because I was already reading it... Nothing big... Any comments? Hints? I have no committing rights and the copyright assignment papers are not yet arrived with mail. This might be a problem... Marco(Continue reading)
Escape the Java Trap with GNU Classpath!
RSS Feed