Skip to content

Commit 85225b9

Browse files
committed
Address comments from bigbrett and Fenrir bot. Rename she.{c,h} to wc_she.{c,h}, fix naming consistency, auto-enable CMAC/AES dependencies, add WC_SHE_SW_DEFAULT opt-inAddress PR #10009 review comments from bigbrett and Fenrir
1 parent 54b673a commit 85225b9

12 files changed

Lines changed: 337 additions & 79 deletions

File tree

.github/workflows/os-check.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,15 @@ jobs:
4949
'--enable-dtls --enable-dtlscid --enable-dtls13 --enable-secure-renegotiation
5050
--enable-psk --enable-aesccm --enable-nullcipher
5151
CPPFLAGS=-DWOLFSSL_STATIC_RSA',
52+
'--enable-she=extended --enable-cryptocb --enable-cryptocbutils
53+
CPPFLAGS=''-DWC_SHE_SW_DEFAULT'' ',
5254
'--enable-she=standard --enable-cmac',
5355
'--enable-she=extended --enable-cmac --enable-cryptocb --enable-cryptocbutils',
5456
'--enable-she=standard --enable-cmac CPPFLAGS=''-DNO_WC_SHE_IMPORT_M123'' ',
5557
'--enable-she=extended --enable-cmac --enable-cryptocb --enable-cryptocbutils
5658
CPPFLAGS=''-DNO_WC_SHE_GETUID -DNO_WC_SHE_GETCOUNTER -DNO_WC_SHE_EXPORTKEY'' ',
59+
'--enable-she=standard --enable-cmac --enable-cryptocb --enable-cryptocbutils
60+
CPPFLAGS=''-DWC_SHE_SW_DEFAULT'' ',
5761
'--enable-ascon --enable-experimental',
5862
'--enable-ascon CPPFLAGS=-DWOLFSSL_ASCON_UNROLL --enable-experimental',
5963
'--enable-all CPPFLAGS=''-DNO_AES_192 -DNO_AES_256'' ',

.wolfssl_known_macro_extras

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -657,6 +657,16 @@ WC_RWLOCK_OPS_INLINE
657657
WC_SHA384
658658
WC_SHA384_DIGEST_SIZE
659659
WC_SHA512
660+
WC_SHE_DEFAULT_COUNTER
661+
WC_SHE_DEFAULT_UID
662+
WC_SHE_SW_DEFAULT
663+
WC_SHE_SW_TEST_AUTH_KEY
664+
WC_SHE_SW_TEST_EXP_M1
665+
WC_SHE_SW_TEST_EXP_M2
666+
WC_SHE_SW_TEST_EXP_M3
667+
WC_SHE_SW_TEST_EXP_M4
668+
WC_SHE_SW_TEST_EXP_M5
669+
WC_SHE_SW_TEST_NEW_KEY
660670
WC_SKIP_INCLUDED_C_FILES
661671
WC_SSIZE_TYPE
662672
WC_STRICT_SIG
@@ -888,7 +898,6 @@ WOLFSSL_SE050_NO_TRNG
888898
WOLFSSL_SECURE_RENEGOTIATION_ON_BY_DEFAULT
889899
WOLFSSL_SERVER_EXAMPLE
890900
WOLFSSL_SETTINGS_FILE
891-
WOLFSSL_SH224
892901
WOLFSSL_SHE
893902
WOLFSSL_SHE_EXTENDED
894903
WOLFSSL_SHA256_ALT_CH_MAJ

configure.ac

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6128,7 +6128,9 @@ AC_ARG_ENABLE([she],
61286128

61296129
if test "x$ENABLED_SHE" = "xstandard" || test "x$ENABLED_SHE" = "xextended"
61306130
then
6131-
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_SHE"
6131+
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_SHE -DWOLFSSL_CMAC -DWOLFSSL_AES_DIRECT"
6132+
ENABLED_CMAC=yes
6133+
ENABLED_AESCBC=yes
61326134
fi
61336135

61346136
if test "x$ENABLED_SHE" = "xextended"

src/include.am

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/cmac.c
160160
endif
161161

162162
if BUILD_SHE
163-
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/she.c
163+
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wc_she.c
164164
endif
165165

166166
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fips.c \
@@ -429,7 +429,7 @@ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/cmac.c
429429
endif
430430

431431
if BUILD_SHE
432-
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/she.c
432+
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wc_she.c
433433
endif
434434

435435
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/fips.c \
@@ -682,7 +682,7 @@ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/cmac.c
682682
endif
683683

684684
if BUILD_SHE
685-
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/she.c
685+
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wc_she.c
686686
endif
687687

688688
if BUILD_CURVE448
@@ -1019,7 +1019,7 @@ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/cmac.c
10191019
endif
10201020

10211021
if BUILD_SHE
1022-
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/she.c
1022+
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/wc_she.c
10231023
endif
10241024
endif !BUILD_FIPS_V2_PLUS
10251025

tests/api/test_she.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
#include <wolfcrypt/src/misc.c>
2929
#endif
3030

31-
#include <wolfssl/wolfcrypt/she.h>
31+
#include <wolfssl/wolfcrypt/wc_she.h>
3232
#include <wolfssl/wolfcrypt/types.h>
3333
#ifdef WOLF_CRYPTO_CB
3434
#include <wolfssl/wolfcrypt/cryptocb.h>
@@ -169,7 +169,7 @@ int test_wc_SHE_ImportM1M2M3(void)
169169
return EXPECT_RESULT();
170170
}
171171

