47 lines
1.3 KiB
C
47 lines
1.3 KiB
C
/* SSL/TLS parameters */
|
|
typedef enum _SSL_VER {
|
|
SSL_Ver_Invalid = 0, SSLv2 = 1, SSLv2_plus, SSLv3, SSLv3_plus,
|
|
TLSv1, TLSv1_plus, TLSv1_1, TLSv1_1_plus, TLSv1_2, TLSv1_2_plus, TLSv1_3, TLSv1_3_plus
|
|
} SslVer;
|
|
|
|
typedef enum _CLNT_CERTS {
|
|
ClntCerts_Unknown = 0, Ask_For_Cert = 1, Require_Cert = 2
|
|
} ClntCerts;
|
|
|
|
typedef enum _SSL_LOGGING {
|
|
SSL_NoLogging = 0, SSL_LogStartup = 1, SSL_LogIpAddr = 2,
|
|
SSL_LogVersion = 4, SSL_LogCipher = 8, SSL_LogIfClientCert = 16,
|
|
SSL_LogCertDetails = 32
|
|
} SslLogging;
|
|
|
|
typedef struct _SSL_PARMS {
|
|
char *cert_file;
|
|
char *cacert_file;
|
|
char *privatekey_file;
|
|
char cipher_list[MAX_FILENAME_LENGTH];
|
|
SslVer ssl_proto_ver;
|
|
int allowDH;
|
|
ClntCerts client_certs;
|
|
SslLogging log_opts;
|
|
} SslParms;
|
|
|
|
|
|
#ifdef HAVE_SSL
|
|
# if (defined(__sun) && defined(SOLARIS_10)) || defined(_AIX) || defined(__hpux)
|
|
extern SSL_METHOD *meth;
|
|
# else
|
|
extern const SSL_METHOD *meth;
|
|
# endif
|
|
extern SSL_CTX *ctx;
|
|
extern SslParms sslprm;
|
|
#endif
|
|
|
|
extern int use_ssl;
|
|
|
|
|
|
void ssl_initialize(void);
|
|
void ssl_set_protocol_version(SslVer ssl_proto_ver, unsigned long *ssl_opts);
|
|
void ssl_log_startup(int server);
|
|
int ssl_load_certificates(void);
|
|
int ssl_set_ciphers(void);
|
|
int ssl_verify_callback_common(int preverify_ok, X509_STORE_CTX * ctx, int is_invalid);
|