Set up the engine before doing anything random-related, since engine randomness
is only used for seeding and doing it in the wrong order will mean seeding
is done before the engine randomness is hooked in.
Notified by Frederic DONNAT <frederic.donnat@zencod.com>
diff --git a/apps/s_client.c b/apps/s_client.c
index 9c0dbc2..658a79d 100644
--- a/apps/s_client.c
+++ b/apps/s_client.c
@@ -433,6 +433,11 @@
goto end;
}
+ OpenSSL_add_ssl_algorithms();
+ SSL_load_error_strings();
+
+ e = setup_engine(bio_err, engine_id, 1);
+
if (!app_RAND_load_file(NULL, bio_err, 1) && inrand == NULL
&& !RAND_status())
{
@@ -455,11 +460,6 @@
}
}
- OpenSSL_add_ssl_algorithms();
- SSL_load_error_strings();
-
- e = setup_engine(bio_err, engine_id, 1);
-
ctx=SSL_CTX_new(meth);
if (ctx == NULL)
{