9696#include "wolfboot/wolfboot.h"
9797
9898
99- #define KEYGEN_NONE 0
100- #define KEYGEN_ED25519 1
101- #define KEYGEN_ECC256 2
102- #define KEYGEN_RSA2048 3
103- #define KEYGEN_RSA4096 4
104- #define KEYGEN_ED448 5
105- #define KEYGEN_ECC384 6
106- #define KEYGEN_ECC521 7
107- #define KEYGEN_RSA3072 8
108- #define KEYGEN_LMS 9
109- #define KEYGEN_XMSS 10
110- #define KEYGEN_ML_DSA 11
111-
11299/* Globals */
113100static FILE * fpub , * fpub_image ;
114101static int force = 0 ;
@@ -425,34 +412,34 @@ static uint32_t get_pubkey_size(uint32_t keyType)
425412 uint32_t size = 0 ;
426413
427414 switch (keyType ) {
428- case KEYGEN_ED25519 :
415+ case AUTH_KEY_ED25519 :
429416 size = KEYSTORE_PUBKEY_SIZE_ED25519 ;
430417 break ;
431- case KEYGEN_ED448 :
418+ case AUTH_KEY_ED448 :
432419 size = KEYSTORE_PUBKEY_SIZE_ED448 ;
433420 break ;
434- case KEYGEN_ECC256 :
421+ case AUTH_KEY_ECC256 :
435422 size = KEYSTORE_PUBKEY_SIZE_ECC256 ;
436423 break ;
437- case KEYGEN_ECC384 :
424+ case AUTH_KEY_ECC384 :
438425 size = KEYSTORE_PUBKEY_SIZE_ECC384 ;
439426 break ;
440- case KEYGEN_RSA2048 :
427+ case AUTH_KEY_RSA2048 :
441428 size = KEYSTORE_PUBKEY_SIZE_RSA2048 ;
442429 break ;
443- case KEYGEN_RSA3072 :
430+ case AUTH_KEY_RSA3072 :
444431 size = KEYSTORE_PUBKEY_SIZE_RSA3072 ;
445432 break ;
446- case KEYGEN_RSA4096 :
433+ case AUTH_KEY_RSA4096 :
447434 size = KEYSTORE_PUBKEY_SIZE_RSA4096 ;
448435 break ;
449- case KEYGEN_LMS :
436+ case AUTH_KEY_LMS :
450437 size = KEYSTORE_PUBKEY_SIZE_LMS ;
451438 break ;
452- case KEYGEN_XMSS :
439+ case AUTH_KEY_XMSS :
453440 size = KEYSTORE_PUBKEY_SIZE_XMSS ;
454441 break ;
455- case KEYGEN_ML_DSA :
442+ case AUTH_KEY_ML_DSA :
456443 {
457444 char * env_ml_dsa_level = getenv ("ML_DSA_LEVEL" );
458445 if (env_ml_dsa_level == NULL ) {
@@ -514,6 +501,10 @@ void keystore_add(uint32_t ktype, uint8_t *key, uint32_t sz, const char *keyfile
514501
515502 memset (& sl , 0 , sizeof (sl ));
516503 sl .slot_id = id_slot ;
504+ if (ktype >= AUTH_KEY_NUM ) {
505+ fprintf (stderr , "error: unknown key type %u\n" , ktype );
506+ exit (1 );
507+ }
517508 sl .key_type = ktype ;
518509 sl .part_id_mask = id_mask ;
519510
@@ -584,11 +575,11 @@ static void keygen_rsa(const char *keyfile, int kbits, uint32_t id_mask)
584575 }
585576
586577 if (kbits == 2048 )
587- keystore_add (KEYGEN_RSA2048 , pub_der , publen , keyfile , id_mask );
578+ keystore_add (AUTH_KEY_RSA2048 , pub_der , publen , keyfile , id_mask );
588579 else if (kbits == 3072 )
589- keystore_add (KEYGEN_RSA3072 , pub_der , publen , keyfile , id_mask );
580+ keystore_add (AUTH_KEY_RSA3072 , pub_der , publen , keyfile , id_mask );
590581 else if (kbits == 4096 )
591- keystore_add (KEYGEN_RSA4096 , pub_der , publen , keyfile , id_mask );
582+ keystore_add (AUTH_KEY_RSA4096 , pub_der , publen , keyfile , id_mask );
592583}
593584
594585#define MAX_ECC_KEY_SIZE 66
@@ -688,11 +679,11 @@ static void keygen_ecc(const char *priv_fname, uint16_t ecc_key_size,
688679 memcpy (k_buffer + ecc_key_size , Qy , ecc_key_size );
689680
690681 if (ecc_key_size == 32 )
691- keystore_add (KEYGEN_ECC256 , k_buffer , 2 * ecc_key_size , priv_fname , id_mask );
682+ keystore_add (AUTH_KEY_ECC256 , k_buffer , 2 * ecc_key_size , priv_fname , id_mask );
692683 else if (ecc_key_size == 48 )
693- keystore_add (KEYGEN_ECC384 , k_buffer , 2 * ecc_key_size , priv_fname , id_mask );
684+ keystore_add (AUTH_KEY_ECC384 , k_buffer , 2 * ecc_key_size , priv_fname , id_mask );
694685 else if (ecc_key_size == 66 )
695- keystore_add (KEYGEN_ECC521 , k_buffer , 2 * ecc_key_size , priv_fname , id_mask );
686+ keystore_add (AUTH_KEY_ECC521 , k_buffer , 2 * ecc_key_size , priv_fname , id_mask );
696687}
697688
698689
@@ -730,7 +721,7 @@ static void keygen_ed25519(const char *privkey, uint32_t id_mask)
730721 }
731722 }
732723
733- keystore_add (KEYGEN_ED25519 , pub , ED25519_PUB_KEY_SIZE , privkey , id_mask );
724+ keystore_add (AUTH_KEY_ED25519 , pub , ED25519_PUB_KEY_SIZE , privkey , id_mask );
734725}
735726
736727static void keygen_ed448 (const char * privkey , uint32_t id_mask )
@@ -767,7 +758,7 @@ static void keygen_ed448(const char *privkey, uint32_t id_mask)
767758 }
768759 }
769760
770- keystore_add (KEYGEN_ED448 , pub , ED448_PUB_KEY_SIZE , privkey , id_mask );
761+ keystore_add (AUTH_KEY_ED448 , pub , ED448_PUB_KEY_SIZE , privkey , id_mask );
771762}
772763
773764#include "../lms/lms_common.h"
@@ -868,7 +859,7 @@ static void keygen_lms(const char *priv_fname, uint32_t id_mask)
868859 }
869860 }
870861
871- keystore_add (KEYGEN_LMS , lms_pub , KEYSTORE_PUBKEY_SIZE_LMS , priv_fname , id_mask );
862+ keystore_add (AUTH_KEY_LMS , lms_pub , KEYSTORE_PUBKEY_SIZE_LMS , priv_fname , id_mask );
872863
873864 wc_LmsKey_Free (& key );
874865}
@@ -968,7 +959,7 @@ static void keygen_xmss(const char *priv_fname, uint32_t id_mask)
968959 }
969960
970961
971- keystore_add (KEYGEN_XMSS , xmss_pub , KEYSTORE_PUBKEY_SIZE_XMSS , priv_fname , id_mask );
962+ keystore_add (AUTH_KEY_XMSS , xmss_pub , KEYSTORE_PUBKEY_SIZE_XMSS , priv_fname , id_mask );
972963
973964 wc_XmssKey_Free (& key );
974965}
@@ -1144,7 +1135,7 @@ static void keygen_ml_dsa(const char *priv_fname, uint32_t id_mask)
11441135 }
11451136 }
11461137
1147- keystore_add (KEYGEN_ML_DSA , pub , pub_len , priv_fname , id_mask );
1138+ keystore_add (AUTH_KEY_ML_DSA , pub , pub_len , priv_fname , id_mask );
11481139
11491140 wc_MlDsaKey_Free (& key );
11501141 free (priv );
@@ -1185,55 +1176,55 @@ static void key_generate(uint32_t ktype, const char *kfilename, uint32_t id_mask
11851176
11861177 switch (ktype ) {
11871178#ifdef HAVE_ED25519
1188- case KEYGEN_ED25519 :
1179+ case AUTH_KEY_ED25519 :
11891180 keygen_ed25519 (kfilename , id_mask );
11901181 break ;
11911182#endif
11921183
11931184#ifdef HAVE_ED448
1194- case KEYGEN_ED448 :
1185+ case AUTH_KEY_ED448 :
11951186 keygen_ed448 (kfilename , id_mask );
11961187 break ;
11971188#endif
11981189
11991190#ifdef HAVE_ECC
1200- case KEYGEN_ECC256 :
1191+ case AUTH_KEY_ECC256 :
12011192 keygen_ecc (kfilename , 32 , id_mask );
12021193 break ;
1203- case KEYGEN_ECC384 :
1194+ case AUTH_KEY_ECC384 :
12041195 keygen_ecc (kfilename , 48 , id_mask );
12051196 break ;
1206- case KEYGEN_ECC521 :
1197+ case AUTH_KEY_ECC521 :
12071198 keygen_ecc (kfilename , 66 , id_mask );
12081199 break ;
12091200#endif
12101201
12111202#ifndef NO_RSA
1212- case KEYGEN_RSA2048 :
1203+ case AUTH_KEY_RSA2048 :
12131204 keygen_rsa (kfilename , 2048 , id_mask );
12141205 break ;
1215- case KEYGEN_RSA3072 :
1206+ case AUTH_KEY_RSA3072 :
12161207 keygen_rsa (kfilename , 3072 , id_mask );
12171208 break ;
1218- case KEYGEN_RSA4096 :
1209+ case AUTH_KEY_RSA4096 :
12191210 keygen_rsa (kfilename , 4096 , id_mask );
12201211 break ;
12211212#endif
12221213
12231214#ifdef WOLFSSL_HAVE_LMS
1224- case KEYGEN_LMS :
1215+ case AUTH_KEY_LMS :
12251216 keygen_lms (kfilename , id_mask );
12261217 break ;
12271218#endif
12281219
12291220#ifdef WOLFSSL_HAVE_XMSS
1230- case KEYGEN_XMSS :
1221+ case AUTH_KEY_XMSS :
12311222 keygen_xmss (kfilename , id_mask );
12321223 break ;
12331224#endif
12341225
12351226#ifdef WOLFSSL_WC_DILITHIUM
1236- case KEYGEN_ML_DSA :
1227+ case AUTH_KEY_ML_DSA :
12371228 keygen_ml_dsa (kfilename , id_mask );
12381229 break ;
12391230#endif
@@ -1276,8 +1267,8 @@ static void key_import(uint32_t ktype, const char *fname, uint32_t id_mask)
12761267 keySz = get_pubkey_size (ktype );
12771268
12781269 if (readLen > (int )keySz ) {
1279- if (ktype == KEYGEN_ECC256 || ktype == KEYGEN_ECC384 ||
1280- ktype == KEYGEN_ECC521 ) {
1270+ if (ktype == AUTH_KEY_ECC256 || ktype == AUTH_KEY_ECC384 ||
1271+ ktype == AUTH_KEY_ECC521 ) {
12811272 initKey = ret = wc_EccPublicKeyDecode (buf , & keySzOut , eccKey , readLen );
12821273
12831274 if (ret == 0 ) {
@@ -1288,7 +1279,7 @@ static void key_import(uint32_t ktype, const char *fname, uint32_t id_mask)
12881279 if (initKey == 0 )
12891280 wc_ecc_free (eccKey );
12901281 }
1291- else if (ktype == KEYGEN_ED25519 ) {
1282+ else if (ktype == AUTH_KEY_ED25519 ) {
12921283 initKey = ret = wc_Ed25519PublicKeyDecode (buf , & keySzOut ,
12931284 ed25519Key , readLen );
12941285 if (ret < 0 )
@@ -1302,7 +1293,7 @@ static void key_import(uint32_t ktype, const char *fname, uint32_t id_mask)
13021293 if (initKey == 0 )
13031294 wc_ed25519_free (ed25519Key );
13041295 }
1305- else if (ktype == KEYGEN_ED448 ) {
1296+ else if (ktype == AUTH_KEY_ED448 ) {
13061297 initKey = ret = wc_Ed448PublicKeyDecode (buf , & keySzOut ,
13071298 ed448Key , readLen );
13081299
@@ -1368,42 +1359,42 @@ int main(int argc, char** argv)
13681359 for (i = 1 ; i < argc ; i ++ ) {
13691360 /* Parse Arguments */
13701361 if (strcmp (argv [i ], "--ed25519" ) == 0 ) {
1371- keytype = KEYGEN_ED25519 ;
1362+ keytype = AUTH_KEY_ED25519 ;
13721363 }
13731364 else if (strcmp (argv [i ], "--ed448" ) == 0 ) {
1374- keytype = KEYGEN_ED448 ;
1365+ keytype = AUTH_KEY_ED448 ;
13751366 }
13761367 else if (strcmp (argv [i ], "--ecc256" ) == 0 ) {
1377- keytype = KEYGEN_ECC256 ;
1368+ keytype = AUTH_KEY_ECC256 ;
13781369 }
13791370 else if (strcmp (argv [i ], "--ecc384" ) == 0 ) {
1380- keytype = KEYGEN_ECC384 ;
1371+ keytype = AUTH_KEY_ECC384 ;
13811372 }
13821373 else if (strcmp (argv [i ], "--ecc521" ) == 0 ) {
1383- keytype = KEYGEN_ECC521 ;
1374+ keytype = AUTH_KEY_ECC521 ;
13841375 }
13851376 else if (strcmp (argv [i ], "--rsa2048" ) == 0 ) {
1386- keytype = KEYGEN_RSA2048 ;
1377+ keytype = AUTH_KEY_RSA2048 ;
13871378 }
13881379 else if (strcmp (argv [i ], "--rsa3072" ) == 0 ) {
1389- keytype = KEYGEN_RSA3072 ;
1380+ keytype = AUTH_KEY_RSA3072 ;
13901381 }
13911382 else if (strcmp (argv [i ], "--rsa4096" ) == 0 ) {
1392- keytype = KEYGEN_RSA4096 ;
1383+ keytype = AUTH_KEY_RSA4096 ;
13931384 }
13941385#if defined(WOLFSSL_HAVE_LMS )
13951386 else if (strcmp (argv [i ], "-- lms ") == 0) {
1396- keytype = KEYGEN_LMS ;
1387+ keytype = AUTH_KEY_LMS ;
13971388 }
13981389#endif
13991390#if defined(WOLFSSL_HAVE_XMSS )
14001391 else if (strcmp (argv [i ], "-- xmss ") == 0) {
1401- keytype = KEYGEN_XMSS ;
1392+ keytype = AUTH_KEY_XMSS ;
14021393 }
14031394#endif
14041395#if defined(WOLFSSL_WC_DILITHIUM )
14051396 else if (strcmp (argv [i ], "-- ml_dsa ") == 0) {
1406- keytype = KEYGEN_ML_DSA ;
1397+ keytype = AUTH_KEY_ML_DSA ;
14071398 }
14081399#endif
14091400 else if (strcmp (argv [i ], "-- force ") == 0) {
@@ -1465,7 +1456,7 @@ int main(int argc, char** argv)
14651456 }
14661457 }
14671458 printf ("Keytype: %s\n" , KName [keytype ]);
1468- if (keytype == 0 )
1459+ if (keytype == AUTH_KEY_NONE )
14691460 exit (0 );
14701461 fpub = fopen (pubkeyfile , "rb" );
14711462 if (!force && (fpub != NULL )) {
0 commit comments