[Ikvm-developers] (no subject)
Brought to you by:
jfrijters
From: <jua...@gm...> - 2007-03-04 16:48:55
|
Hi, I have a problem with my C# code using the Java Cryptography Extension (JCE). I'm trying to cipher an object with the Cipher.doFinal(byte[]) method. To cast the object into a byte array i'm serializing it this way: internal byte[] aBytes() { MemoryStream memStream = new MemoryStream(); BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(memStream, this); memStream.Close(); return memStream.ToArray(); } This should write the "this" object into memStream, and then return memStream's underlying array of bytes. Then I call the doFinal(byte[]) method: byte[] bytes_info = info.aBytes(); Cipher cipher = Cipher.getInstance(algoritmo); cipher.init(Cipher.ENCRYPT_MODE, clavePublica); bytes = cipher.doFinal(bytes_info); "info" is the object I serialize. The problem comes at the last line. I get an ArrayIndexOutOfBoundsException, which is not even thrown by the doFinal method! What's happening? Maybe the error is due to a wrong serialization... Thanks in advance |