home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / k95source / ckossl.h < prev    next >
C/C++ Source or Header  |  2020-01-01  |  10KB  |  202 lines

  1. /*
  2.   C K O S S L . H --  OpenSSL Interface Header for Kermit 95
  3.  
  4.   Copyright (C) 2000, 2004, Trustees of Columbia University in the City of New
  5.   York.
  6.  
  7.   Copyright (C) 2006, 2007  Secure Endpoints Inc.
  8.  
  9.   Author:  Jeffrey E Altman (jaltman@secure-endpoints.com),
  10.            Secure Endpoints Inc., New York City
  11. */
  12.  
  13. #ifdef OS2
  14. #ifdef CK_SSL
  15. #ifdef SSLDLL
  16. #define SSL_library_init                 ck_SSL_library_init
  17. #ifdef OpenSSL_add_all_algorithms
  18. #undef OpenSSL_add_all_algorithms
  19. #endif
  20. #define OpenSSL_add_all_algorithms        ck_SSL_library_init
  21. #ifdef SSLeay_add_all_algorithms
  22. #undef SSLeay_add_all_algorithms
  23. #endif
  24. #define SSLeay_add_all_algorithms         ck_SSL_library_init
  25. #define SSL_get_error                    ck_SSL_get_error
  26. #define SSL_read                         ck_SSL_read
  27. #define SSL_peek                         ck_SSL_peek
  28. #define SSL_connect                      ck_SSL_connect
  29. #define SSL_set_fd                       ck_SSL_set_fd
  30. #define SSL_free                         ck_SSL_free
  31. #define SSL_shutdown                     ck_SSL_shutdown
  32. #define SSL_write                        ck_SSL_write
  33. #define SSL_pending                      ck_SSL_pending
  34. #define SSL_load_error_strings           ck_SSL_load_error_strings
  35. #define SSL_get_peer_certificate         ck_SSL_get_peer_certificate
  36. #define SSL_CIPHER_get_name              ck_SSL_CIPHER_get_name
  37. #define SSL_CIPHER_get_bits              ck_SSL_CIPHER_get_bits
  38. #define SSL_CIPHER_get_version           ck_SSL_CIPHER_get_version
  39. #define SSL_get_current_cipher           ck_SSL_get_current_cipher
  40. #define SSL_get_shared_ciphers           ck_SSL_get_shared_ciphers
  41. #define SSL_get_ciphers                  ck_SSL_get_ciphers
  42. #define SSL_get_cipher_list              ck_SSL_get_cipher_list
  43. #define SSL_CTX_set_default_verify_paths ck_SSL_CTX_set_default_verify_paths
  44. #define SSL_use_RSAPrivateKey_file       ck_SSL_use_RSAPrivateKey_file
  45. #define SSL_use_DSAPrivateKey_file       ck_SSL_use_DSAPrivateKey_file
  46. #define SSL_use_PrivateKey_file          ck_SSL_use_PrivateKey_file
  47. #define SSL_use_certificate_file         ck_SSL_use_certificate_file
  48. #define SSL_CTX_use_PrivateKey_file      ck_SSL_CTX_use_PrivateKey_file
  49. #define SSL_CTX_check_private_key        ck_SSL_CTX_check_private_key
  50. #define SSL_check_private_key            ck_SSL_check_private_key
  51. #define SSL_CTX_use_certificate_file     ck_SSL_CTX_use_certificate_file
  52. #define SSL_set_verify                   ck_SSL_set_verify
  53. #define SSL_CTX_set_verify               ck_SSL_CTX_set_verify
  54. #define SSL_new                          ck_SSL_new
  55. #define SSL_CTX_ctrl                     ck_SSL_CTX_ctrl
  56. #define SSL_CTX_new                      ck_SSL_CTX_new
  57. #define SSL_CTX_free                     ck_SSL_CTX_free
  58. #define SSL_CTX_set_default_passwd_cb    ck_SSL_CTX_set_default_passwd_cb
  59. #define SSLv23_method                    ck_SSLv23_method
  60. #define SSLv3_method                     ck_SSLv3_method
  61. #define TLSv1_method                     ck_TLSv1_method
  62. #define SSLv23_client_method             ck_SSLv23_client_method
  63. #define SSLv3_client_method              ck_SSLv3_client_method
  64. #define TLSv1_client_method              ck_TLSv1_client_method
  65. #define SSLv23_server_method             ck_SSLv23_server_method
  66. #define SSLv3_server_method              ck_SSLv3_server_method
  67. #define TLSv1_server_method              ck_TLSv1_server_method
  68. #define SSL_state_string                 ck_SSL_state_string
  69. #define SSL_state_string_long            ck_SSL_state_string_long
  70. #define SSL_accept                       ck_SSL_accept
  71. #define SSL_set_cipher_list              ck_SSL_set_cipher_list
  72. #define SSL_CTX_set_tmp_dh_callback      ck_SSL_CTX_set_tmp_dh_callback
  73. #define SSL_CTX_set_tmp_rsa_callback     ck_SSL_CTX_set_tmp_rsa_callback
  74. #define SSL_set_tmp_dh_callback          ck_SSL_set_tmp_dh_callback
  75. #define SSL_set_tmp_rsa_callback         ck_SSL_set_tmp_rsa_callback
  76. #define SSL_CTX_load_verify_locations    ck_SSL_CTX_load_verify_locations
  77. #define SSL_CTX_set_default_passwd_cb_userdata ck_SSL_CTX_set_default_passwd_cb_userdata
  78. #define SSL_get_wbio                     ck_SSL_get_wbio
  79. #define SSL_get_finished                 ck_SSL_get_finished
  80. #define SSL_get_peer_finished            ck_SSL_get_peer_finished
  81. #define SSL_copy_session_id              ck_SSL_copy_session_id
  82. #define SSL_renegotiate                  ck_SSL_renegotiate
  83. #define SSL_get_session                  ck_SSL_get_session
  84. #define SSL_set_session                  ck_SSL_set_session
  85. #define SSL_CTX_set_session_id_context   ck_SSL_CTX_set_session_id_context
  86. #define SSL_get_certificate              ck_SSL_get_certificate
  87. #define SSL_get_privatekey               ck_SSL_get_privatekey
  88. #define SSL_clear                        ck_SSL_clear
  89. #define SSL_set_accept_state             ck_SSL_set_accept_state
  90. #define SSL_CIPHER_description           ck_SSL_CIPHER_description
  91. #ifdef SSL_KRB5
  92. #define kssl_ctx_setstring               ck_kssl_ctx_setstring
  93. #define kssl_ctx_setprinc                ck_kssl_ctx_setprinc
  94. #define kssl_ctx_new                     ck_kssl_ctx_new
  95. #define kssl_ctx_free                    ck_kssl_ctx_free
  96. #endif /* SSL_KRB5 */
  97. #define SSL_COMP_add_compression_method  ck_SSL_COMP_add_compression_method
  98. #define SSL_CTX_use_certificate_chain_file   ck_SSL_CTX_use_certificate_chain_file
  99. #define SSL_CTX_set_info_callback        ck_SSL_CTX_set_info_callback
  100.  
  101. void ck_SSL_library_init(void);
  102. int     ck_SSL_get_error(SSL *ssl,int num);
  103. int     ck_SSL_read(SSL *ssl,char *buf,int num);
  104. int     ck_SSL_connect(SSL *ssl);
  105. int     ck_SSL_set_fd(SSL *s, int fd);
  106. void    ck_SSL_free(SSL *ssl);
  107. int     ck_SSL_shutdown(SSL *s);
  108. int     ck_SSL_write(SSL *ssl,char *buf,int num);
  109. int     ck_SSL_pending(SSL *ssl);
  110. int     ck_SSL_peek(SSL *ssl,char * buf,int num);
  111. void    ck_SSL_load_error_strings(void );
  112. X509 *  ck_SSL_get_peer_certificate(SSL *s);
  113. const char * ck_SSL_CIPHER_get_name(SSL_CIPHER *c);
  114. int     ck_SSL_CIPHER_get_bits(SSL_CIPHER *c,int *);
  115. char *  ck_SSL_CIPHER_get_version(SSL_CIPHER *c);
  116. SSL_CIPHER * ck_SSL_get_current_cipher(SSL *s);
  117. char *  ck_SSL_get_shared_ciphers(SSL *s, char *buf, int len);
  118. char *  ck_SSL_get_ciphers(SSL *s);
  119. const char * ck_SSL_get_cipher_list(SSL *s, int i);
  120. int     ck_SSL_CTX_set_default_verify_paths(SSL_CTX *ctx);
  121. int     ck_SSL_use_RSAPrivateKey_file(SSL *ssl, char *file, int type);
  122. int     ck_SSL_use_DSAPrivateKey_file(SSL *ssl, char *file, int type);
  123. int     ck_SSL_use_PrivateKey_file(SSL *ssl, char *file, int type);
  124. int     ck_SSL_use_certificate_file(SSL *ssl, char *file, int type);
  125. int     ck_SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, char *file, int type);
  126. int     ck_SSL_CTX_use_certificate_file(SSL_CTX *ctx, char *file, int type);
  127. int     ck_SSL_CTX_check_private_key(SSL_CTX *ctx);
  128. int     ck_SSL_check_private_key(SSL *ssl);
  129. void    ck_SSL_set_verify(SSL *s, int mode, int (*callback) ());
  130. void    ck_SSL_CTX_set_verify(SSL_CTX *ctx, int mode, int (*callback) ());
  131. SSL *   ck_SSL_new(SSL_CTX *ctx);
  132. long    ck_SSL_CTX_ctrl(SSL_CTX *ctx,int cmd, long larg, char *parg);
  133. SSL_CTX * ck_SSL_CTX_new(SSL_METHOD *meth);
  134. void    ck_SSL_CTX_free(SSL_CTX *ctx);
  135. void    ck_SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx,int (*cb) ());
  136. SSL_METHOD * ck_SSLv23_method(void);
  137. SSL_METHOD * ck_SSLv3_method(void);
  138. SSL_METHOD * ck_TLSv1_method(void);
  139. SSL_METHOD * ck_SSLv23_client_method(void);
  140. SSL_METHOD * ck_SSLv3_client_method(void);
  141. SSL_METHOD * ck_TLSv1_client_method(void);
  142. SSL_METHOD * ck_SSLv23_server_method(void);
  143. SSL_METHOD * ck_SSLv3_server_method(void);
  144. SSL_METHOD * ck_TLSv1_server_method(void);
  145. char *  ck_SSL_state_string(const SSL *s);
  146. char *  ck_SSL_state_string_long(const SSL *s);
  147. int     ck_SSL_accept(SSL *ssl);
  148. int     ck_SSL_set_cipher_list(SSL *ssl,char *s);
  149. void ck_SSL_CTX_set_tmp_rsa_callback(SSL_CTX *ctx,
  150.                                         RSA *(*cb) (SSL *ssl,int is_export, int keylength));
  151. void ck_SSL_set_tmp_rsa_callback(SSL *ssl,
  152.                                     RSA *(*cb) (SSL *ssl,int is_export,int keylength));
  153. void ck_SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx,
  154.                                        DH *(*dh) (SSL *ssl,int is_export,int keylength));
  155. void ck_SSL_set_tmp_dh_callback(SSL *ssl,
  156.                                    DH *(*dh) (SSL *ssl,int is_export, int keylength));
  157.  
  158. int  ck_SSL_CTX_load_verify_locations(SSL_CTX *,char *,char *);
  159. void ck_SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *, void *);
  160. int  ck_X509_to_user(X509 *peer_cert, char *userid, int len);
  161. int  ck_X509_userok(X509 *peer_cert, const char *userid);
  162. BIO *ck_SSL_get_wbio(SSL *);
  163. size_t ck_SSL_get_finished(SSL *,void *buf, size_t count);
  164. size_t ck_SSL_get_peer_finished(SSL *,void *buf, size_t count);
  165. void ck_SSL_copy_session_id(SSL *to,SSL *from);
  166. int  ck_SSL_renegotiate(SSL *);
  167. int  ck_SSL_set_session(SSL *, SSL_SESSION *);
  168. SSL_SESSION * ck_SSL_get_session(SSL *);
  169. int ck_SSL_CTX_set_session_id_context(SSL_CTX *ctx,const unsigned char *sid_ctx,
  170.                                        unsigned int sid_ctx_len);
  171. EVP_PKEY * ck_SSL_get_privatekey(SSL *);
  172. X509 * ck_SSL_get_certificate(SSL *);
  173. int ck_SSL_clear(SSL *);
  174. void ck_SSL_set_accept_state(SSL *);
  175. char * ck_SSL_CIPHER_description(SSL_CIPHER *,char *buf,int size);
  176.  
  177. void ck_SSL_CTX_set_info_callback(SSL_CTX *ctx, void (*cb)(const SSL *ssl,int type,int val));
  178.  
  179. #ifdef SSL_KRB5
  180. #ifndef OPENSSL_NO_KRB5
  181. KSSL_CTX * ck_kssl_ctx_new(void);
  182. KSSL_CTX * ck_kssl_ctx_free(KSSL_CTX *kssl_ctx);
  183. krb5_error_code ck_kssl_ctx_setstring(KSSL_CTX *kssl_ctx, int which, char *text);
  184. krb5_error_code ck_kssl_ctx_setprinc(KSSL_CTX *kssl_ctx, int which,
  185.                                 krb5_data *realm, krb5_data *entity);
  186. #endif /* OPENSSL_NO_KRB5 */
  187. #endif /* SSL_KRB5 */
  188. int ck_SSL_COMP_add_compression_method(int id,COMP_METHOD *cm);
  189. int ck_SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file);
  190.  
  191. extern int ssl_dll_loaded;
  192. extern int ssl_finished_messages;
  193.  
  194. #ifdef NT
  195. extern HINSTANCE hSSL;
  196. #else /* NT */
  197. extern HMODULE hSSL;
  198. #endif /* NT */
  199. #endif /* OS2    */
  200. #endif /* CK_SSL */
  201. #endif /* SSLDLL */
  202.