|
|
@ -92,6 +92,22 @@ diff -up openssl-3.0.1/providers/implementations/rands/drbg.c.fipsrand openssl-3
|
|
|
|
/* Reseed using our sources in addition */
|
|
|
|
/* Reseed using our sources in addition */
|
|
|
|
entropylen = get_entropy(drbg, &entropy, drbg->strength,
|
|
|
|
entropylen = get_entropy(drbg, &entropy, drbg->strength,
|
|
|
|
drbg->min_entropylen, drbg->max_entropylen,
|
|
|
|
drbg->min_entropylen, drbg->max_entropylen,
|
|
|
|
|
|
|
|
@@ -669,8 +669,14 @@ int ossl_prov_drbg_generate(PROV_DRBG *d
|
|
|
|
|
|
|
|
reseed_required = 1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (drbg->parent != NULL
|
|
|
|
|
|
|
|
- && get_parent_reseed_count(drbg) != drbg->parent_reseed_counter)
|
|
|
|
|
|
|
|
+ && get_parent_reseed_count(drbg) != drbg->parent_reseed_counter) {
|
|
|
|
|
|
|
|
+#ifdef FIPS_MODULE
|
|
|
|
|
|
|
|
+ /* Red Hat patches provide chain reseeding when necessary so just sync counters*/
|
|
|
|
|
|
|
|
+ drbg->parent_reseed_counter = get_parent_reseed_count(drbg);
|
|
|
|
|
|
|
|
+#else
|
|
|
|
|
|
|
|
reseed_required = 1;
|
|
|
|
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (reseed_required || prediction_resistance) {
|
|
|
|
|
|
|
|
if (!ossl_prov_drbg_reseed(drbg, prediction_resistance, NULL, 0,
|
|
|
|
diff -up openssl-3.0.1/crypto/rand/prov_seed.c.fipsrand openssl-3.0.1/crypto/rand/prov_seed.c
|
|
|
|
diff -up openssl-3.0.1/crypto/rand/prov_seed.c.fipsrand openssl-3.0.1/crypto/rand/prov_seed.c
|
|
|
|
--- openssl-3.0.1/crypto/rand/prov_seed.c.fipsrand 2022-08-04 12:17:52.148556301 +0200
|
|
|
|
--- openssl-3.0.1/crypto/rand/prov_seed.c.fipsrand 2022-08-04 12:17:52.148556301 +0200
|
|
|
|
+++ openssl-3.0.1/crypto/rand/prov_seed.c 2022-08-04 12:19:41.783533552 +0200
|
|
|
|
+++ openssl-3.0.1/crypto/rand/prov_seed.c 2022-08-04 12:19:41.783533552 +0200
|
|
|
|