172-
int test_wc_She_AesMp16(void)
172+
int test_wc_SHE_AesMp16(void)
173173
{
174174
EXPECT_DECLS;
175175
#if defined(WOLFSSL_SHE) && !defined(NO_AES)
@@ -188,18 +188,18 @@ int test_wc_She_AesMp16(void)
188188
};
189189

190190
ExpectIntEQ(wc_AesInit(&aes, NULL, INVALID_DEVID), 0);
191-
ExpectIntEQ(wc_She_AesMp16(&aes, input, sizeof(input), out), 0);
191+
ExpectIntEQ(wc_SHE_AesMp16(&aes, input, sizeof(input), out), 0);
192192

193193
ExpectIntEQ(wc_AesInit(&aes, NULL, INVALID_DEVID), 0);
194-
ExpectIntEQ(wc_She_AesMp16(&aes, shortInput, sizeof(shortInput), out), 0);
194+
ExpectIntEQ(wc_SHE_AesMp16(&aes, shortInput, sizeof(shortInput), out), 0);
195195

196-
ExpectIntEQ(wc_She_AesMp16(NULL, input, sizeof(input), out),
196+
ExpectIntEQ(wc_SHE_AesMp16(NULL, input, sizeof(input), out),
197197
WC_NO_ERR_TRACE(BAD_FUNC_ARG));
198-
ExpectIntEQ(wc_She_AesMp16(&aes, NULL, sizeof(input), out),
198+
ExpectIntEQ(wc_SHE_AesMp16(&aes, NULL, sizeof(input), out),
199199
WC_NO_ERR_TRACE(BAD_FUNC_ARG));
200-
ExpectIntEQ(wc_She_AesMp16(&aes, input, 0, out),
200+
ExpectIntEQ(wc_SHE_AesMp16(&aes, input, 0, out),
201201
WC_NO_ERR_TRACE(BAD_FUNC_ARG));
202-
ExpectIntEQ(wc_She_AesMp16(&aes, input, sizeof(input), NULL),
202+
ExpectIntEQ(wc_SHE_AesMp16(&aes, input, sizeof(input), NULL),
203203
WC_NO_ERR_TRACE(BAD_FUNC_ARG));
204204

205205
wc_AesFree(&aes);
@@ -467,7 +467,7 @@ static int test_she_crypto_cb(int devIdArg, wc_CryptoInfo* info, void* ctx)
467467
she->devId = INVALID_DEVID;
468468

469469
switch (info->she.type) {
470-
case WC_SHE_SET_UID:
470+
case WC_SHE_GET_UID:
471471
ret = 0;
472472
break;
473473
case WC_SHE_GET_COUNTER:

tests/api/test_she.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ int test_wc_SHE_Init_Id(void);
2929
int test_wc_SHE_Init_Label(void);
3030
int test_wc_SHE_Free(void);
3131
int test_wc_SHE_ImportM1M2M3(void);
32-
int test_wc_She_AesMp16(void);
32+
int test_wc_SHE_AesMp16(void);
3333
int test_wc_SHE_GenerateM1M2M3(void);
3434
int test_wc_SHE_GenerateM4M5(void);
3535
#ifdef WOLFSSL_SHE_EXTENDED
@@ -46,7 +46,7 @@ int test_wc_SHE_CryptoCb(void);
4646
TEST_DECL_GROUP("she", test_wc_SHE_Init_Label), \
4747
TEST_DECL_GROUP("she", test_wc_SHE_Free), \
4848
TEST_DECL_GROUP("she", test_wc_SHE_ImportM1M2M3), \
49-
TEST_DECL_GROUP("she", test_wc_She_AesMp16), \
49+
TEST_DECL_GROUP("she", test_wc_SHE_AesMp16), \
5050
TEST_DECL_GROUP("she", test_wc_SHE_GenerateM1M2M3), \
5151
TEST_DECL_GROUP("she", test_wc_SHE_GenerateM4M5)
5252

wolfcrypt/src/cryptocb.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2036,7 +2036,7 @@ int wc_CryptoCb_Cmac(Cmac* cmac, const byte* key, word32 keySz,
20362036
#endif /* WOLFSSL_CMAC */
20372037

20382038
#ifdef WOLFSSL_SHE
2039-
int wc_CryptoCb_SheSetUid(wc_SHE* she, const byte* uid, word32 uidSz,
2039+
int wc_CryptoCb_SheGetUid(wc_SHE* she, const byte* uid, word32 uidSz,
20402040
const void* ctx)
20412041
{
20422042
int ret = WC_NO_ERR_TRACE(CRYPTOCB_UNAVAILABLE);
@@ -2053,7 +2053,7 @@ int wc_CryptoCb_SheSetUid(wc_SHE* she, const byte* uid, word32 uidSz,
20532053
XMEMSET(&cryptoInfo, 0, sizeof(cryptoInfo));
20542054
cryptoInfo.algo_type = WC_ALGO_TYPE_SHE;
20552055
cryptoInfo.she.she = she;
2056-
cryptoInfo.she.type = WC_SHE_SET_UID;
2056+
cryptoInfo.she.type = WC_SHE_GET_UID;
20572057
cryptoInfo.she.ctx = ctx;
20582058
cryptoInfo.she.op.setUid.uid = uid;
20592059
cryptoInfo.she.op.setUid.uidSz = uidSz;

0 commit comments

Comments
 (0)