APPS: Improve diagnostics on missing/extra args and unknown cipher/digest
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/16450)
diff --git a/apps/genpkey.c b/apps/genpkey.c
index d00754e..7f70a6b 100644
--- a/apps/genpkey.c
+++ b/apps/genpkey.c
@@ -139,8 +139,7 @@
}
/* No extra arguments. */
- argc = opt_num_rest();
- if (argc != 0)
+ if (!opt_check_rest_arg(NULL))
goto opthelp;
/* Fetch cipher, etc. */
@@ -163,9 +162,12 @@
goto end;
}
}
- if (ciphername != NULL)
- if (!opt_cipher(ciphername, &cipher) || do_param == 1)
- goto opthelp;
+ if (!opt_cipher(ciphername, &cipher))
+ goto opthelp;
+ if (ciphername != NULL && do_param == 1) {
+ BIO_printf(bio_err, "Cannot use cipher with -genparam option\n");
+ goto opthelp;
+ }
private = do_param ? 0 : 1;