Skip to content

Commit ad25487

Browse files
committed
Fail ecc-verify when the signature does not verify
1 parent c312545 commit ad25487

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

ecc/ecc-verify.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include <wolfssl/wolfcrypt/random.h>
2626
#include <wolfssl/wolfcrypt/ecc.h>
2727
#include <wolfssl/wolfcrypt/asn_public.h>
28+
#include <wolfssl/wolfcrypt/error-crypt.h>
2829

2930
#if defined(WOLFSSL_CUSTOM_CURVES) && defined(HAVE_ECC_KOBLITZ)
3031

@@ -83,6 +84,10 @@ int hash_firmware_verify(const byte* fwAddr, word32 fwLen, const byte* sigBuf, w
8384
if (ret < 0)
8485
goto exit;
8586

87+
/* a bad signature also returns 0 here: the result is in verify, not ret */
88+
if (verify != 1)
89+
ret = SIG_VERIFY_E;
90+
8691
exit:
8792
wc_Sha256Free(&sha);
8893

@@ -105,7 +110,7 @@ int main(void)
105110
ret = hash_firmware_verify(data, sizeof(data), sigBuf, sigLen);
106111
printf("hash_firmware_verify: %d\n", ret);
107112

108-
return 0;
113+
return (ret == 0) ? 0 : 1;
109114
}
110115

111116
#else

0 commit comments

Comments
 (0)