Fix openssl ca, to correctly make output file binary when using -spkac
[openssl.git] / apps / ca.c
index 1c053b57025602ecb08a5ac71bfd809fc3397f02..ea774ad557ebfef4db0e0de221d695b8e429ebc0 100644 (file)
--- a/apps/ca.c
+++ b/apps/ca.c
@@ -722,8 +722,12 @@ end_of_options:
 
     /*****************************************************************/
     if (req || gencrl) {
-        /* FIXME: Is it really always text? */
-        Sout = bio_open_default(outfile, 'w', FORMAT_TEXT);
+        if (spkac_file != NULL) {
+            output_der = 1;
+            batch = 1;
+        }
+        Sout = bio_open_default(outfile, 'w',
+                                output_der ? FORMAT_ASN1 : FORMAT_TEXT);
         if (Sout == NULL)
             goto end;
     }
@@ -877,10 +881,6 @@ end_of_options:
                     BIO_printf(bio_err, "Memory allocation failure\n");
                     goto end;
                 }
-                if (outfile) {
-                    output_der = 1;
-                    batch = 1;
-                }
             }
         }
         if (ss_cert_file != NULL) {