int spkac_main(int argc, char **argv)
{
- BIO *in = NULL, *out = NULL;
+ BIO *out = NULL;
CONF *conf = NULL;
ENGINE *e = NULL;
EVP_PKEY *pkey = NULL;
NETSCAPE_SPKI *spki = NULL;
- char *challenge = NULL, *keyfile = NULL, *engine = NULL;
+ char *challenge = NULL, *keyfile = NULL;
char *infile = NULL, *outfile = NULL, *passinarg = NULL, *passin = NULL;
char *spkstr = NULL, *prog;
const char *spkac = "SPKAC", *spksect = "default";
spksect = opt_arg();
break;
case OPT_ENGINE:
- engine = opt_arg();
+ e = setup_engine(opt_arg(), 0);
break;
-
}
}
argc = opt_num_rest();
BIO_printf(bio_err, "Error getting password\n");
goto end;
}
-#ifndef OPENSSL_NO_ENGINE
- e = setup_engine(engine, 0);
-#endif
if (keyfile) {
pkey = load_key(strcmp(keyfile, "-") ? keyfile : NULL,
goto end;
}
- in = bio_open_default(infile, "r");
- if (in == NULL)
+ if ((conf = app_load_config(infile)) == NULL)
goto end;
-
- conf = NCONF_new(NULL);
- i = NCONF_load_bio(conf, in, NULL);
-
- if (!i) {
- BIO_printf(bio_err, "Error parsing config file\n");
- ERR_print_errors(bio_err);
+ if (!app_load_modules(conf))
goto end;
- }
spkstr = NCONF_get_string(conf, spksect, spkac);
end:
NCONF_free(conf);
NETSCAPE_SPKI_free(spki);
- BIO_free(in);
BIO_free_all(out);
EVP_PKEY_free(pkey);
- if (passin)
- OPENSSL_free(passin);
+ OPENSSL_free(passin);
return (ret);
}