X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=apps%2Fapps.c;h=c22550b2945e4504386c57975527917642e52e50;hb=9693045170a671fde225a23ced1108fbc6dcf097;hp=ddc4df077343c02baf65d06bf9fa3de057e2d72e;hpb=c15e0363982daf8ef68a28632652311fbb85b2a3;p=oweals%2Fopenssl.git diff --git a/apps/apps.c b/apps/apps.c index ddc4df0773..c22550b294 100644 --- a/apps/apps.c +++ b/apps/apps.c @@ -74,14 +74,6 @@ # include "bss_file.c" #endif -typedef struct { - char *name; - unsigned long flag; - unsigned long mask; -} NAME_EX_TBL; - -static int set_table_opts(unsigned long *flags, const char *arg, const NAME_EX_TBL *in_tbl); - int app_init(long mesgwin); #ifdef undef /* never finished - probably never will be :-) */ int args_from_file(char *file, int *argc, char **argv[]) @@ -178,8 +170,6 @@ int str2fmt(char *s) || (strcmp(s,"PKCS12") == 0) || (strcmp(s,"pkcs12") == 0) || (strcmp(s,"P12") == 0) || (strcmp(s,"p12") == 0)) return(FORMAT_PKCS12); - else if ((*s == 'E') || (*s == 'e')) - return(FORMAT_ENGINE); else return(FORMAT_UNDEF); } @@ -442,11 +432,7 @@ int add_oid_section(BIO *err, LHASH *conf) STACK_OF(CONF_VALUE) *sktmp; CONF_VALUE *cnf; int i; - if(!(p=CONF_get_string(conf,NULL,"oid_section"))) - { - ERR_clear_error(); - return 1; - } + if(!(p=CONF_get_string(conf,NULL,"oid_section"))) return 1; if(!(sktmp = CONF_get_section(conf, p))) { BIO_printf(err, "problem loading oid section %s\n", p); return 0; @@ -557,7 +543,7 @@ end: return(x); } -EVP_PKEY *load_key(BIO *err, char *file, int format, char *pass, ENGINE *e) +EVP_PKEY *load_key(BIO *err, char *file, int format, char *pass) { BIO *key=NULL; EVP_PKEY *pkey=NULL; @@ -567,14 +553,6 @@ EVP_PKEY *load_key(BIO *err, char *file, int format, char *pass, ENGINE *e) BIO_printf(err,"no keyfile specified\n"); goto end; } - if (format == FORMAT_ENGINE) - { - if (!e) - BIO_printf(bio_err,"no engine specified\n"); - else - pkey = ENGINE_load_private_key(e, file, pass); - goto end; - } key=BIO_new(BIO_s_file()); if (key == NULL) { @@ -614,7 +592,7 @@ EVP_PKEY *load_key(BIO *err, char *file, int format, char *pass, ENGINE *e) return(pkey); } -EVP_PKEY *load_pubkey(BIO *err, char *file, int format, ENGINE *e) +EVP_PKEY *load_pubkey(BIO *err, char *file, int format) { BIO *key=NULL; EVP_PKEY *pkey=NULL; @@ -624,14 +602,6 @@ EVP_PKEY *load_pubkey(BIO *err, char *file, int format, ENGINE *e) BIO_printf(err,"no keyfile specified\n"); goto end; } - if (format == FORMAT_ENGINE) - { - if (!e) - BIO_printf(bio_err,"no engine specified\n"); - else - pkey = ENGINE_load_public_key(e, file, NULL); - goto end; - } key=BIO_new(BIO_s_file()); if (key == NULL) { @@ -724,43 +694,16 @@ end: return(othercerts); } - -#define X509V3_EXT_UNKNOWN_MASK (0xfL << 16) -/* Return error for unknown extensions */ -#define X509V3_EXT_DEFAULT 0 -/* Print error for unknown extensions */ -#define X509V3_EXT_ERROR_UNKNOWN (1L << 16) -/* ASN1 parse unknown extensions */ -#define X509V3_EXT_PARSE_UNKNOWN (2L << 16) -/* BIO_dump unknown extensions */ -#define X509V3_EXT_DUMP_UNKNOWN (3L << 16) - -int set_cert_ex(unsigned long *flags, const char *arg) -{ - static const NAME_EX_TBL cert_tbl[] = { - { "compatible", X509_FLAG_COMPAT, 0xffffffffl}, - { "no_header", X509_FLAG_NO_HEADER, 0}, - { "no_version", X509_FLAG_NO_VERSION, 0}, - { "no_serial", X509_FLAG_NO_SERIAL, 0}, - { "no_signame", X509_FLAG_NO_SIGNAME, 0}, - { "no_validity", X509_FLAG_NO_VALIDITY, 0}, - { "no_subject", X509_FLAG_NO_SUBJECT, 0}, - { "no_pubkey", X509_FLAG_NO_PUBKEY, 0}, - { "no_extensions", X509_FLAG_NO_EXTENSIONS, 0}, - { "no_sigdump", X509_FLAG_NO_SIGDUMP, 0}, - { "no_aux", X509_FLAG_NO_AUX, 0}, - { "ext_default", X509V3_EXT_DEFAULT, X509V3_EXT_UNKNOWN_MASK}, - { "ext_error", X509V3_EXT_ERROR_UNKNOWN, X509V3_EXT_UNKNOWN_MASK}, - { "ext_parse", X509V3_EXT_PARSE_UNKNOWN, X509V3_EXT_UNKNOWN_MASK}, - { "ext_dump", X509V3_EXT_DUMP_UNKNOWN, X509V3_EXT_UNKNOWN_MASK}, - { NULL, 0, 0} - }; - return set_table_opts(flags, arg, cert_tbl); -} +typedef struct { + char *name; + unsigned long flag; + unsigned long mask; +} NAME_EX_TBL; int set_name_ex(unsigned long *flags, const char *arg) { - static const NAME_EX_TBL ex_tbl[] = { + char c; + const NAME_EX_TBL *ptbl, ex_tbl[] = { { "esc_2253", ASN1_STRFLGS_ESC_2253, 0}, { "esc_ctrl", ASN1_STRFLGS_ESC_CTRL, 0}, { "esc_msb", ASN1_STRFLGS_ESC_MSB, 0}, @@ -788,13 +731,7 @@ int set_name_ex(unsigned long *flags, const char *arg) { "multiline", XN_FLAG_MULTILINE, 0xffffffffL}, { NULL, 0, 0} }; - return set_table_opts(flags, arg, ex_tbl); -} -static int set_table_opts(unsigned long *flags, const char *arg, const NAME_EX_TBL *in_tbl) -{ - char c; - const NAME_EX_TBL *ptbl; c = arg[0]; if(c == '-') { @@ -805,8 +742,8 @@ static int set_table_opts(unsigned long *flags, const char *arg, const NAME_EX_T arg++; } else c = 1; - for(ptbl = in_tbl; ptbl->name; ptbl++) { - if(!strcasecmp(arg, ptbl->name)) { + for(ptbl = ex_tbl; ptbl->name; ptbl++) { + if(!strcmp(arg, ptbl->name)) { *flags &= ~ptbl->mask; if(c) *flags |= ptbl->flag; else *flags &= ~ptbl->flag; @@ -837,32 +774,3 @@ void print_name(BIO *out, char *title, X509_NAME *nm, unsigned long lflags) } } -X509_STORE *setup_verify(BIO *bp, char *CAfile, char *CApath) -{ - X509_STORE *store; - X509_LOOKUP *lookup; - if(!(store = X509_STORE_new())) goto end; - lookup=X509_STORE_add_lookup(store,X509_LOOKUP_file()); - if (lookup == NULL) goto end; - if (CAfile) { - if(!X509_LOOKUP_load_file(lookup,CAfile,X509_FILETYPE_PEM)) { - BIO_printf(bp, "Error loading file %s\n", CAfile); - goto end; - } - } else X509_LOOKUP_load_file(lookup,NULL,X509_FILETYPE_DEFAULT); - - lookup=X509_STORE_add_lookup(store,X509_LOOKUP_hash_dir()); - if (lookup == NULL) goto end; - if (CApath) { - if(!X509_LOOKUP_add_dir(lookup,CApath,X509_FILETYPE_PEM)) { - BIO_printf(bp, "Error loading directory %s\n", CApath); - goto end; - } - } else X509_LOOKUP_add_dir(lookup,NULL,X509_FILETYPE_DEFAULT); - - ERR_clear_error(); - return store; - end: - X509_STORE_free(store); - return NULL; -}