Commit dd37f6f1 authored by Matt Caswell's avatar Matt Caswell
Browse files

Don't allow an empty Subject when creating a Certificate



Misconfiguration (e.g. an empty policy section in the config file) can
lead to an empty Subject. Since certificates should have unique Subjects
this should not be allowed.

Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5115)
parent 6e17c64b
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -1672,6 +1672,10 @@ static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509,
                   "The Subject's Distinguished Name is as follows\n");

    name = X509_REQ_get_subject_name(req);
    if (X509_NAME_entry_count(name) == 0) {
        BIO_printf(bio_err, "Error: The supplied Subject is empty\n");
        goto err;
    }
    for (i = 0; i < X509_NAME_entry_count(name); i++) {
        ne = X509_NAME_get_entry(name, i);
        str = X509_NAME_ENTRY_get_data(ne);
@@ -1836,6 +1840,12 @@ static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509,
            goto err;
    }

    if (X509_NAME_entry_count(subject) == 0) {
        BIO_printf(bio_err,
                   "Error: After applying policy the Subject is empty\n");
        goto err;
    }

    if (verbose)
        BIO_printf(bio_err,
                   "The subject name appears to be ok, checking data base for clashes\n");