Skip to content

Commit 4a54197

Browse files
committed
major refactor: simplify to aux algo scheme
1 parent cd15840 commit 4a54197

5 files changed

Lines changed: 87 additions & 92 deletions

File tree

.github/workflows/test-wolfhsm-simulator.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,13 @@ jobs:
5959
needs_posix_server: true
6060
posix_server_nvminit: true
6161
needs_nvm_image: false
62-
make_overrides: "SIGN=ECC256 HASH=SHA256 CERT_CHAIN_CA_ALGO=rsa4096 CERT_CHAIN_LEAF_ALGO=ecc256"
62+
make_overrides: "SIGN=ECC256 HASH=SHA256 CERT_CHAIN_GEN_CA_ALGO=rsa4096"
6363
- name: "wolfHSM server cert chain verify mixed inverse (RSA4096 chain, ECC256 leaf)"
6464
file: "config/examples/sim-wolfHSM-server-certchain-mixed.config"
6565
needs_posix_server: false
6666
posix_server_nvminit: false
6767
needs_nvm_image: true
68-
make_overrides: "SIGN=ECC256 HASH=SHA256 CERT_CHAIN_CA_ALGO=rsa4096 CERT_CHAIN_LEAF_ALGO=ecc256"
68+
make_overrides: "SIGN=ECC256 HASH=SHA256 CERT_CHAIN_GEN_CA_ALGO=rsa4096"
6969

7070
fail-fast: false
7171

config/examples/sim-wolfHSM-client-certchain-mixed.config

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,11 @@ IMAGE_HEADER_SIZE=4096
1313

1414
# Cert chain options (defaults — overridable by the build environment):
1515
# - CA chain (root + intermediate) signed with ECC256 + SHA256
16-
# - Leaf cert identity is RSA4096 (signs the wolfBoot image with SHA384)
17-
# - The verifier algo for chain certs is auto-derived from CERT_CHAIN_CA_ALGO
16+
# - Leaf cert identity is RSA4096 (fixed by SIGN, signs the image with SHA384)
17+
# - AUX_PK_ALGOS / AUX_HASH_ALGOS are auto-populated from CERT_CHAIN_GEN_*
1818
CERT_CHAIN_VERIFY=1
19-
CERT_CHAIN_CA_ALGO?=ecc256
20-
CERT_CHAIN_LEAF_ALGO?=rsa4096
21-
CERT_CHAIN_CA_HASH?=sha256
19+
CERT_CHAIN_GEN_CA_ALGO?=ecc256
20+
CERT_CHAIN_GEN_CA_HASH?=sha256
2221

2322
# wolfHSM options
2423
WOLFHSM_CLIENT=1

config/examples/sim-wolfHSM-server-certchain-mixed.config

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,11 @@ IMAGE_HEADER_SIZE=4096
1313

1414
# Cert chain options (defaults — overridable by the build environment):
1515
# - CA chain (root + intermediate) signed with ECC256 + SHA256
16-
# - Leaf cert identity is RSA4096 (signs the wolfBoot image with SHA384)
17-
# - The verifier algo for chain certs is auto-derived from CERT_CHAIN_CA_ALGO
16+
# - Leaf cert identity is RSA4096 (fixed by SIGN, signs the image with SHA384)
17+
# - AUX_PK_ALGOS / AUX_HASH_ALGOS are auto-populated from CERT_CHAIN_GEN_*
1818
CERT_CHAIN_VERIFY=1
19-
CERT_CHAIN_CA_ALGO?=ecc256
20-
CERT_CHAIN_LEAF_ALGO?=rsa4096
21-
CERT_CHAIN_CA_HASH?=sha256
19+
CERT_CHAIN_GEN_CA_ALGO?=ecc256
20+
CERT_CHAIN_GEN_CA_HASH?=sha256
2221

2322
# wolfHSM options
2423
WOLFHSM_SERVER=1

include/user_settings.h

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ extern int tolower(int c);
7575

7676
/* ED25519 and SHA512 */
7777
#if defined(WOLFBOOT_SIGN_ED25519) || defined(WOLFBOOT_SIGN_SECONDARY_ED25519) || \
78-
defined(CERT_CHAIN_PK_ED25519)
78+
defined(WOLFBOOT_AUX_PK_ED25519)
7979
# define HAVE_ED25519
8080
# define ED25519_SMALL
8181
# if !defined(WOLFBOOT_ENABLE_WOLFHSM_SERVER)
@@ -88,7 +88,7 @@ extern int tolower(int c);
8888

