ucspi-ssl  0.12.7
ucspi-ssl
ucspissl.h
Go to the documentation of this file.
1 
8 #ifndef UCSPISSL_H
9 #define UCSPISSL_H
10 
11 #include "openssl/asn1.h"
12 #include "openssl/ec.h"
13 #include "openssl/err.h"
14 #include "openssl/evp.h"
15 #include "openssl/ssl.h"
16 #include "openssl/pem.h"
17 #include "openssl/rsa.h"
18 #include "openssl/opensslv.h"
19 #include "openssl/safestack.h"
20 #include "openssl/x509.h"
21 #include "openssl/x509v3.h"
22 #include "stralloc.h"
23 
24 #define SSLv2_DISABLE
25 #define SSLv3_DISABLE
26 // #define TLSv1_DISABLE
27 // #define TLSv1_1_DISABLE
28 // #define TLSv1_2_DISABLE
29 // #define TLSv1_3_DISABLE
30 
31 #define SSL_NAME_LEN 256
32 #define SSL_RSA_LEN 2048
33 
34 #if (OPENSSL_VERSION_NUMBER < 0x10100000L) // 0xmnnffppsL
35 #define ssl_client() (ssl_context(SSLv23_client_method()))
36 #define ssl_server() (ssl_context(SSLv23_server_method()))
37 #else
38 #define ssl_client() (ssl_context(TLS_client_method()))
39 #define ssl_server() (ssl_context(TLS_server_method()))
40 #endif
41 
42 extern int ssl_errno;
43 extern int ssl_io(SSL *,int,int,unsigned int);
44 extern SSL_CTX *ssl_context(const SSL_METHOD *);
45 extern int ssl_timeoutconn(SSL *,unsigned int);
46 extern int ssl_timeoutaccept(SSL *,unsigned int);
47 extern SSL *ssl_new(SSL_CTX *,int);
48 extern int ssl_certkey(SSL_CTX *,const char *,const char *,pem_password_cb *);
49 extern int ssl_chainfile(SSL_CTX *,const char *,const char *,pem_password_cb *);
50 extern int ssl_ca(SSL_CTX *,const char *,const char *,int);
51 extern int ssl_cca(SSL_CTX *,const char *);
52 extern int ssl_ciphers(SSL_CTX *,const char *);
53 extern int ssl_verify(SSL *,const char *,stralloc *);
54 extern int ssl_params_rsa(SSL_CTX *,int);
55 extern int ssl_params_dh(SSL_CTX *,const char *);
56 extern int ssl_server_env(SSL *,stralloc *);
57 extern int ssl_client_env(SSL *,stralloc *);
58 extern int ssl_error(int (*)(const char *));
59 extern char *ssl_error_str(int);
60 
61 #define ssl_errstr() (SSL_load_error_strings())
62 #define ssl_free(ssl) (SSL_free((ssl)))
63 #define ssl_close(ssl) (close(SSL_get_fd((ssl))))
64 
65 #define ssl_pending(ssl) (SSL_pending((ssl)))
66 #define ssl_shutdown(ssl) (SSL_shutdown((ssl)))
67 #define ssl_shutdown_pending(ssl) (SSL_get_shutdown((ssl)) & SSL_RECEIVED_SHUTDOWN)
68 #define ssl_shutdown_sent(ssl) (SSL_get_shutdown((ssl)) & SSL_SENT_SHUTDOWN)
69 
70 #endif
int ssl_chainfile(SSL_CTX *, const char *, const char *, pem_password_cb *)
Definition: ssl_chainfile.c:8
int ssl_ciphers(SSL_CTX *, const char *)
Definition: ssl_ciphers.c:3
int ssl_timeoutaccept(SSL *, unsigned int)
Definition: ssl_timeout.c:7
char * ssl_error_str(int)
int ssl_errno
Definition: ucspissl.c:3
int ssl_error(int(*)(const char *))
Definition: ssl_error.c:3
int ssl_params_rsa(SSL_CTX *, int)
Definition: ssl_params.c:8
int ssl_client_env(SSL *, stralloc *)
Definition: ssl_env.c:409
SSL * ssl_new(SSL_CTX *, int)
Definition: ssl_new.c:4
SSL_CTX * ssl_context(const SSL_METHOD *)
Definition: ssl_context.c:3
int ssl_certkey(SSL_CTX *, const char *, const char *, pem_password_cb *)
Definition: ssl_certkey.c:3
int ssl_params_dh(SSL_CTX *, const char *)
Definition: ssl_params.c:37
int ssl_cca(SSL_CTX *, const char *)
Definition: ssl_cca.c:3
int ssl_verify(SSL *, const char *, stralloc *)
Definition: ssl_verify.c:10
int ssl_ca(SSL_CTX *, const char *, const char *, int)
Definition: ssl_ca.c:3
int ssl_server_env(SSL *, stralloc *)
Definition: ssl_env.c:423
int ssl_io(SSL *, int, int, unsigned int)
Definition: ssl_io.c:20
int ssl_timeoutconn(SSL *, unsigned int)
Definition: ssl_timeout.c:61