summaryrefslogtreecommitdiffstats
path: root/apps/apps.c
diff options
context:
space:
mode:
authorDavid von Oheimb <David.von.Oheimb@siemens.com>2019-03-19 09:35:03 +1000
committerPauli <paul.dale@oracle.com>2019-03-19 09:35:03 +1000
commit529586085e38487d45974817d4f3ff40f30e19f6 (patch)
treeb2a9e7cb22c13db7b6a800ad7b47ddedf13a94d0 /apps/apps.c
parent8a74bb5c7becbd7492f4445b852602c3e88ba143 (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.c17
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);