From 0930086fa1170576dfc76133d1bd955057a278dd Mon Sep 17 00:00:00 2001 From: David Garske Date: Fri, 25 Mar 2022 12:36:07 -0700 Subject: [PATCH] Fix for increased mcapi (used by Microchip) ctx sizes if PK callbacks is enabled due to key id/label. --- mcapi/crypto.c | 4 ++-- mcapi/crypto.h | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/mcapi/crypto.c b/mcapi/crypto.c index 568cd8849..30be71d7e 100644 --- a/mcapi/crypto.c +++ b/mcapi/crypto.c @@ -24,6 +24,8 @@ #ifdef HAVE_CONFIG_H #include "config.h" #endif +#include + #ifdef MICROCHIP_MPLAB_HARMONY #include "system_config.h" #include "crypto/crypto.h" @@ -31,8 +33,6 @@ #include "crypto.h" #endif -#include - #include #include #include diff --git a/mcapi/crypto.h b/mcapi/crypto.h index 8698fd1e2..7e4794964 100644 --- a/mcapi/crypto.h +++ b/mcapi/crypto.h @@ -27,7 +27,6 @@ #ifndef MC_CRYPTO_API_H #define MC_CRYPTO_API_H - #ifdef __cplusplus extern "C" { #endif @@ -107,7 +106,12 @@ enum { /* HMAC */ typedef struct CRYPT_HMAC_CTX { - long long holder[98]; /* big enough to hold internal, but check on init */ + /* big enough to hold internal, but check on init */ + #ifdef WOLF_PRIVATE_KEY_ID + long long holder[108]; + #else + long long holder[98]; + #endif } CRYPT_HMAC_CTX; int CRYPT_HMAC_SetKey(CRYPT_HMAC_CTX*, int, const unsigned char*, unsigned int); @@ -167,7 +171,12 @@ enum { /* AES */ typedef struct CRYPT_AES_CTX { - int holder[90]; /* big enough to hold internal, but check on init */ + /* big enough to hold internal, but check on init */ + #ifdef WOLF_PRIVATE_KEY_ID + int holder[104]; + #else + int holder[90]; + #endif } CRYPT_AES_CTX; /* key */