@@ -969,7 +969,8 @@ static WC_INLINE void bench_append_memory_info(char* buffer, size_t size,
969969/* Other */
970970#define BENCH_RNG 0x00000001
971971#define BENCH_SCRYPT 0x00000002
972- #ifdef WOLFSSL_DRBG_SHA512
972+ #if defined(WOLFSSL_DRBG_SHA512) && !defined(HAVE_SELFTEST) && \
973+ (!defined(HAVE_FIPS) || FIPS_VERSION3_GE(7,0,0))
973974 #define BENCH_RNG_SHA512 0x00000004
974975#endif
975976
@@ -1278,7 +1279,8 @@ static const bench_alg bench_other_opt[] = {
12781279#ifndef WC_NO_RNG
12791280 { "-rng", BENCH_RNG },
12801281#endif
1281- #ifdef WOLFSSL_DRBG_SHA512
1282+ #if defined(WOLFSSL_DRBG_SHA512) && !defined(HAVE_SELFTEST) && \
1283+ (!defined(HAVE_FIPS) || FIPS_VERSION3_GE(7,0,0))
12821284 { "-rng-sha512", BENCH_RNG_SHA512 },
12831285#endif
12841286#ifdef HAVE_SCRYPT
@@ -3815,7 +3817,8 @@ static void* benchmarks_do(void* args)
38153817 if (bench_all || (bench_other_algs & BENCH_RNG))
38163818 bench_rng();
38173819#endif /* WC_NO_RNG */
3818- #ifdef WOLFSSL_DRBG_SHA512
3820+ #if defined(WOLFSSL_DRBG_SHA512) && !defined(HAVE_SELFTEST) && \
3821+ (!defined(HAVE_FIPS) || FIPS_VERSION3_GE(7,0,0))
38193822 if (bench_all || (bench_other_algs & BENCH_RNG_SHA512))
38203823 bench_rng_sha512();
38213824#endif
@@ -4889,15 +4892,18 @@ void bench_rng(void)
48894892 DECLARE_MULTI_VALUE_STATS_VARS()
48904893
48914894 /* Force SHA-256 DRBG by temporarily disabling SHA-512 DRBG */
4892- #if defined(WOLFSSL_DRBG_SHA512) && defined(WOLFSSL_DRBG_SHA256)
4895+ #if defined(WOLFSSL_DRBG_SHA512) && !defined(HAVE_SELFTEST) && \
4896+ (!defined(HAVE_FIPS) || FIPS_VERSION3_GE(7,0,0))
4897+ #if defined(WOLFSSL_DRBG_SHA256)
48934898 ret = wc_Sha512Drbg_Disable();
48944899 if (ret != 0) {
48954900 printf("wc_Sha512Drbg_Disable failed %d\n", ret);
48964901 return;
48974902 }
4898- #elif defined(WOLFSSL_DRBG_SHA512) && !defined(WOLFSSL_DRBG_SHA256)
4903+ #else
48994904 printf("RNG SHA-256 DRBG (Skipped: Disabled)\n");
49004905 return;
4906+ #endif
49014907#endif
49024908
49034909 bench_stats_prepare();
@@ -4909,7 +4915,8 @@ void bench_rng(void)
49094915#endif
49104916 if (ret < 0) {
49114917 printf("InitRNG (SHA-256) failed %d\n", ret);
4912- #ifdef WOLFSSL_DRBG_SHA512
4918+ #if defined(WOLFSSL_DRBG_SHA512) && !defined(HAVE_SELFTEST) && \
4919+ (!defined(HAVE_FIPS) || FIPS_VERSION3_GE(7,0,0))
49134920 wc_Sha512Drbg_Enable();
49144921#endif
49154922 return;
@@ -4951,13 +4958,15 @@ void bench_rng(void)
49514958 wc_FreeRng(&myrng);
49524959
49534960 /* Restore SHA-512 DRBG */
4954- #ifdef WOLFSSL_DRBG_SHA512
4961+ #if defined(WOLFSSL_DRBG_SHA512) && !defined(HAVE_SELFTEST) && \
4962+ (!defined(HAVE_FIPS) || FIPS_VERSION3_GE(7,0,0))
49554963 wc_Sha512Drbg_Enable();
49564964#endif
49574965}
49584966#endif /* WC_NO_RNG */
49594967
4960- #ifdef WOLFSSL_DRBG_SHA512
4968+ #if defined(WOLFSSL_DRBG_SHA512) && !defined(HAVE_SELFTEST) && \
4969+ (!defined(HAVE_FIPS) || FIPS_VERSION3_GE(7,0,0))
49614970void bench_rng_sha512(void)
49624971{
49634972 int ret, i, count;
@@ -5030,7 +5039,7 @@ void bench_rng_sha512(void)
50305039 wc_Sha256Drbg_Enable();
50315040#endif
50325041}
5033- #endif /* WOLFSSL_DRBG_SHA512 */
5042+ #endif /* WOLFSSL_DRBG_SHA512 && !HAVE_SELFTEST && FIPS v7+ */
50345043
50355044#ifndef NO_AES
50365045
0 commit comments