X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=apps%2Fx509.c;h=d00511c78a7b1f2e04de96747eff37293abe51db;hp=6e652177d88f557f3aa6a782b7c84a726157a60f;hb=df368ecce4e2d2ab8aedb4fa5eadb08992b52b4f;hpb=1e6bccc24052f233d70787191f98355c282bff73 diff --git a/apps/x509.c b/apps/x509.c index 6e652177d8..d00511c78a 100644 --- a/apps/x509.c +++ b/apps/x509.c @@ -601,12 +601,16 @@ bad: if ((x=X509_new()) == NULL) goto end; ci=x->cert_info; - if (sno) + if (sno == NULL) { - if (!X509_set_serialNumber(x, sno)) + sno = ASN1_INTEGER_new(); + if (!sno || !rand_serial(NULL, sno)) goto end; } - else if (!ASN1_INTEGER_set(X509_get_serialNumber(x),0)) goto end; + + if (!X509_set_serialNumber(x, sno)) + goto end; + if (!X509_set_issuer_name(x,req->req_info->subject)) goto end; if (!X509_set_subject_name(x,req->req_info->subject)) goto end;