diff options
author | David von Oheimb <David.von.Oheimb@siemens.com> | 2019-03-19 09:35:03 +1000 |
---|---|---|
committer | Pauli <paul.dale@oracle.com> | 2019-03-19 09:35:03 +1000 |
commit | 529586085e38487d45974817d4f3ff40f30e19f6 (patch) | |
tree | b2a9e7cb22c13db7b6a800ad7b47ddedf13a94d0 /apps/apps.c | |
parent | 8a74bb5c7becbd7492f4445b852602c3e88ba143 (diff) |
Add -new and -subj options to x509 app for direct cert generation
Complete and improve error output of parse_name() in apps/apps.c
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/8193)
Diffstat (limited to 'apps/apps.c')
-rw-r--r-- | apps/apps.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/apps/apps.c b/apps/apps.c index 06b543488f..8921c18cbc 100644 --- a/apps/apps.c +++ b/apps/apps.c @@ -1623,8 +1623,10 @@ X509_NAME *parse_name(const char *cp, long chtype, int canmulti) if (n == NULL) return NULL; work = OPENSSL_strdup(cp); - if (work == NULL) + if (work == NULL) { + BIO_printf(bio_err, "%s: Error copying name input\n", opt_getprog()); goto err; + } while (*cp) { char *bp = work; @@ -1639,7 +1641,7 @@ X509_NAME *parse_name(const char *cp, long chtype, int canmulti) *bp++ = *cp++; if (*cp == '\0') { BIO_printf(bio_err, - "%s: Hit end of string before finding the equals.\n", + "%s: Hit end of string before finding the '='\n", opt_getprog()); goto err; } @@ -1655,8 +1657,8 @@ X509_NAME *parse_name(const char *cp, long chtype, int canmulti) } if (*cp == '\\' && *++cp == '\0') { BIO_printf(bio_err, - "%s: escape character at end of string\n", - opt_getprog()); + "%s: escape character at end of string\n", + opt_getprog()); goto err; } } @@ -1670,7 +1672,7 @@ X509_NAME *parse_name(const char *cp, long chtype, int canmulti) nid = OBJ_txt2nid(typestr); if (nid == NID_undef) { BIO_printf(bio_err, "%s: Skipping unknown attribute \"%s\"\n", - opt_getprog(), typestr); + opt_getprog(), typestr); continue; } if (*valstr == '\0') { @@ -1681,8 +1683,11 @@ X509_NAME *parse_name(const char *cp, long chtype, int canmulti) } if (!X509_NAME_add_entry_by_NID(n, nid, chtype, valstr, strlen((char *)valstr), - -1, ismulti ? -1 : 0)) + -1, ismulti ? -1 : 0)) { + BIO_printf(bio_err, "%s: Error adding name attribute \"/%s=%s\"\n", + opt_getprog(), typestr ,valstr); goto err; + } } OPENSSL_free(work); |