summaryrefslogtreecommitdiffstats
path: root/apps/ca.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>1999-02-10 01:12:59 +0000
committerDr. Stephen Henson <steve@openssl.org>1999-02-10 01:12:59 +0000
commit175b0942ec7e82f86831916d325922817872e657 (patch)
tree44262b09075d8ca2b46b4819069f4a5df304ae89 /apps/ca.c
parentc45beb91b3ddf18b29c65b64b9e0ee74497a7f27 (diff)
More extension code. Incomplete support for subject and issuer alt
name, issuer and authority key id. Change the i2v function parameters and add an extra 'crl' parameter in the X509V3_CTX structure: guess what that's for :-) Fix to ASN1 macro which messed up IMPLICIT tag and add f_enum.c which adds a2i, i2a for ENUMERATED.
Diffstat (limited to 'apps/ca.c')
-rw-r--r--apps/ca.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/apps/ca.c b/apps/ca.c
index 07ef9ebb9d..25e025d180 100644
--- a/apps/ca.c
+++ b/apps/ca.c
@@ -690,9 +690,8 @@ bad:
extensions=CONF_get_string(conf,section,ENV_EXTENSIONS);
if(extensions) {
-
/* Check syntax of file */
- if(!X509V3_EXT_add_conf(conf, NULL, extensions, NULL)) {
+ if(!X509V3_EXT_check_conf(conf, extensions)) {
BIO_printf(bio_err,
"Error Loading extension section %s\n",
extensions);
@@ -1669,6 +1668,7 @@ again2:
/* Lets add the extensions, if there are any */
if (ext_sect)
{
+ X509V3_CTX ctx;
if (ci->version == NULL)
if ((ci->version=ASN1_INTEGER_new()) == NULL)
goto err;
@@ -1681,7 +1681,13 @@ again2:
ci->extensions = NULL;
- if(!X509V3_EXT_add_conf(conf, NULL, ext_sect, ret)) goto err;
+ ctx.subject_cert = ret;
+ ctx.issuer_cert = x509;
+ ctx.subject_req = req;
+ ctx.crl = NULL;
+ ctx.flags = 0;
+
+ if(!X509V3_EXT_add_conf(conf, &ctx, ext_sect, ret)) goto err;
}