ssl.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /* SSL/TLS parameters */
  2. typedef enum _SSL_VER {
  3. SSL_Ver_Invalid = 0, SSLv2 = 1, SSLv2_plus, SSLv3, SSLv3_plus,
  4. TLSv1, TLSv1_plus, TLSv1_1, TLSv1_1_plus, TLSv1_2, TLSv1_2_plus, TLSv1_3, TLSv1_3_plus
  5. } SslVer;
  6. typedef enum _CLNT_CERTS {
  7. ClntCerts_Unknown = 0, Ask_For_Cert = 1, Require_Cert = 2
  8. } ClntCerts;
  9. typedef enum _SSL_LOGGING {
  10. SSL_NoLogging = 0, SSL_LogStartup = 1, SSL_LogIpAddr = 2,
  11. SSL_LogVersion = 4, SSL_LogCipher = 8, SSL_LogIfClientCert = 16,
  12. SSL_LogCertDetails = 32
  13. } SslLogging;
  14. typedef struct _SSL_PARMS {
  15. char *cert_file;
  16. char *cacert_file;
  17. char *privatekey_file;
  18. char cipher_list[MAX_FILENAME_LENGTH];
  19. SslVer ssl_proto_ver;
  20. int allowDH;
  21. ClntCerts client_certs;
  22. SslLogging log_opts;
  23. } SslParms;
  24. #ifdef HAVE_SSL
  25. # if (defined(__sun) && defined(SOLARIS_10)) || defined(_AIX) || defined(__hpux)
  26. extern SSL_METHOD *meth;
  27. # else
  28. extern const SSL_METHOD *meth;
  29. # endif
  30. extern SSL_CTX *ctx;
  31. extern SslParms sslprm;
  32. #endif
  33. extern int use_ssl;
  34. void ssl_initialize(void);
  35. void ssl_set_protocol_version(SslVer ssl_proto_ver, unsigned long *ssl_opts);
  36. void ssl_log_startup(int server);
  37. int ssl_load_certificates(void);
  38. int ssl_set_ciphers(void);
  39. int ssl_verify_callback_common(int preverify_ok, X509_STORE_CTX * ctx, int is_invalid);