Update verifyEd25519Signature() unit test: add a test to detect a key length too small
- add logs in verifyEd25519SignatureJni() to print the key used
This commit is contained in:
parent
b140e48183
commit
b0fc867bfe
2 changed files with 9 additions and 2 deletions
|
@ -86,12 +86,18 @@ public class OlmUtilityTest {
|
||||||
assertTrue(isVerified);
|
assertTrue(isVerified);
|
||||||
assertTrue(String.valueOf(errorMsg).isEmpty());
|
assertTrue(String.valueOf(errorMsg).isEmpty());
|
||||||
|
|
||||||
// check a bad signature is detected and the error message is not empty
|
// check a bad signature is detected => errorMsg = BAD_MESSAGE_MAC
|
||||||
String badSignature = "Bad signature Bad signature Bad signature..";
|
String badSignature = "Bad signature Bad signature Bad signature..";
|
||||||
isVerified = utility.verifyEd25519Signature(badSignature, fingerPrintKey, message, errorMsg);
|
isVerified = utility.verifyEd25519Signature(badSignature, fingerPrintKey, message, errorMsg);
|
||||||
assertFalse(isVerified);
|
assertFalse(isVerified);
|
||||||
assertFalse(String.valueOf(errorMsg).isEmpty());
|
assertFalse(String.valueOf(errorMsg).isEmpty());
|
||||||
|
|
||||||
|
// check bad fingerprint size => errorMsg = INVALID_BASE64
|
||||||
|
String badSizeFingerPrintKey = fingerPrintKey.substring(fingerPrintKey.length()/2);
|
||||||
|
isVerified = utility.verifyEd25519Signature(messageSignature, badSizeFingerPrintKey, message, errorMsg);
|
||||||
|
assertFalse(isVerified);
|
||||||
|
assertFalse(String.valueOf(errorMsg).isEmpty());
|
||||||
|
|
||||||
utility.releaseUtility();
|
utility.releaseUtility();
|
||||||
account.releaseAccount();
|
account.releaseAccount();
|
||||||
}
|
}
|
||||||
|
|
|
@ -121,6 +121,7 @@ JNIEXPORT jstring OLM_UTILITY_FUNC_DEF(verifyEd25519SignatureJni)(JNIEnv *env, j
|
||||||
size_t keyLength = (size_t)env->GetStringUTFLength(aKey);
|
size_t keyLength = (size_t)env->GetStringUTFLength(aKey);
|
||||||
size_t messageLength = (size_t)env->GetStringUTFLength(aMessage);
|
size_t messageLength = (size_t)env->GetStringUTFLength(aMessage);
|
||||||
LOGD(" ## verifyEd25519SignatureJni(): signatureLength=%lu keyLength=%lu messageLength=%lu",static_cast<long unsigned int>(signatureLength),static_cast<long unsigned int>(keyLength),static_cast<long unsigned int>(messageLength));
|
LOGD(" ## verifyEd25519SignatureJni(): signatureLength=%lu keyLength=%lu messageLength=%lu",static_cast<long unsigned int>(signatureLength),static_cast<long unsigned int>(keyLength),static_cast<long unsigned int>(messageLength));
|
||||||
|
LOGD(" ## verifyEd25519SignatureJni(): key=%s",keyPtr);
|
||||||
|
|
||||||
size_t result = olm_ed25519_verify(utilityPtr,
|
size_t result = olm_ed25519_verify(utilityPtr,
|
||||||
(void const *)keyPtr,
|
(void const *)keyPtr,
|
||||||
|
@ -132,7 +133,7 @@ JNIEXPORT jstring OLM_UTILITY_FUNC_DEF(verifyEd25519SignatureJni)(JNIEnv *env, j
|
||||||
if(result == olm_error()) {
|
if(result == olm_error()) {
|
||||||
const char *errorMsgPtr = olm_utility_last_error(utilityPtr);
|
const char *errorMsgPtr = olm_utility_last_error(utilityPtr);
|
||||||
errorMessageRetValue = env->NewStringUTF(errorMsgPtr);
|
errorMessageRetValue = env->NewStringUTF(errorMsgPtr);
|
||||||
LOGE("## verifyEd25519SignatureJni(): failure - session creation Msg=%s",errorMsgPtr);
|
LOGE("## verifyEd25519SignatureJni(): failure - olm_ed25519_verify Msg=%s",errorMsgPtr);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue