diff --git a/.wolfssl_known_macro_extras b/.wolfssl_known_macro_extras index c98754234..5e3808fe0 100644 --- a/.wolfssl_known_macro_extras +++ b/.wolfssl_known_macro_extras @@ -943,6 +943,7 @@ _NETOS _POSIX_C_SOURCE _SDCC_VERSION_PATCHLEVEL _SH3 +_SILICON_LABS_32B_SERIES_3_CONFIG_301 _SILICON_LABS_SECURITY_FEATURE _SOCKLEN_T _SYS_DEVCON_LOCAL_H diff --git a/wolfssl/wolfcrypt/ecc.h b/wolfssl/wolfcrypt/ecc.h index b188fa144..3f6273a1c 100644 --- a/wolfssl/wolfcrypt/ecc.h +++ b/wolfssl/wolfcrypt/ecc.h @@ -181,7 +181,14 @@ enum { #elif defined(PLUTON_CRYPTO_ECC) ECC_MAX_CRYPTO_HW_SIZE = 32, #elif defined(WOLFSSL_SILABS_SE_ACCEL) + #if defined(_SILICON_LABS_SECURITY_FEATURE) && \ + (_SILICON_LABS_SECURITY_FEATURE == \ + _SILICON_LABS_SECURITY_FEATURE_VAULT) && \ + !defined(_SILICON_LABS_32B_SERIES_3_CONFIG_301) + ECC_MAX_CRYPTO_HW_SIZE = 66, /* up to 521 bit curves */ + #else ECC_MAX_CRYPTO_HW_SIZE = 32, + #endif #elif defined(WOLFSSL_CRYPTOCELL) #ifndef CRYPTOCELL_KEY_SIZE CRYPTOCELL_KEY_SIZE = ECC_MAXSIZE,