8989
/* ED448 and SHA3/SHAKE256 */
9090
#if defined(WOLFBOOT_SIGN_ED448) || defined(WOLFBOOT_SIGN_SECONDARY_ED448) || \
91-
defined(CERT_CHAIN_PK_ED448)
91+
defined(WOLFBOOT_AUX_PK_ED448)
9292
# define HAVE_ED448
9393
# define HAVE_ED448_VERIFY
9494
# define ED448_SMALL
@@ -108,9 +108,9 @@ extern int tolower(int c);
108108
defined(WOLFBOOT_SIGN_SECONDARY_ECC256) || \
109109
defined(WOLFBOOT_SIGN_SECONDARY_ECC384) || \
110110
defined(WOLFBOOT_SIGN_SECONDARY_ECC521) || \
111-
defined(CERT_CHAIN_PK_ECC256) || \
112-
defined(CERT_CHAIN_PK_ECC384) || \
113-
defined(CERT_CHAIN_PK_ECC521) || \
111+
defined(WOLFBOOT_AUX_PK_ECC256) || \
112+
defined(WOLFBOOT_AUX_PK_ECC384) || \
113+
defined(WOLFBOOT_AUX_PK_ECC521) || \
114114
defined(WOLFCRYPT_SECURE_MODE) || \
115115
defined(WOLFCRYPT_TEST) || defined(WOLFCRYPT_BENCHMARK)
116116

@@ -173,13 +173,13 @@ extern int tolower(int c);
173173
/* Curve */
174174
# if defined(WOLFBOOT_SIGN_ECC256) || defined(WOLFCRYPT_SECURE_MODE) || \
175175
defined(WOLFBOOT_SIGN_SECONDARY_ECC256) || \
176-
defined(CERT_CHAIN_PK_ECC256) || \
176+
defined(WOLFBOOT_AUX_PK_ECC256) || \
177177
defined(WOLFCRYPT_TEST) || defined(WOLFCRYPT_BENCHMARK)
178178
# define HAVE_ECC256
179179
# endif
180180
# if defined(WOLFBOOT_SIGN_ECC384) || \
181181
defined(WOLFBOOT_SIGN_SECONDARY_ECC384) || \
182-
defined(CERT_CHAIN_PK_ECC384) || \
182+
defined(WOLFBOOT_AUX_PK_ECC384) || \
183183
defined(WOLFCRYPT_SECURE_MODE) || \
184184
defined(WOLFCRYPT_TEST) || defined(WOLFCRYPT_BENCHMARK)
185185
# define HAVE_ECC384
@@ -188,7 +188,7 @@ extern int tolower(int c);
188188
/* ECC521 only enabled if specifically requested (not for tests - too large) */
189189
# if defined(WOLFBOOT_SIGN_ECC521) || \
190190
defined(WOLFBOOT_SIGN_SECONDARY_ECC521) || \
191-
defined(CERT_CHAIN_PK_ECC521) || \
191+
defined(WOLFBOOT_AUX_PK_ECC521) || \
192192
defined(WOLFCRYPT_SECURE_MODE)
193193
# define HAVE_ECC521
194194
# define WOLFSSL_SP_521
@@ -236,9 +236,9 @@ extern int tolower(int c);
236236
defined(WOLFBOOT_SIGN_SECONDARY_RSAPSS2048) || \
237237
defined(WOLFBOOT_SIGN_SECONDARY_RSAPSS3072) || \
238238
defined(WOLFBOOT_SIGN_SECONDARY_RSAPSS4096) || \
239-
defined(CERT_CHAIN_PK_RSA2048) || \
240-
defined(CERT_CHAIN_PK_RSA3072) || \
241-
defined(CERT_CHAIN_PK_RSA4096) || \
239+
defined(WOLFBOOT_AUX_PK_RSA2048) || \
240+
defined(WOLFBOOT_AUX_PK_RSA3072) || \
241+
defined(WOLFBOOT_AUX_PK_RSA4096) || \
242242
(defined(WOLFCRYPT_SECURE_MODE) && (!defined(PKCS11_SMALL)))
243243

