X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=apps%2Finclude%2Fapps.h;h=b6dbe74fa9114a4950ed4032a0218046f0ba5e55;hp=41178a6e226bcb083c45c9cc53498167247a1f07;hb=e1cd94f2dca4056ce042c62b89c468dffc088033;hpb=829902879eb7ba1260a9444f6b6b91d84ca61037 diff --git a/apps/include/apps.h b/apps/include/apps.h index 41178a6e22..b6dbe74fa9 100644 --- a/apps/include/apps.h +++ b/apps/include/apps.h @@ -11,6 +11,7 @@ # define OSSL_APPS_H # include "e_os.h" /* struct timeval for DTLS */ +# include "internal/common.h" /* for HAS_PREFIX */ # include "internal/nelem.h" # include "internal/sockets.h" /* for openssl_fdset() */ # include @@ -37,6 +38,7 @@ # include "fmt.h" # include "platform.h" # include "engine_loader.h" +# include "app_libctx.h" /* * quick macro when you need to pass an unsigned char instead of a char. @@ -92,14 +94,18 @@ typedef struct args_st { /* We need both wrap and the "real" function because libcrypto uses both. */ int wrap_password_callback(char *buf, int bufsiz, int verify, void *cb_data); +/* progress callback for dsaparam, dhparam, req, genpkey, etc. */ +int progress_cb(EVP_PKEY_CTX *ctx); + int chopup_args(ARGS *arg, char *buf); -int dump_cert_text(BIO *out, X509 *x); +void dump_cert_text(BIO *out, X509 *x); void print_name(BIO *out, const char *title, const X509_NAME *nm); void print_bignum_var(BIO *, const BIGNUM *, const char*, int, unsigned char *); void print_array(BIO *, const char *, int, const unsigned char *); int set_nameopt(const char *arg); unsigned long get_nameopt(void); +int set_dateopt(unsigned long *dateopt, const char *arg); int set_cert_ex(unsigned long *flags, const char *arg); int set_name_ex(unsigned long *flags, const char *arg); int set_ext_copy(int *copy_type, const char *arg); @@ -121,6 +127,9 @@ EVP_PKEY *load_pubkey(const char *uri, int format, int maybe_stdin, const char *pass, ENGINE *e, const char *desc); EVP_PKEY *load_keyparams(const char *uri, int format, int maybe_stdin, const char *keytype, const char *desc); +EVP_PKEY *load_keyparams_suppress(const char *uri, int format, int maybe_stdin, + const char *keytype, const char *desc, + int suppress_decode_errors); char *next_item(char *opt); /* in list separated by comma and/or space */ int load_cert_certs(const char *uri, X509 **pcert, STACK_OF(X509) **pcerts, @@ -175,10 +184,10 @@ const EVP_MD *get_digest_from_engine(const char *name); const EVP_CIPHER *get_cipher_from_engine(const char *name); # ifndef OPENSSL_NO_OCSP -OCSP_RESPONSE *process_responder(OCSP_REQUEST *req, - const char *host, const char *path, - const char *port, int use_ssl, - STACK_OF(CONF_VALUE) *headers, +OCSP_RESPONSE *process_responder(OCSP_REQUEST *req, const char *host, + const char *port, const char *path, + const char *proxy, const char *no_proxy, + int use_ssl, STACK_OF(CONF_VALUE) *headers, int req_timeout); # endif @@ -242,6 +251,7 @@ int x509_req_ctrl_string(X509_REQ *x, const char *value); int init_gen_str(EVP_PKEY_CTX **pctx, const char *algname, ENGINE *e, int do_param, OSSL_LIB_CTX *libctx, const char *propq); +int cert_matches_key(const X509 *cert, const EVP_PKEY *pkey); int do_X509_sign(X509 *x, EVP_PKEY *pkey, const char *md, STACK_OF(OPENSSL_STRING) *sigopts, X509V3_CTX *ext_ctx); int do_X509_verify(X509 *x, EVP_PKEY *pkey, STACK_OF(OPENSSL_STRING) *vfyopts); @@ -257,9 +267,9 @@ extern char *psk_key; unsigned char *next_protos_parse(size_t *outlen, const char *in); -void print_cert_checks(BIO *bio, X509 *x, +int check_cert_attributes(BIO *bio, X509 *x, const char *checkhost, - const char *checkemail, const char *checkip); + const char *checkemail, const char *checkip, int print); void store_setup_crl_download(X509_STORE *st); @@ -326,16 +336,13 @@ typedef struct verify_options_st { extern VERIFY_CB_ARGS verify_args; -OSSL_LIB_CTX *app_create_libctx(void); -OSSL_LIB_CTX *app_get0_libctx(void); OSSL_PARAM *app_params_new_from_opts(STACK_OF(OPENSSL_STRING) *opts, const OSSL_PARAM *paramdefs); void app_params_free(OSSL_PARAM *params); int app_provider_load(OSSL_LIB_CTX *libctx, const char *provider_name); void app_providers_cleanup(void); -OSSL_LIB_CTX *app_get0_libctx(void); -int app_set_propq(const char *arg); -const char *app_get0_propq(void); +EVP_PKEY *app_keygen(EVP_PKEY_CTX *ctx, const char *alg, int bits, int verbose); +EVP_PKEY *app_paramgen(EVP_PKEY_CTX *ctx, const char *alg); #endif