Commit f3823ddf authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Before initalising a live DRBG (i.e. not in test mode) run a complete health

check on a DRBG of the same type.
parent 68ea88b8
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -84,6 +84,18 @@ int FIPS_drbg_init(DRBG_CTX *dctx, int type, unsigned int flags)
			FIPSerr(FIPS_F_FIPS_DRBG_INIT, FIPS_R_ERROR_INITIALISING_DRBG);
		}

	/* If not in test mode run selftests on DRBG of the same type */

	if (!(dctx->flags & DRBG_FLAG_TEST))
		{
		DRBG_CTX tctx;
		if (!fips_drbg_kat(&tctx, type, flags | DRBG_FLAG_TEST))
			{
			/*FIPSerr(FIPS_F_FIPS_DRBG_INIT, FIPS_R_SELFTEST_FAILURE);*/
			return 0;
			}
		}

	return rv;
	}