244244
# define WC_RSA_BLINDING
@@ -270,7 +270,7 @@ extern int tolower(int c);
270270
# define WOLFSSL_SP_SMALL
271271
# define WOLFSSL_SP_MATH
272272
# endif
273-
/* If ECC was already enabled (e.g. via CERT_CHAIN_PK_ECC*), the ECC
273+
/* If ECC was already enabled (e.g. via WOLFBOOT_AUX_PK_ECC*), the ECC
274274
* block above will have set FP_MAX_BITS / SP_INT_BITS for the ECC curve
275275
* size. RSA needs much wider math, so undefine first and let the
276276
* algo-specific block below redefine. */
@@ -317,10 +317,10 @@ extern int tolower(int c);
317317
# define RSA_MIN_SIZE 2048
318318
# define RSA_MAX_SIZE 4096
319319
# endif
320-
# if defined(CERT_CHAIN_PK_RSA2048) || \
321-
defined(CERT_CHAIN_PK_RSA3072) || \
322-
defined(CERT_CHAIN_PK_RSA4096)
323-
/* Widen math constraints to support cert chain RSA key sizes */
320+
# if defined(WOLFBOOT_AUX_PK_RSA2048) || \
321+
defined(WOLFBOOT_AUX_PK_RSA3072) || \
322+
defined(WOLFBOOT_AUX_PK_RSA4096)
323+
/* Widen math constraints to support aux RSA key sizes */
324324
# undef FP_MAX_BITS
325325
# undef SP_INT_BITS
326326
# undef RSA_MIN_SIZE
@@ -334,17 +334,17 @@ extern int tolower(int c);
334334
# define RSA_MAX_SIZE 4096
335335
# if defined(WOLFBOOT_SIGN_RSA2048) || \
336336
defined(WOLFBOOT_SIGN_SECONDARY_RSA2048) || \
337-
defined(CERT_CHAIN_PK_RSA2048)
337+
defined(WOLFBOOT_AUX_PK_RSA2048)
338338
# define WOLFSSL_SP_2048
339339
# endif
340340
# if defined(WOLFBOOT_SIGN_RSA3072) || \
341341
defined(WOLFBOOT_SIGN_SECONDARY_RSA3072) || \
342-
defined(CERT_CHAIN_PK_RSA3072)
342+
defined(WOLFBOOT_AUX_PK_RSA3072)
343343
# define WOLFSSL_SP_3072
344344
# endif
345345
# if defined(WOLFBOOT_SIGN_RSA4096) || \
346346
defined(WOLFBOOT_SIGN_SECONDARY_RSA4096) || \
347-
defined(CERT_CHAIN_PK_RSA4096)
347+
defined(WOLFBOOT_AUX_PK_RSA4096)
348348
# define WOLFSSL_SP_4096
349349
# endif
350350
# endif
@@ -402,8 +402,8 @@ extern int tolower(int c);
402402
# endif
403403
#endif
404404

405-
/* Cert chain additional hash algorithms */
406-
#if defined(CERT_CHAIN_HASH_SHA384) || defined(CERT_CHAIN_HASH_SHA512)
405+
/* Auxiliary hash algorithms (e.g. for cert chain verification) */
406+
#if defined(WOLFBOOT_AUX_HASH_SHA384) || defined(WOLFBOOT_AUX_HASH_SHA512)
407407
# ifndef WOLFSSL_SHA384
408408
# define WOLFSSL_SHA384
409409
# endif
@@ -414,7 +414,7 @@ extern int tolower(int c);
414414
# endif
415415
#endif
416416

417-
#ifdef CERT_CHAIN_HASH_SHA3
417+
#ifdef WOLFBOOT_AUX_HASH_SHA3
418418
# ifndef WOLFSSL_SHA3
419419
# define WOLFSSL_SHA3
420420
# endif

options.mk

Lines changed: 55 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1440,79 +1440,77 @@ ifneq ($(CERT_CHAIN_VERIFY),)
14401440
CERT_CHAIN_GEN_ALGO+=rsa4096
14411441
endif
14421442

