apps/x509.c: Fix too eager call to X509_set_issuer_name() introduced recently
authorDr. David von Oheimb <David.von.Oheimb@siemens.com>
Fri, 26 Feb 2021 10:42:49 +0000 (11:42 +0100)
committerDr. David von Oheimb <dev@ddvo.net>
Sun, 28 Feb 2021 10:46:34 +0000 (11:46 +0100)
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14340)

apps/x509.c

index 67895c816917ac400889cbf98f0cfeb675ede69c..562f28098d5941145f195dc8b894801d10ac9bc9 100644 (file)
@@ -793,10 +793,6 @@ int x509_main(int argc, char **argv)
             X509_EXTENSION_free(X509_delete_ext(x, i));
     }
 
-    if ((reqfile || newcert || signkey != NULL || CAfile != NULL)
-            && !preserve_dates && !set_cert_times(x, NULL, NULL, days))
-        goto end;
-
     issuer_cert = x;
     if (CAfile != NULL) {
         issuer_cert = xca;
@@ -809,8 +805,12 @@ int x509_main(int argc, char **argv)
     if (sno != NULL && !X509_set_serialNumber(x, sno))
         goto end;
 
-    if (!X509_set_issuer_name(x, X509_get_subject_name(issuer_cert)))
-        goto end;
+    if (reqfile || newcert || signkey != NULL || CAfile != NULL) {
+        if (!preserve_dates && !set_cert_times(x, NULL, NULL, days))
+            goto end;
+        if (!X509_set_issuer_name(x, X509_get_subject_name(issuer_cert)))
+            goto end;
+    }
 
     X509V3_set_ctx(&ext_ctx, issuer_cert, x, req, NULL, X509V3_CTX_REPLACE);
     if (extconf != NULL) {