|
28 | 28 | #define NUM_PUBKEYS 0 |
29 | 29 | #else |
30 | 30 |
|
31 | | -#if !defined(KEYSTORE_ANY) && (KEYSTORE_PUBKEY_SIZE != KEYSTORE_PUBKEY_SIZE_ECC256) |
32 | | - #error Key algorithm mismatch. Remove old keys via 'make keysclean' |
33 | | -#else |
34 | | - |
35 | 31 | #if defined(__APPLE__) && defined(__MACH__) |
36 | 32 | #define KEYSTORE_SECTION __attribute__((section ("__KEYSTORE,__keystore"))) |
37 | 33 | #else |
38 | 34 | #define KEYSTORE_SECTION __attribute__((section (".keystore"))) |
39 | 35 | #endif |
40 | 36 |
|
| 37 | +#if defined(WOLFBOOT_SIGN_ED25519) |
| 38 | +#define UNIT_KEY_TYPE AUTH_KEY_ED25519 |
| 39 | +#define UNIT_PUBKEY_SIZE KEYSTORE_PUBKEY_SIZE_ED25519 |
| 40 | +#define UNIT_PUBKEY_INIT { 0x00 } |
| 41 | +#elif defined(WOLFBOOT_SIGN_ED448) |
| 42 | +#define UNIT_KEY_TYPE AUTH_KEY_ED448 |
| 43 | +#define UNIT_PUBKEY_SIZE KEYSTORE_PUBKEY_SIZE_ED448 |
| 44 | +#define UNIT_PUBKEY_INIT { 0x00 } |
| 45 | +#elif defined(WOLFBOOT_SIGN_RSA2048) || defined(WOLFBOOT_SIGN_RSA2048ENC) |
| 46 | +#define UNIT_KEY_TYPE AUTH_KEY_RSA2048 |
| 47 | +#define UNIT_PUBKEY_SIZE KEYSTORE_PUBKEY_SIZE_RSA2048 |
| 48 | +#define UNIT_PUBKEY_INIT { 0x00 } |
| 49 | +#elif defined(WOLFBOOT_SIGN_RSA3072) || defined(WOLFBOOT_SIGN_RSA3072ENC) |
| 50 | +#define UNIT_KEY_TYPE AUTH_KEY_RSA3072 |
| 51 | +#define UNIT_PUBKEY_SIZE KEYSTORE_PUBKEY_SIZE_RSA3072 |
| 52 | +#define UNIT_PUBKEY_INIT { 0x00 } |
| 53 | +#elif defined(WOLFBOOT_SIGN_RSA4096) || defined(WOLFBOOT_SIGN_RSA4096ENC) |
| 54 | +#define UNIT_KEY_TYPE AUTH_KEY_RSA4096 |
| 55 | +#define UNIT_PUBKEY_SIZE KEYSTORE_PUBKEY_SIZE_RSA4096 |
| 56 | +#define UNIT_PUBKEY_INIT { 0x00 } |
| 57 | +#elif defined(WOLFBOOT_SIGN_ECC384) |
| 58 | +#define UNIT_KEY_TYPE AUTH_KEY_ECC384 |
| 59 | +#define UNIT_PUBKEY_SIZE KEYSTORE_PUBKEY_SIZE_ECC384 |
| 60 | +#define UNIT_PUBKEY_INIT { 0x00 } |
| 61 | +#elif defined(WOLFBOOT_SIGN_ECC521) |
| 62 | +#define UNIT_KEY_TYPE AUTH_KEY_ECC521 |
| 63 | +#define UNIT_PUBKEY_SIZE KEYSTORE_PUBKEY_SIZE_ECC521 |
| 64 | +#define UNIT_PUBKEY_INIT { 0x00 } |
| 65 | +#elif defined(WOLFBOOT_SIGN_LMS) |
| 66 | +#define UNIT_KEY_TYPE AUTH_KEY_LMS |
| 67 | +#define UNIT_PUBKEY_SIZE KEYSTORE_PUBKEY_SIZE_LMS |
| 68 | +#define UNIT_PUBKEY_INIT { 0x00 } |
| 69 | +#elif defined(WOLFBOOT_SIGN_XMSS) |
| 70 | +#define UNIT_KEY_TYPE AUTH_KEY_XMSS |
| 71 | +#define UNIT_PUBKEY_SIZE KEYSTORE_PUBKEY_SIZE_XMSS |
| 72 | +#define UNIT_PUBKEY_INIT { 0x00 } |
| 73 | +#elif defined(WOLFBOOT_SIGN_ML_DSA) |
| 74 | +#define UNIT_KEY_TYPE AUTH_KEY_ML_DSA |
| 75 | +#define UNIT_PUBKEY_SIZE KEYSTORE_PUBKEY_SIZE_ML_DSA |
| 76 | +#define UNIT_PUBKEY_INIT { 0x00 } |
| 77 | +#else |
| 78 | +#define UNIT_KEY_TYPE AUTH_KEY_ECC256 |
| 79 | +#define UNIT_PUBKEY_SIZE KEYSTORE_PUBKEY_SIZE_ECC256 |
| 80 | +#define UNIT_PUBKEY_INIT { \ |
| 81 | + 0xc5, 0x7d, 0xbf, 0xfb, 0x23, 0x79, 0xba, 0xb6, \ |
| 82 | + 0x31, 0x8f, 0x7b, 0x8d, 0xfe, 0xc9, 0x5d, 0x46, \ |
| 83 | + 0xf5, 0x95, 0xb4, 0xa8, 0xbd, 0x45, 0xb7, 0x46, \ |
| 84 | + 0xf3, 0x6c, 0x1b, 0x86, 0x28, 0x7b, 0x23, 0xd1, \ |
| 85 | + 0x83, 0xf3, 0x27, 0x5c, 0x08, 0x1f, 0x9d, 0x9e, \ |
| 86 | + 0x6c, 0xca, 0xee, 0xb3, 0x0d, 0x5c, 0x01, 0xb2, \ |
| 87 | + 0xc5, 0x98, 0xf3, 0x85, 0x6c, 0xdd, 0x42, 0x54, \ |
| 88 | + 0xef, 0x44, 0x94, 0x59, 0xf3, 0x08, 0x3d, 0xcd \ |
| 89 | +} |
| 90 | +#endif |
| 91 | + |
| 92 | +#if defined(KEYSTORE_ANY) |
| 93 | +#if UNIT_PUBKEY_SIZE > KEYSTORE_PUBKEY_SIZE |
| 94 | + #error Key algorithm mismatch. Remove old keys via 'make keysclean' |
| 95 | +#endif |
| 96 | +#else |
| 97 | +#if KEYSTORE_PUBKEY_SIZE != UNIT_PUBKEY_SIZE |
| 98 | + #error Key algorithm mismatch. Remove old keys via 'make keysclean' |
| 99 | +#endif |
| 100 | +#endif |
| 101 | + |
41 | 102 | #define NUM_PUBKEYS 1 |
42 | 103 | const KEYSTORE_SECTION struct keystore_slot PubKeys[NUM_PUBKEYS] = { |
43 | 104 |
|
44 | 105 | /* Key associated to file 'wolfboot_signing_private_key.der' */ |
45 | 106 | { |
46 | 107 | .slot_id = 0, |
47 | | - .key_type = AUTH_KEY_ECC256, |
| 108 | + .key_type = UNIT_KEY_TYPE, |
48 | 109 | .part_id_mask = 0xFFFFFFFF, |
49 | | - .pubkey_size = KEYSTORE_PUBKEY_SIZE_ECC256, |
50 | | - .pubkey = { |
51 | | - |
52 | | - 0xc5, 0x7d, 0xbf, 0xfb, 0x23, 0x79, 0xba, 0xb6, |
53 | | - 0x31, 0x8f, 0x7b, 0x8d, 0xfe, 0xc9, 0x5d, 0x46, |
54 | | - 0xf5, 0x95, 0xb4, 0xa8, 0xbd, 0x45, 0xb7, 0x46, |
55 | | - 0xf3, 0x6c, 0x1b, 0x86, 0x28, 0x7b, 0x23, 0xd1, |
56 | | - 0x83, 0xf3, 0x27, 0x5c, 0x08, 0x1f, 0x9d, 0x9e, |
57 | | - 0x6c, 0xca, 0xee, 0xb3, 0x0d, 0x5c, 0x01, 0xb2, |
58 | | - 0xc5, 0x98, 0xf3, 0x85, 0x6c, 0xdd, 0x42, 0x54, |
59 | | - 0xef, 0x44, 0x94, 0x59, 0xf3, 0x08, 0x3d, 0xcd |
60 | | - }, |
| 110 | + .pubkey_size = UNIT_PUBKEY_SIZE, |
| 111 | + .pubkey = UNIT_PUBKEY_INIT, |
61 | 112 | }, |
62 | 113 |
|
63 | 114 |
|
@@ -94,5 +145,4 @@ uint32_t keystore_get_key_type(int id) |
94 | 145 | return PubKeys[id].key_type; |
95 | 146 | } |
96 | 147 |
|
97 | | -#endif /* Keystore public key size check */ |
98 | 148 | #endif /* WOLFBOOT_NO_SIGN */ |
0 commit comments