The crypto objects are now saved as String to keep the backward compliancy.

This commit is contained in:
ylecollen 2017-01-09 13:56:41 +01:00
parent 7bf7a7e415
commit 30c8d069bc

View file

@ -48,22 +48,32 @@ abstract class CommonSerializeUtils {
if(null == pickledData) { if(null == pickledData) {
throw new OlmException(OlmException.EXCEPTION_CODE_ACCOUNT_SERIALIZATION, String.valueOf(errorMsg)); throw new OlmException(OlmException.EXCEPTION_CODE_ACCOUNT_SERIALIZATION, String.valueOf(errorMsg));
} else { } else {
aOutStream.writeObject(key); aOutStream.writeObject(new String(key, "UTF-8"));
aOutStream.writeObject(pickledData); aOutStream.writeObject(new String(pickledData, "UTF-8"));
} }
} }
/** /**
* Kick off the deserialization mechanism. * Kick off the deserialization mechanism.
* @param aInStream input stream * @param aInStream input stream
* @throws IOException exception * @throws Exception the exception
* @throws ClassNotFoundException exception
*/ */
protected void deserialize(ObjectInputStream aInStream) throws IOException, ClassNotFoundException { protected void deserialize(ObjectInputStream aInStream) throws Exception {
aInStream.defaultReadObject(); aInStream.defaultReadObject();
byte[] key = (byte[]) aInStream.readObject(); String keyAsString = (String)aInStream.readObject();
byte[] pickledData = (byte[]) aInStream.readObject(); String pickledDataAsString = (String)aInStream.readObject();
byte[] key;
byte[] pickledData;
try {
key = keyAsString.getBytes("UTF-8");
pickledData = pickledDataAsString.getBytes("UTF-8");
} catch (Exception e) {
throw new OlmException(OlmException.EXCEPTION_CODE_ACCOUNT_DESERIALIZATION, e.getMessage());
}
if (null == key) { if (null == key) {
throw new OlmException(OlmException.EXCEPTION_CODE_ACCOUNT_DESERIALIZATION, OlmException.EXCEPTION_MSG_INVALID_PARAMS_DESERIALIZATION+" key"); throw new OlmException(OlmException.EXCEPTION_CODE_ACCOUNT_DESERIALIZATION, OlmException.EXCEPTION_MSG_INVALID_PARAMS_DESERIALIZATION+" key");
@ -76,5 +86,5 @@ abstract class CommonSerializeUtils {
} }
protected abstract byte[] serialize(byte[] aKey, StringBuffer aErrorMsg); protected abstract byte[] serialize(byte[] aKey, StringBuffer aErrorMsg);
protected abstract void deserialize(byte[] aSerializedData, byte[] aKey) throws IOException; protected abstract void deserialize(byte[] aSerializedData, byte[] aKey) throws Exception;
} }