APPS: Restore the possibility to combine -pubout with -text
authorRichard Levitte <levitte@openssl.org>
Tue, 8 Jun 2021 10:22:31 +0000 (12:22 +0200)
committerRichard Levitte <levitte@openssl.org>
Thu, 10 Jun 2021 06:34:09 +0000 (08:34 +0200)
This applies to the 'openssl pkey' command.

Fixes #15645

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15658)

apps/pkey.c
doc/man1/openssl-pkey.pod.in

index 781f37683746b8e272fa1ead2cd078fe3db592db..fb3899b08ec841418ecf52d9d601652e522aad98 100644 (file)
@@ -175,15 +175,19 @@ int pkey_main(int argc, char **argv)
     if (argc != 0)
         goto opthelp;
 
-    if (noout && pubout)
-        BIO_printf(bio_err,
-                   "Warning: The -pubout option is ignored with -noout\n");
     if (text && text_pub)
         BIO_printf(bio_err,
                    "Warning: The -text option is ignored with -text_pub\n");
     if (traditional && (noout || outformat != FORMAT_PEM))
         BIO_printf(bio_err,
                    "Warning: The -traditional is ignored since there is no PEM output\n");
+
+    /* -pubout and -text is the same as -text_pub */
+    if (!text_pub && pubout && text) {
+        text = 0;
+        text_pub = 1;
+    }
+
     private = (!noout && !pubout) || (text && !text_pub);
 
     if (ciphername != NULL) {
index bf45643bce821c54e4ae90a6d2883d6a938a72d1..34d57f7d14226e1cbe362d674f624e669ea753bf 100644 (file)
@@ -131,10 +131,12 @@ option is specified then the older "traditional" format is used instead.
 
 =item B<-pubout>
 
-By default the encoded private and public key is output;
-this option restricts the encoded output to the public components.
+By default the private and public key is output;
+this option restricts the output to the public components.
 This option is automatically set if the input is a public key.
 
+When combined with B<-text>, this is equivalent to B<-text_pub>.
+
 =item B<-noout>
 
 Do not output the key in encoded form.