Return string instead of byte array for b64 encoded data
This commit is contained in:
parent
16a28f297c
commit
eb7347bb52
3 changed files with 22 additions and 23 deletions
|
@ -72,26 +72,22 @@ public class OlmSasTest {
|
||||||
assertEquals(codeLength, bob_sas.length);
|
assertEquals(codeLength, bob_sas.length);
|
||||||
assertArrayEquals(alice_sas, bob_sas);
|
assertArrayEquals(alice_sas, bob_sas);
|
||||||
|
|
||||||
byte[] aliceMac = aliceSas.calculateMac("Hello world!", "SAS");
|
String aliceMac = aliceSas.calculateMac("Hello world!", "SAS");
|
||||||
byte[] bobMac = bobSas.calculateMac("Hello world!", "SAS");
|
String bobMac = bobSas.calculateMac("Hello world!", "SAS");
|
||||||
|
|
||||||
assertTrue(aliceMac.length > 0 && bobMac.length > 0);
|
assertEquals(aliceMac, bobMac);
|
||||||
assertEquals(aliceMac.length, bobMac.length);
|
|
||||||
assertArrayEquals(aliceMac, bobMac);
|
|
||||||
|
|
||||||
Log.e(OlmSasTest.class.getSimpleName(), "#### Alice Mac is " + new String(aliceMac, "UTF-8"));
|
Log.e(OlmSasTest.class.getSimpleName(), "#### Alice Mac is " + aliceMac);
|
||||||
Log.e(OlmSasTest.class.getSimpleName(), "#### Bob Mac is " + new String(bobMac, "UTF-8"));
|
Log.e(OlmSasTest.class.getSimpleName(), "#### Bob Mac is " + bobMac);
|
||||||
|
|
||||||
|
|
||||||
byte[] aliceLongKdfMac = aliceSas.calculateMacLongKdf("Hello world!", "SAS");
|
String aliceLongKdfMac = aliceSas.calculateMacLongKdf("Hello world!", "SAS");
|
||||||
byte[] bobLongKdfMac = bobSas.calculateMacLongKdf("Hello world!", "SAS");
|
String bobLongKdfMac = bobSas.calculateMacLongKdf("Hello world!", "SAS");
|
||||||
|
|
||||||
assertTrue(aliceLongKdfMac.length > 0 && bobLongKdfMac.length > 0);
|
assertEquals("Mac should be the same", aliceLongKdfMac, bobLongKdfMac);
|
||||||
assertEquals(aliceLongKdfMac.length, bobLongKdfMac.length);
|
|
||||||
assertArrayEquals(aliceLongKdfMac, bobLongKdfMac);
|
|
||||||
|
|
||||||
Log.e(OlmSasTest.class.getSimpleName(), "#### Alice lkdf Mac is " + new String(aliceLongKdfMac, "UTF-8"));
|
Log.e(OlmSasTest.class.getSimpleName(), "#### Alice lkdf Mac is " + aliceLongKdfMac);
|
||||||
Log.e(OlmSasTest.class.getSimpleName(), "#### Bob lkdf Mac is " + new String(bobLongKdfMac, "UTF-8"));
|
Log.e(OlmSasTest.class.getSimpleName(), "#### Bob lkdf Mac is " + bobLongKdfMac);
|
||||||
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
|
@ -86,8 +86,7 @@ public class OlmSAS {
|
||||||
throw new OlmException(OlmException.EXCEPTION_CODE_SAS_MISSING_THEIR_PKEY, "call setTheirPublicKey first");
|
throw new OlmException(OlmException.EXCEPTION_CODE_SAS_MISSING_THEIR_PKEY, "call setTheirPublicKey first");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
byte[] shortBuffer = generateShortCodeJni(info.getBytes("UTF-8"), byteNumber);
|
return generateShortCodeJni(info.getBytes("UTF-8"), byteNumber);
|
||||||
return shortBuffer;
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Log.e(LOG_TAG, "## sessionIdentifier(): " + e.getMessage());
|
Log.e(LOG_TAG, "## sessionIdentifier(): " + e.getMessage());
|
||||||
throw new OlmException(OlmException.EXCEPTION_CODE_SAS_GENERATE_SHORT_CODE, e.getMessage());
|
throw new OlmException(OlmException.EXCEPTION_CODE_SAS_GENERATE_SHORT_CODE, e.getMessage());
|
||||||
|
@ -95,20 +94,24 @@ public class OlmSAS {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public byte[] calculateMac(String message, String info) throws OlmException {
|
public String calculateMac(String message, String info) throws OlmException {
|
||||||
try {
|
try {
|
||||||
return calculateMacJni(message.getBytes("UTF-8"), info.getBytes("UTF-8"));
|
byte[] bytes = calculateMacJni(message.getBytes("UTF-8"), info.getBytes("UTF-8"));
|
||||||
|
if (bytes != null) return new String(bytes, "UTF-8");
|
||||||
} catch (UnsupportedEncodingException e) {
|
} catch (UnsupportedEncodingException e) {
|
||||||
throw new OlmException(OlmException.EXCEPTION_CODE_SAS_ERROR, e.getMessage());
|
throw new OlmException(OlmException.EXCEPTION_CODE_SAS_ERROR, e.getMessage());
|
||||||
}
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public byte[] calculateMacLongKdf(String message, String info) throws OlmException {
|
public String calculateMacLongKdf(String message, String info) throws OlmException {
|
||||||
try {
|
try {
|
||||||
return calculateMacLongKdfJni(message.getBytes("UTF-8"), info.getBytes("UTF-8"));
|
byte[] bytes = calculateMacLongKdfJni(message.getBytes("UTF-8"), info.getBytes("UTF-8"));
|
||||||
|
if (bytes != null) return new String(bytes, "UTF-8");
|
||||||
} catch (UnsupportedEncodingException e) {
|
} catch (UnsupportedEncodingException e) {
|
||||||
throw new OlmException(OlmException.EXCEPTION_CODE_SAS_ERROR, e.getMessage());
|
throw new OlmException(OlmException.EXCEPTION_CODE_SAS_ERROR, e.getMessage());
|
||||||
}
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -148,7 +148,7 @@ JNIEXPORT void OLM_SAS_FUNC_DEF(setTheirPubKey)(JNIEnv *env, jobject thiz,jbyteA
|
||||||
}
|
}
|
||||||
else if (!(pubKeyPtr = env->GetByteArrayElements(pubKeyBuffer, &pubKeyWasCopied)))
|
else if (!(pubKeyPtr = env->GetByteArrayElements(pubKeyBuffer, &pubKeyWasCopied)))
|
||||||
{
|
{
|
||||||
LOGE(" ## generateShortCodeJni(): failure - info JNI allocation OOM");
|
LOGE(" ## setTheirPubKey(): failure - info JNI allocation OOM");
|
||||||
errorMessage = "info JNI allocation OOM";
|
errorMessage = "info JNI allocation OOM";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue