PR: 2262
authorDr. Stephen Henson <steve@openssl.org>
Thu, 27 May 2010 14:09:22 +0000 (14:09 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Thu, 27 May 2010 14:09:22 +0000 (14:09 +0000)
Submitted By: Victor Wagner <vitus@cryptocom.ru>

Fix error reporting in load_key function.

apps/apps.c

index 35b62b8b096e17898b01877de3988624f3a8ccf0..ab60b700b0727545d9d8ff3a3ca312400cd869f9 100644 (file)
@@ -866,10 +866,17 @@ EVP_PKEY *load_key(BIO *err, const char *file, int format, int maybe_stdin,
        if (format == FORMAT_ENGINE)
                {
                if (!e)
-                       BIO_printf(bio_err,"no engine specified\n");
+                       BIO_printf(err,"no engine specified\n");
                else
+                       {
                        pkey = ENGINE_load_private_key(e, file,
                                ui_method, &cb_data);
+                       if (!pkey) 
+                               {
+                               BIO_printf(err,"cannot load %s from engine\n",key_descrip);
+                               ERR_print_errors(err);
+                               }       
+                       }
                goto end;
                }
 #endif
@@ -919,8 +926,11 @@ EVP_PKEY *load_key(BIO *err, const char *file, int format, int maybe_stdin,
                }
  end:
        if (key != NULL) BIO_free(key);
-       if (pkey == NULL)
+       if (pkey == NULL) 
+               {
                BIO_printf(err,"unable to load %s\n", key_descrip);
+               ERR_print_errors(err);
+               }       
        return(pkey);
        }