2525#include "bootutil/crypto/sha.h"
2626
2727#define EDDSA_SIGNATURE_LENGTH 64
28-
29- static const uint8_t ed25519_pubkey_oid [] = MBEDTLS_OID_ISO_IDENTIFIED_ORG "\x65\x70" ;
3028#define NUM_ED25519_BYTES 32
3129
3230extern int ED25519_verify (const uint8_t * message , size_t message_len ,
3331 const uint8_t signature [EDDSA_SIGNATURE_LENGTH ],
3432 const uint8_t public_key [NUM_ED25519_BYTES ]);
3533
34+ #if !defined(CONFIG_BOOT_SIGNATURE_USING_KMU )
35+
36+ static const uint8_t ed25519_pubkey_oid [] = MBEDTLS_OID_ISO_IDENTIFIED_ORG "\x65\x70" ;
37+
3638/*
3739 * Parse the public key used for signing.
3840 */
@@ -71,21 +73,25 @@ bootutil_import_key(uint8_t **cp, uint8_t *end)
7173
7274 return 0 ;
7375}
76+ #endif
7477
7578fih_ret
7679bootutil_verify_sig (uint8_t * hash , uint32_t hlen , uint8_t * sig , size_t slen ,
7780 uint8_t key_id )
7881{
7982 int rc ;
8083 FIH_DECLARE (fih_rc , FIH_FAILURE );
81- uint8_t * pubkey ;
84+ uint8_t * pubkey = NULL ;
85+ #if !defined(CONFIG_BOOT_SIGNATURE_USING_KMU )
8286 uint8_t * end ;
87+ #endif
8388
8489 if (hlen != IMAGE_HASH_SIZE || slen != EDDSA_SIGNATURE_LENGTH ) {
8590 FIH_SET (fih_rc , FIH_FAILURE );
8691 goto out ;
8792 }
8893
94+ #if !defined(CONFIG_BOOT_SIGNATURE_USING_KMU )
8995 pubkey = (uint8_t * )bootutil_keys [key_id ].key ;
9096 end = pubkey + * bootutil_keys [key_id ].len ;
9197
@@ -94,6 +100,7 @@ bootutil_verify_sig(uint8_t *hash, uint32_t hlen, uint8_t *sig, size_t slen,
94100 FIH_SET (fih_rc , FIH_FAILURE );
95101 goto out ;
96102 }
103+ #endif
97104
98105 rc = ED25519_verify (hash , IMAGE_HASH_SIZE , sig , pubkey );
99106
@@ -115,14 +122,17 @@ bootutil_verify_img(const uint8_t *img, uint32_t size,
115122{
116123 int rc ;
117124 FIH_DECLARE (fih_rc , FIH_FAILURE );
118- uint8_t * pubkey ;
125+ uint8_t * pubkey = NULL ;
126+ #if !defined(CONFIG_BOOT_SIGNATURE_USING_KMU )
119127 uint8_t * end ;
128+ #endif
120129
121130 if (slen != EDDSA_SIGNATURE_LENGTH ) {
122131 FIH_SET (fih_rc , FIH_FAILURE );
123132 goto out ;
124133 }
125134
135+ #if !defined(CONFIG_BOOT_SIGNATURE_USING_KMU )
126136 pubkey = (uint8_t * )bootutil_keys [key_id ].key ;
127137 end = pubkey + * bootutil_keys [key_id ].len ;
128138
@@ -131,6 +141,7 @@ bootutil_verify_img(const uint8_t *img, uint32_t size,
131141 FIH_SET (fih_rc , FIH_FAILURE );
132142 goto out ;
133143 }
144+ #endif
134145
135146 rc = ED25519_verify (img , size , sig , pubkey );
136147
0 commit comments