1443-
# Per-level algo / hash overrides (default: same algo for CA + leaf,
1444-
# SHA256 for cert signatures).
1445-
CERT_CHAIN_CA_ALGO ?= $(CERT_CHAIN_GEN_ALGO)
1446-
CERT_CHAIN_LEAF_ALGO ?= $(CERT_CHAIN_GEN_ALGO)
1447-
CERT_CHAIN_CA_HASH ?= sha256
1448-
1449-
# The leaf cert wraps the wolfBoot signing key, so its algo must
1450-
# match SIGN. Catch a mismatch here with a clear error rather than
1451-
# letting openssl fail later inside the chain-gen helper.
1452-
ifneq ($(strip $(CERT_CHAIN_LEAF_ALGO)),$(strip $(CERT_CHAIN_GEN_ALGO)))
1453-
$(error CERT_CHAIN_LEAF_ALGO ($(CERT_CHAIN_LEAF_ALGO)) must match the algorithm derived from SIGN=$(SIGN) ($(CERT_CHAIN_GEN_ALGO)))
1454-
endif
1443+
# Per-level overrides for the dummy chain generator. Defaults: CA chain
1444+
# uses the same algo as the leaf (SIGN-derived), SHA256 for cert sigs.
1445+
# The leaf algo is fixed by SIGN — the leaf cert wraps the wolfBoot
1446+
# signing key, so it can't diverge.
1447+
CERT_CHAIN_GEN_CA_ALGO ?= $(CERT_CHAIN_GEN_ALGO)
1448+
CERT_CHAIN_GEN_CA_HASH ?= sha256
14551449

14561450
# If any chain component is RSA, the wolfHSM cert buffer must be
14571451
# large enough to hold an RSA4096 cert (~1.5-2 KB).
1458-
ifneq ($(filter rsa%,$(CERT_CHAIN_CA_ALGO) $(CERT_CHAIN_LEAF_ALGO)),)
1452+
ifneq ($(filter rsa%,$(CERT_CHAIN_GEN_CA_ALGO) $(CERT_CHAIN_GEN_ALGO)),)
14591453
CFLAGS += -DWOLFHSM_CFG_MAX_CERT_SIZE=4096
14601454
endif
14611455

1462-
CERT_CHAIN_GEN_FLAGS := --ca-algo $(CERT_CHAIN_CA_ALGO) \
1463-
--leaf-algo $(CERT_CHAIN_LEAF_ALGO) \
1464-
--ca-hash $(CERT_CHAIN_CA_HASH)
1456+
CERT_CHAIN_GEN_FLAGS := --ca-algo $(CERT_CHAIN_GEN_CA_ALGO) \
1457+
--leaf-algo $(CERT_CHAIN_GEN_ALGO) \
1458+
--ca-hash $(CERT_CHAIN_GEN_CA_HASH)
1459+
1460+
# Auto-bridge: the verifier in the bootloader must support whatever
1461+
# algo and hash actually sign the dummy chain. Without this, a
1462+
# non-default GEN_CA_ALGO/GEN_CA_HASH builds successfully but fails at
1463+
# runtime when the matching wolfCrypt module is absent.
1464+
AUX_PK_ALGOS += $(CERT_CHAIN_GEN_CA_ALGO)
1465+
AUX_HASH_ALGOS += $(CERT_CHAIN_GEN_CA_HASH)
14651466
endif
14661467
SIGN_OPTIONS += --cert-chain $(CERT_CHAIN_FILE)
1468+
endif
14671469

1468-
# Additional algorithms for cert chain verification
1469-
# Usage: CERT_CHAIN_HASH=sha384,sha512 CERT_CHAIN_PK=rsa4096,ecc256
1470+
# Auxiliary wolfCrypt algorithms - compile in extra wolfCrypt code beyond
1471+
# what SIGN/HASH already pulls in. Decoupled from any specific feature; the
1472+
# cert chain verifier auto-populates these (see above), but the variables
1473+
# are also available as a generic primitive for any future feature that
1474+
# needs extra algo support compiled in.
1475+
# Usage: AUX_HASH_ALGOS=sha384,sha512 AUX_PK_ALGOS=rsa4096,ecc256
1476+
ifneq ($(strip $(AUX_PK_ALGOS)$(AUX_HASH_ALGOS)),)
14701477
comma := ,
1471-
CERT_CHAIN_HASH_LIST := $(subst $(comma), ,$(CERT_CHAIN_HASH))
1472-
CERT_CHAIN_PK_LIST := $(subst $(comma), ,$(CERT_CHAIN_PK))
1478+
AUX_HASH_ALGOS_LIST := $(sort $(subst $(comma), ,$(AUX_HASH_ALGOS)))
1479+
AUX_PK_ALGOS_LIST := $(sort $(subst $(comma), ,$(AUX_PK_ALGOS)))
14731480

