EVP_PKEY_Q_keygen: Call OPENSSL_init_crypto to init strcasecmp

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18247)
diff --git a/crypto/evp/evp_lib.c b/crypto/evp/evp_lib.c
index 3382461..c1793c9 100644
--- a/crypto/evp/evp_lib.c
+++ b/crypto/evp/evp_lib.c
@@ -24,6 +24,7 @@
 #include <openssl/dh.h>
 #include <openssl/ec.h>
 #include "crypto/evp.h"
+#include "crypto/cryptlib.h"
 #include "internal/provider.h"
 #include "evp_local.h"
 
@@ -1118,6 +1119,8 @@
     return (ctx->flags & flags);
 }
 
+#if !defined(FIPS_MODULE)
+
 int EVP_PKEY_CTX_set_group_name(EVP_PKEY_CTX *ctx, const char *name)
 {
     OSSL_PARAM params[] = { OSSL_PARAM_END, OSSL_PARAM_END };
@@ -1193,6 +1196,8 @@
 
     va_start(args, type);
 
+    OPENSSL_init_crypto(OPENSSL_INIT_BASE_ONLY, NULL);
+
     if (OPENSSL_strcasecmp(type, "RSA") == 0) {
         bits = va_arg(args, size_t);
         params[0] = OSSL_PARAM_construct_size_t(OSSL_PKEY_PARAM_RSA_BITS, &bits);
@@ -1213,3 +1218,5 @@
     va_end(args);
     return ret;
 }
+
+#endif /* !defined(FIPS_MODULE) */