Make all engines available in the openssl application.
[openssl.git] / apps / apps.h
index df939e0f401715f65e3b3ee813cc0c503387cac7..11133cb1d290f8af1856db6802eaaa1a3a2bff72 100644 (file)
@@ -66,6 +66,8 @@
 #include <openssl/crypto.h>
 #include <openssl/x509.h>
 #include <openssl/lhash.h>
+#include <openssl/conf.h>
+#include <openssl/engine.h>
 
 int app_RAND_load_file(const char *file, BIO *bio_e, int dont_warn);
 int app_RAND_write_file(const char *file, BIO *bio_e);
@@ -99,7 +101,6 @@ extern BIO *bio_err;
 #else
 
 #define MAIN(a,v)      PROG(a,v)
-#include <openssl/conf.h>
 extern LHASH *config;
 extern char *default_config_file;
 extern BIO *bio_err;
@@ -121,14 +122,16 @@ extern BIO *bio_err;
 #    ifdef _O_BINARY
 #      define apps_startup() \
                _fmode=_O_BINARY; do_pipe_sig(); CRYPTO_malloc_init(); \
-               SSLeay_add_all_algorithms()
+               SSLeay_add_all_algorithms(); ENGINE_load_builtin_engines()
 #    else
 #      define apps_startup() \
                _fmode=O_BINARY; do_pipe_sig(); CRYPTO_malloc_init(); \
-               SSLeay_add_all_algorithms()
+               SSLeay_add_all_algorithms(); ENGINE_load_builtin_engines()
 #    endif
 #  else
-#    define apps_startup()     do_pipe_sig(); SSLeay_add_all_algorithms();
+#    define apps_startup() \
+               do_pipe_sig(); SSLeay_add_all_algorithms(); \
+               ENGINE_load_builtin_engines()
 #  endif
 #endif
 
@@ -145,11 +148,15 @@ void program_name(char *in,char *out,int size);
 int chopup_args(ARGS *arg,char *buf, int *argc, char **argv[]);
 #ifdef HEADER_X509_H
 int dump_cert_text(BIO *out, X509 *x);
+void print_name(BIO *out, char *title, X509_NAME *nm, unsigned long lflags);
 #endif
+int set_cert_ex(unsigned long *flags, const char *arg);
+int set_name_ex(unsigned long *flags, const char *arg);
 int app_passwd(BIO *err, char *arg1, char *arg2, char **pass1, char **pass2);
 int add_oid_section(BIO *err, LHASH *conf);
 X509 *load_cert(BIO *err, char *file, int format);
-EVP_PKEY *load_key(BIO *err, char *file, int format, char *pass);
+EVP_PKEY *load_key(BIO *err, char *file, int format, char *pass, ENGINE *e);
+EVP_PKEY *load_pubkey(BIO *err, char *file, int format, ENGINE *e);
 STACK_OF(X509) *load_certs(BIO *err, char *file, int format);
 
 #define FORMAT_UNDEF    0
@@ -159,6 +166,7 @@ STACK_OF(X509) *load_certs(BIO *err, char *file, int format);
 #define FORMAT_NETSCAPE 4
 #define FORMAT_PKCS12   5
 #define FORMAT_SMIME    6
+#define FORMAT_ENGINE   7
 
 #define NETSCAPE_CERT_HDR      "certificate"