F-5047: zeroize native 3DES key copy before JNI release

pull/263/head
Chris Conlon 2026-08-20 14:14:08 -06:00
parent e166a6a633
commit 0fae3bc840
1 changed files with 5 additions and 1 deletions

View File

@ -69,6 +69,8 @@ Java_com_wolfssl_wolfcrypt_Des3_native_1set_1key_1internal(
Des3* des = NULL;
byte* key = NULL;
byte* iv = NULL;
word32 keySz = 0;
jboolean keyIsCopy = JNI_FALSE;
des = (Des3*) getNativeStruct(env, this);
if ((*env)->ExceptionOccurred(env)) {
@ -76,7 +78,8 @@ Java_com_wolfssl_wolfcrypt_Des3_native_1set_1key_1internal(
return;
}
key = getByteArray(env, key_object);
key = getByteArrayIsCopy(env, key_object, &keyIsCopy);
keySz = getByteArrayLength(env, key_object);
iv = getByteArray(env, iv_object);
ret = (!des || !key) /* iv is optional */
@ -88,6 +91,7 @@ Java_com_wolfssl_wolfcrypt_Des3_native_1set_1key_1internal(
LogStr("wc_Des3SetKey(Des3=%p, key, iv, opmode) = %d\n", des, ret);
zeroizeByteArrayCopy(key, keySz, keyIsCopy);
releaseByteArray(env, key_object, key, JNI_ABORT);
releaseByteArray(env, iv_object, iv, JNI_ABORT);
#else