1474-
# For auto-generated chains, ensure the verifier supports the CA algo
1475-
# and CA hash actually used to sign the chain. Without this, a non-
1476-
# default CERT_CHAIN_CA_ALGO/CERT_CHAIN_CA_HASH builds successfully
1477-
# but fails at runtime when the matching wolfCrypt module is absent.
1478-
ifeq ($(USER_CERT_CHAIN),)
1479-
CERT_CHAIN_HASH_LIST := $(sort $(CERT_CHAIN_HASH_LIST) $(CERT_CHAIN_CA_HASH))
1480-
CERT_CHAIN_PK_LIST := $(sort $(CERT_CHAIN_PK_LIST) $(CERT_CHAIN_CA_ALGO))
1481-
endif
1482-
1483-
# --- Cert chain hash algorithms ---
1481+
# --- Hash algorithms ---
14841482
# SHA256 is always present in wolfCrypt for wolfBoot, no extra flag needed.
1485-
ifneq ($(filter sha384,$(CERT_CHAIN_HASH_LIST)),)
1486-
CFLAGS += -DCERT_CHAIN_HASH_SHA384
1483+
ifneq ($(filter sha384,$(AUX_HASH_ALGOS_LIST)),)
1484+
CFLAGS += -DWOLFBOOT_AUX_HASH_SHA384
14871485
ifeq ($(filter %/sha512.o,$(WOLFCRYPT_OBJS)),)
14881486
WOLFCRYPT_OBJS += $(WOLFBOOT_LIB_WOLFSSL)/wolfcrypt/src/sha512.o
14891487
endif
14901488
endif
1491-
ifneq ($(filter sha512,$(CERT_CHAIN_HASH_LIST)),)
1492-
CFLAGS += -DCERT_CHAIN_HASH_SHA512
1489+
ifneq ($(filter sha512,$(AUX_HASH_ALGOS_LIST)),)
1490+
CFLAGS += -DWOLFBOOT_AUX_HASH_SHA512
14931491
ifeq ($(filter %/sha512.o,$(WOLFCRYPT_OBJS)),)
14941492
WOLFCRYPT_OBJS += $(WOLFBOOT_LIB_WOLFSSL)/wolfcrypt/src/sha512.o
14951493
endif
14961494
endif
1497-
ifneq ($(filter sha3,$(CERT_CHAIN_HASH_LIST)),)
1498-
CFLAGS += -DCERT_CHAIN_HASH_SHA3
1495+
ifneq ($(filter sha3,$(AUX_HASH_ALGOS_LIST)),)
1496+
CFLAGS += -DWOLFBOOT_AUX_HASH_SHA3
14991497
ifeq ($(filter %/sha3.o,$(WOLFCRYPT_OBJS)),)
15001498
WOLFCRYPT_OBJS += $(WOLFBOOT_LIB_WOLFSSL)/wolfcrypt/src/sha3.o
15011499
endif
15021500
endif
15031501

1504-
# --- Cert chain PK algorithms ---
1505-
ifneq ($(filter rsa2048,$(CERT_CHAIN_PK_LIST)),)
1506-
CFLAGS += -DCERT_CHAIN_PK_RSA2048
1502+
# --- PK algorithms ---
1503+
ifneq ($(filter rsa2048,$(AUX_PK_ALGOS_LIST)),)
1504+
CFLAGS += -DWOLFBOOT_AUX_PK_RSA2048
15071505
endif
1508-
ifneq ($(filter rsa3072,$(CERT_CHAIN_PK_LIST)),)
1509-
CFLAGS += -DCERT_CHAIN_PK_RSA3072
1506+
ifneq ($(filter rsa3072,$(AUX_PK_ALGOS_LIST)),)
1507+
CFLAGS += -DWOLFBOOT_AUX_PK_RSA3072
15101508
endif
1511-
ifneq ($(filter rsa4096,$(CERT_CHAIN_PK_LIST)),)
1512-
CFLAGS += -DCERT_CHAIN_PK_RSA4096
1509+
ifneq ($(filter rsa4096,$(AUX_PK_ALGOS_LIST)),)
1510+
CFLAGS += -DWOLFBOOT_AUX_PK_RSA4096
15131511
endif
1514-
# Add RSA objects if any RSA cert chain PK is requested
1515-
ifneq ($(filter rsa2048 rsa3072 rsa4096,$(CERT_CHAIN_PK_LIST)),)
1512+
# Add RSA objects if any RSA aux PK is requested
1513+
ifneq ($(filter rsa2048 rsa3072 rsa4096,$(AUX_PK_ALGOS_LIST)),)
15161514
ifeq ($(filter %/rsa.o,$(WOLFCRYPT_OBJS)),)
15171515
WOLFCRYPT_OBJS += $(RSA_OBJS)
15181516
endif
@@ -1521,17 +1519,17 @@ ifneq ($(CERT_CHAIN_VERIFY),)
15211519
endif
15221520
endif
15231521

