Workaround for some CMS signature formats.
[openssl.git] / apps / genpkey.c
index 1d1a53e84b3b3dd197501eaef83ae257e34c2a25..6dfda08b9e09f2d7ca3e4bea10f3ce27e8ffebeb 100644 (file)
@@ -1,5 +1,5 @@
 /* apps/genpkey.c */
-/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
  * project 2006
  */
 /* ====================================================================
@@ -67,8 +67,6 @@
 
 static int init_keygen_file(BIO *err, EVP_PKEY_CTX **pctx,
                                const char *file, ENGINE *e);
-static int init_gen_str(BIO *err, EVP_PKEY_CTX **pctx,
-                               const char *algname, ENGINE *e, int do_param);
 static int genpkey_cb(EVP_PKEY_CTX *ctx);
 
 #define PROG genpkey_main
@@ -362,8 +360,8 @@ static int init_keygen_file(BIO *err, EVP_PKEY_CTX **pctx,
 
        }
 
-static int init_gen_str(BIO *err, EVP_PKEY_CTX **pctx,
-                               const char *algname, ENGINE *e, int do_param)
+int init_gen_str(BIO *err, EVP_PKEY_CTX **pctx,
+                       const char *algname, ENGINE *e, int do_param)
        {
        EVP_PKEY_CTX *ctx = NULL;
        const EVP_PKEY_ASN1_METHOD *ameth;
@@ -378,8 +376,10 @@ static int init_gen_str(BIO *err, EVP_PKEY_CTX **pctx,
 
        ameth = EVP_PKEY_asn1_find_str(&tmpeng, algname, -1);
 
+#ifndef OPENSSL_NO_ENGINE
        if (!ameth && e)
                ameth = ENGINE_get_pkey_asn1_meth_str(e, algname, -1);
+#endif
 
        if (!ameth)
                {