@@ -57061,16 +57061,51 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t she_test(void)
5706157061 goto exit_SHE_Test;
5706257062 }
5706357063
57064- #if !defined(NO_WC_SHE_LOADKEY) && \
57064+ #if !defined(NO_WC_SHE_LOADKEY) && !defined(NO_WC_SHE_LOADKEY_TEST) && \
5706557065 (defined(WOLF_CRYPTO_CB) || !defined(NO_WC_SHE_IMPORT_M123))
5706657066 /* ---- LoadKey_Verify ---- */
57067+ /* Override WC_TEST_SHE_LOADKEY_VERIFY to use a platform-specific variant.
57068+ * Platforms with hardware SHE (HSM/HSE) cannot use static test vectors
57069+ * because the UID is device-specific. Options:
57070+ *
57071+ * Default (no override): calls wc_SHE_LoadKey_Verify (no id/label)
57072+ *
57073+ * WC_TEST_SHE_LOADKEY_ID: byte array for wc_SHE_LoadKey_Verify_Id
57074+ * e.g. #define WC_TEST_SHE_LOADKEY_ID { 1, 0, 2, 0, 0, 0, 0 }
57075+ *
57076+ * WC_TEST_SHE_LOADKEY_LABEL: string for wc_SHE_LoadKey_Verify_Label
57077+ * e.g. #define WC_TEST_SHE_LOADKEY_LABEL "she_key_1"
57078+ *
57079+ * Define NO_WC_SHE_LOADKEY_TEST to skip this sub-test entirely.
57080+ */
5706757081 XMEMSET(m4, 0, WC_SHE_M4_SZ);
5706857082 XMEMSET(m5, 0, WC_SHE_M5_SZ);
57083+ #if defined(WOLF_PRIVATE_KEY_ID) && defined(WC_TEST_SHE_LOADKEY_ID)
57084+ {
57085+ unsigned char sheLoadkeyId[] = WC_TEST_SHE_LOADKEY_ID;
57086+ ret = wc_SHE_LoadKey_Verify_Id(
57087+ sheLoadkeyId, (int)sizeof(sheLoadkeyId),
57088+ HEAP_HINT, devId,
57089+ expM1, WC_SHE_M1_SZ, expM2, WC_SHE_M2_SZ,
57090+ expM3, WC_SHE_M3_SZ,
57091+ m4, WC_SHE_M4_SZ, m5, WC_SHE_M5_SZ,
57092+ expM4, WC_SHE_M4_SZ, expM5, WC_SHE_M5_SZ);
57093+ }
57094+ #elif defined(WOLF_PRIVATE_KEY_ID) && defined(WC_TEST_SHE_LOADKEY_LABEL)
57095+ ret = wc_SHE_LoadKey_Verify_Label(
57096+ WC_TEST_SHE_LOADKEY_LABEL,
57097+ HEAP_HINT, devId,
57098+ expM1, WC_SHE_M1_SZ, expM2, WC_SHE_M2_SZ,
57099+ expM3, WC_SHE_M3_SZ,
57100+ m4, WC_SHE_M4_SZ, m5, WC_SHE_M5_SZ,
57101+ expM4, WC_SHE_M4_SZ, expM5, WC_SHE_M5_SZ);
57102+ #else
5706957103 ret = wc_SHE_LoadKey_Verify(HEAP_HINT, devId,
5707057104 expM1, WC_SHE_M1_SZ, expM2, WC_SHE_M2_SZ,
5707157105 expM3, WC_SHE_M3_SZ,
5707257106 m4, WC_SHE_M4_SZ, m5, WC_SHE_M5_SZ,
5707357107 expM4, WC_SHE_M4_SZ, expM5, WC_SHE_M5_SZ);
57108+ #endif
5707457109 if (devId == INVALID_DEVID) {
5707557110 if (ret != WC_NO_ERR_TRACE(BAD_FUNC_ARG)) {
5707657111 ret = WC_TEST_RET_ENC_EC(ret);
@@ -57088,7 +57123,7 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t she_test(void)
5708857123 }
5708957124 }
5709057125 ret = 0;
57091- #endif /* !NO_WC_SHE_LOADKEY */
57126+ #endif /* !NO_WC_SHE_LOADKEY && !NO_WC_SHE_LOADKEY_TEST */
5709257127
5709357128#if defined(WC_SHE_SW_DEFAULT) && defined(WOLF_CRYPTO_CB) && \
5709457129 !defined(NO_WC_SHE_GETUID) && !defined(NO_WC_SHE_GETCOUNTER)
0 commit comments