1524-
ifneq ($(filter ecc256,$(CERT_CHAIN_PK_LIST)),)
1525-
CFLAGS += -DCERT_CHAIN_PK_ECC256
1522+
ifneq ($(filter ecc256,$(AUX_PK_ALGOS_LIST)),)
1523+
CFLAGS += -DWOLFBOOT_AUX_PK_ECC256
15261524
endif
1527-
ifneq ($(filter ecc384,$(CERT_CHAIN_PK_LIST)),)
1528-
CFLAGS += -DCERT_CHAIN_PK_ECC384
1525+
ifneq ($(filter ecc384,$(AUX_PK_ALGOS_LIST)),)
1526+
CFLAGS += -DWOLFBOOT_AUX_PK_ECC384
15291527
endif
1530-
ifneq ($(filter ecc521,$(CERT_CHAIN_PK_LIST)),)
1531-
CFLAGS += -DCERT_CHAIN_PK_ECC521
1528+
ifneq ($(filter ecc521,$(AUX_PK_ALGOS_LIST)),)
1529+
CFLAGS += -DWOLFBOOT_AUX_PK_ECC521
15321530
endif
1533-
# Add ECC objects if any ECC cert chain PK is requested
1534-
ifneq ($(filter ecc256 ecc384 ecc521,$(CERT_CHAIN_PK_LIST)),)
1531+
# Add ECC objects if any ECC aux PK is requested
1532+
ifneq ($(filter ecc256 ecc384 ecc521,$(AUX_PK_ALGOS_LIST)),)
15351533
ifeq ($(filter %/ecc.o,$(WOLFCRYPT_OBJS)),)
15361534
WOLFCRYPT_OBJS += $(ECC_OBJS)
15371535
endif
@@ -1540,23 +1538,22 @@ ifneq ($(CERT_CHAIN_VERIFY),)
15401538
endif
15411539
endif
15421540

1543-
ifneq ($(filter ed25519,$(CERT_CHAIN_PK_LIST)),)
1544-
CFLAGS += -DCERT_CHAIN_PK_ED25519
1541+
ifneq ($(filter ed25519,$(AUX_PK_ALGOS_LIST)),)
1542+
CFLAGS += -DWOLFBOOT_AUX_PK_ED25519
15451543
ifeq ($(filter %/ed25519.o,$(WOLFCRYPT_OBJS)),)
15461544
WOLFCRYPT_OBJS += $(ED25519_OBJS)
15471545
endif
15481546
endif
15491547

1550-
ifneq ($(filter ed448,$(CERT_CHAIN_PK_LIST)),)
1551-
CFLAGS += -DCERT_CHAIN_PK_ED448
1548+
ifneq ($(filter ed448,$(AUX_PK_ALGOS_LIST)),)
1549+
CFLAGS += -DWOLFBOOT_AUX_PK_ED448
15521550
ifeq ($(filter %/ed448.o,$(WOLFCRYPT_OBJS)),)
15531551
WOLFCRYPT_OBJS += $(ED448_OBJS)
15541552
endif
15551553
ifeq ($(filter %/sha3.o,$(WOLFCRYPT_OBJS)),)
15561554
WOLFCRYPT_OBJS += $(WOLFBOOT_LIB_WOLFSSL)/wolfcrypt/src/sha3.o
15571555
endif
15581556
endif
1559-
15601557
endif
15611558

15621559
# Clock Speed (Hz)

0 commit comments

Comments
 (0)