Merge pull request #8118 from bigbrett/wc-test-ecc-zero-digest-disable

wolfcrypt tests: disable ecc sign/verify of all zero digest
This commit is contained in:
Sean Parkinson
2024-11-01 09:03:39 +10:00
committed by GitHub
2 changed files with 17 additions and 6 deletions

View File

@@ -30874,11 +30874,8 @@ static wc_test_ret_t ecc_test_curve_size(WC_RNG* rng, int keySize, int testVerif
#if !defined(ECC_TIMING_RESISTANT) || (defined(ECC_TIMING_RESISTANT) && \ #if !defined(ECC_TIMING_RESISTANT) || (defined(ECC_TIMING_RESISTANT) && \
!defined(WC_NO_RNG) && !defined(WOLFSSL_KCAPI_ECC)) !defined(WC_NO_RNG) && !defined(WOLFSSL_KCAPI_ECC))
#ifdef HAVE_ECC_SIGN #ifdef HAVE_ECC_SIGN
/* ECC w/out Shamir has issue with all 0 digest */ /* some hardware doesn't support sign/verify of all zero digest */
/* WC_BIGINT doesn't have 0 len well on hardware */ #if !defined(WC_TEST_NO_ECC_SIGN_VERIFY_ZERO_DIGEST)
/* Cryptocell has issues with all 0 digest */
#if defined(ECC_SHAMIR) && !defined(WOLFSSL_ASYNC_CRYPT) && \
!defined(WOLFSSL_CRYPTOCELL)
/* test DSA sign hash with zeros */ /* test DSA sign hash with zeros */
for (i = 0; i < (int)ECC_DIGEST_SIZE; i++) { for (i = 0; i < (int)ECC_DIGEST_SIZE; i++) {
digest[i] = 0; digest[i] = 0;
@@ -30915,7 +30912,7 @@ static wc_test_ret_t ecc_test_curve_size(WC_RNG* rng, int keySize, int testVerif
TEST_SLEEP(); TEST_SLEEP();
} }
#endif /* HAVE_ECC_VERIFY */ #endif /* HAVE_ECC_VERIFY */
#endif /* ECC_SHAMIR && !WOLFSSL_ASYNC_CRYPT && !WOLFSSL_CRYPTOCELL */ #endif /* !WC_TEST_NO_ECC_SIGN_VERIFY_ZERO_DIGEST */
/* test DSA sign hash with sequence (0,1,2,3,4,...) */ /* test DSA sign hash with sequence (0,1,2,3,4,...) */
for (i = 0; i < (int)ECC_DIGEST_SIZE; i++) { for (i = 0; i < (int)ECC_DIGEST_SIZE; i++) {

View File

@@ -3168,6 +3168,14 @@ extern void uITRON4_free(void *p) ;
#undef NO_DH #undef NO_DH
#endif #endif
/* CryptoCell defines */
#ifdef WOLFSSL_CRYPTOCELL
#if defined(HAVE_ECC) && defined(HAVE_ECC_SIGN)
/* Don't attempt to sign/verify an all-zero digest in wolfCrypt tests */
#define WC_TEST_NO_ECC_SIGN_VERIFY_ZERO_DIGEST
#endif /* HAVE_ECC && HAVE_ECC_SIGN */
#endif
/* Asynchronous Crypto */ /* Asynchronous Crypto */
#ifdef WOLFSSL_ASYNC_CRYPT #ifdef WOLFSSL_ASYNC_CRYPT
#if !defined(HAVE_CAVIUM) && !defined(HAVE_INTEL_QA) && \ #if !defined(HAVE_CAVIUM) && !defined(HAVE_INTEL_QA) && \
@@ -3192,6 +3200,12 @@ extern void uITRON4_free(void *p) ;
* but not required */ * but not required */
#define ECC_CACHE_CURVE #define ECC_CACHE_CURVE
#endif #endif
#if defined(HAVE_ECC) && defined(HAVE_ECC_SIGN)
/* Don't attempt to sign/verify an all-zero digest in wolfCrypt tests */
#define WC_TEST_NO_ECC_SIGN_VERIFY_ZERO_DIGEST
#endif /* HAVE_ECC && HAVE_ECC_SIGN */
#endif /* WOLFSSL_ASYNC_CRYPT */ #endif /* WOLFSSL_ASYNC_CRYPT */
#ifndef WC_ASYNC_DEV_SIZE #ifndef WC_ASYNC_DEV_SIZE
#define WC_ASYNC_DEV_SIZE 0 #define WC_ASYNC_DEV_SIZE 0