Ensure we initialized the locale before evp_pkey_name2type

Fixes #18158

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18199)
diff --git a/crypto/evp/pmeth_lib.c b/crypto/evp/pmeth_lib.c
index a618766..530e1b4 100644
--- a/crypto/evp/pmeth_lib.c
+++ b/crypto/evp/pmeth_lib.c
@@ -23,7 +23,7 @@
 #include <openssl/dh.h>
 #include <openssl/rsa.h>
 #include <openssl/kdf.h>
-#include "internal/cryptlib.h"
+#include "crypto/cryptlib.h"
 #ifndef FIPS_MODULE
 # include "crypto/asn1.h"
 #endif
@@ -199,6 +199,7 @@
             }
 #ifndef FIPS_MODULE
             if (keytype != NULL) {
+                OPENSSL_init_crypto(OPENSSL_INIT_BASE_ONLY, NULL);
                 id = evp_pkey_name2type(keytype);
                 if (id == NID_undef)
                     id = -1;