Fix regression in openssl req -x509 behaviour.
authorTomas Mraz <tmraz@fedoraproject.org>
Thu, 11 May 2017 12:25:17 +0000 (14:25 +0200)
committerRichard Levitte <levitte@openssl.org>
Thu, 11 May 2017 15:22:38 +0000 (17:22 +0200)
Allow conversion of existing requests to certificates again.
Fixes the issue #3396

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3437)
(cherry picked from commit 888adbe064556ff5ab2f1d16a223b0548696614c)

apps/req.c
doc/apps/req.pod

index a1cbfe2d2b1756183879d57669014cfa1e2b930a..a749925ba045d7f610ff0532cb1a434db7934540 100644 (file)
@@ -289,7 +289,6 @@ int req_main(int argc, char **argv)
             break;
         case OPT_X509:
             x509 = 1;
-            newreq = 1;
             break;
         case OPT_DAYS:
             days = atoi(opt_arg());
@@ -329,6 +328,9 @@ int req_main(int argc, char **argv)
     if (argc != 0)
         goto opthelp;
 
+    if (x509 && infile == NULL)
+        newreq = 1;
+
     if (!nmflag_set)
         nmflag = XN_FLAG_ONELINE;
 
@@ -583,7 +585,7 @@ int req_main(int argc, char **argv)
         }
     }
 
-    if (newreq) {
+    if (newreq || x509) {
         if (pkey == NULL) {
             BIO_printf(bio_err, "you need to specify a private key\n");
             goto end;
index 83b5704bd979e1a3c454ca6baa0c81e645ccef88..8cfe2bc5fa16b7320b97e809b9834675327ed7b6 100644 (file)
@@ -233,6 +233,9 @@ a self signed root CA. The extensions added to the certificate
 using the B<set_serial> option, a large random number will be used for
 the serial number.
 
+If existing request is specified with the B<-in> option, it is converted
+to the self signed certificate otherwise new request is created.
+
 =item B<-days n>
 
 when the B<-x509> option is being used this specifies the number of