Add copy_extensions option to 'ca' utility.
[openssl.git] / apps / apps.h
index ce1f0fd9afbb08f6aa181c7d142d40aba0af8d9f..96dafd972d0f524540ca5dcccfdf686e8887cec0 100644 (file)
 #ifndef HEADER_APPS_H
 #define HEADER_APPS_H
 
-#include "openssl/e_os.h"
+#include "e_os.h"
 
 #include <openssl/buffer.h>
 #include <openssl/bio.h>
 #include <openssl/crypto.h>
-#include "progs.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);
@@ -76,11 +79,11 @@ long app_RAND_load_files(char *file); /* `file' is a list of files to read,
                                        * (see e_os.h).  The string is
                                        * destroyed! */
 
-#ifdef NO_STDIO
+#ifdef OPENSSL_NO_STDIO
 BIO_METHOD *BIO_s_file();
 #endif
 
-#ifdef WIN32
+#ifdef OPENSSL_SYS_WIN32
 #define rename(from,to) WIN32_rename((from),(to))
 int WIN32_rename(char *oldname,char *newname);
 #endif
@@ -98,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;
@@ -113,21 +115,24 @@ extern BIO *bio_err;
 #define do_pipe_sig()
 #endif
 
-#if defined(MONOLITH) && !defined(SSLEAY)
+#if defined(MONOLITH) && !defined(OPENSSL_C)
 #  define apps_startup()       do_pipe_sig()
 #else
-#  if defined(MSDOS) || defined(WIN16) || defined(WIN32)
+#  if defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_WIN16) || \
+   defined(OPENSSL_SYS_WIN32)
 #    ifdef _O_BINARY
 #      define apps_startup() \
                _fmode=_O_BINARY; do_pipe_sig(); CRYPTO_malloc_init(); \
-               SSLeay_add_all_algorithms()
+               OpenSSL_add_all_algorithms(); ENGINE_load_builtin_engines()
 #    else
 #      define apps_startup() \
                _fmode=O_BINARY; do_pipe_sig(); CRYPTO_malloc_init(); \
-               SSLeay_add_all_algorithms()
+               OpenSSL_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(); OpenSSL_add_all_algorithms(); \
+               ENGINE_load_builtin_engines()
 #  endif
 #endif
 
@@ -142,10 +147,37 @@ int args_from_file(char *file, int *argc, char **argv[]);
 int str2fmt(char *s);
 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 set_ext_copy(int *copy_type, const char *arg);
+int copy_extensions(X509 *x, X509_REQ *req, int copy_type);
+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, 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);
+X509_STORE *setup_verify(BIO *bp, char *CAfile, char *CApath);
+
 #define FORMAT_UNDEF    0
 #define FORMAT_ASN1     1
 #define FORMAT_TEXT     2
 #define FORMAT_PEM      3
 #define FORMAT_NETSCAPE 4
+#define FORMAT_PKCS12   5
+#define FORMAT_SMIME    6
+#define FORMAT_ENGINE   7
+
+#define EXT_COPY_NONE  0
+#define EXT_COPY_ADD   1
+#define EXT_COPY_ALL   2
+
+#define NETSCAPE_CERT_HDR      "certificate"
+
+#define APP_PASS_LEN   1024
 
 #endif