fix for tropic port AES key length used

This commit is contained in:
JacobBarthelmeh
2026-05-12 13:54:38 -06:00
parent dc56e87522
commit 6ac6e5065e
+10 -6
View File
@@ -314,10 +314,13 @@ int Tropic01_CryptoCb(int devId, wc_CryptoInfo* info, void* ctx)
#if !defined(NO_AES)
#ifdef HAVE_AESGCM
if (info->cipher.type == WC_CIPHER_AES_GCM) {
word32 keyLen = info->cipher.enc
? info->cipher.aesgcm_enc.aes->keylen
: info->cipher.aesgcm_dec.aes->keylen;
ret = Tropic01_GetKeyAES(
lt_key,
TROPIC01_AES_KEY_RMEM_SLOT,
TROPIC01_AES_MAX_KEY_SIZE);
keyLen);
if (ret != 0) {
WOLFSSL_MSG_EX(
"TROPIC01: CryptoCB: Failed to get AES key,ret=%d",
@@ -339,7 +342,7 @@ int Tropic01_CryptoCb(int devId, wc_CryptoInfo* info, void* ctx)
}
if (info->cipher.enc) {
ret = wc_AesSetKey(info->cipher.aesgcm_enc.aes, lt_key,
WC_AES_BLOCK_SIZE, lt_iv, AES_ENCRYPTION);
keyLen, lt_iv, AES_ENCRYPTION);
ForceZero(lt_key, sizeof(lt_key));
ForceZero(lt_iv, sizeof(lt_iv));
if (ret != 0) {
@@ -367,7 +370,7 @@ int Tropic01_CryptoCb(int devId, wc_CryptoInfo* info, void* ctx)
}
else {
ret = wc_AesSetKey(info->cipher.aesgcm_dec.aes, lt_key,
WC_AES_BLOCK_SIZE, lt_iv, AES_DECRYPTION);
keyLen, lt_iv, AES_DECRYPTION);
ForceZero(lt_key, sizeof(lt_key));
ForceZero(lt_iv, sizeof(lt_iv));
if (ret != 0) {
@@ -397,10 +400,11 @@ int Tropic01_CryptoCb(int devId, wc_CryptoInfo* info, void* ctx)
#endif /* HAVE_AESGCM */
#ifdef HAVE_AES_CBC
if (info->cipher.type == WC_CIPHER_AES_CBC) {
word32 keyLen = info->cipher.aescbc.aes->keylen;
ret = Tropic01_GetKeyAES(
lt_key,
TROPIC01_AES_KEY_RMEM_SLOT,
TROPIC01_AES_MAX_KEY_SIZE);
keyLen);
if (ret != 0) {
WOLFSSL_MSG_EX(
"TROPIC01: CryptoCB: Failed to get AES key,ret=%d", ret);
@@ -420,7 +424,7 @@ int Tropic01_CryptoCb(int devId, wc_CryptoInfo* info, void* ctx)
}
if (info->cipher.enc) {
ret = wc_AesSetKey(info->cipher.aescbc.aes, lt_key,
WC_AES_BLOCK_SIZE, lt_iv, AES_ENCRYPTION);
keyLen, lt_iv, AES_ENCRYPTION);
ForceZero(lt_key, sizeof(lt_key));
ForceZero(lt_iv, sizeof(lt_iv));
if (ret != 0) {
@@ -443,7 +447,7 @@ int Tropic01_CryptoCb(int devId, wc_CryptoInfo* info, void* ctx)
else {
ret = wc_AesSetKey(info->cipher.aescbc.aes, lt_key,
WC_AES_BLOCK_SIZE, lt_iv, AES_DECRYPTION);
keyLen, lt_iv, AES_DECRYPTION);
ForceZero(lt_key, sizeof(lt_key));
ForceZero(lt_iv, sizeof(lt_iv));
if (ret != 0) {