ucspi-ssl 0.13.03
ucspi-ssl
Loading...
Searching...
No Matches
ucspissl.h
Go to the documentation of this file.
1
8#ifndef UCSPISSL_H
9#define UCSPISSL_H
10
11#include <openssl/ssl.h>
12/* the version is like this: 0xMNNFFPPS: major minor fix patch status */
13#if OPENSSL_VERSION_NUMBER < 0x10101000L
14# error "Need OpenSSL version at least 1.1.1"
15#endif
16#include "openssl/asn1.h"
17#include "openssl/ec.h"
18#include "openssl/err.h"
19#include "openssl/evp.h"
20#include "openssl/ssl.h"
21#include "openssl/pem.h"
22#include "openssl/rsa.h"
23#include "openssl/opensslv.h"
24#include "openssl/safestack.h"
25#include "openssl/x509.h"
26#include "openssl/x509v3.h"
27#include "stralloc.h"
28
29#define SSLv2_DISABLE
30#define SSLv3_DISABLE
31// #define TLSv1_DISABLE
32// #define TLSv1_1_DISABLE
33// #define TLSv1_2_DISABLE
34// #define TLSv1_3_DISABLE
35
36#define SSL_NAME_LEN 256
37#define SSL_RSA_LEN 4096
38
39#define ssl_client() (ssl_context(TLS_client_method()))
40#define ssl_server() (ssl_context(TLS_server_method()))
41
42extern int ssl_errno;
43extern int ssl_io(SSL *,int,int,unsigned int);
44extern SSL_CTX *ssl_context(const SSL_METHOD *);
45extern int ssl_timeoutconn(SSL *,unsigned int);
46extern int ssl_timeoutaccept(SSL *,unsigned int);
47extern SSL *ssl_new(SSL_CTX *,int);
48extern int ssl_certkey(SSL_CTX *,const char *,const char *,pem_password_cb *);
49extern int ssl_chainfile(SSL_CTX *,const char *,const char *,pem_password_cb *);
50extern int ssl_ca(SSL_CTX *,const char *,const char *,int);
51extern int ssl_cca(SSL_CTX *,const char *);
52extern int ssl_ciphers(SSL_CTX *,const char *);
53extern int ssl_verify(SSL *,const char *,stralloc *);
54extern int ssl_params_rsa(SSL_CTX *,int);
55extern int ssl_params_dh(SSL_CTX *,const char *);
56extern int ssl_server_env(SSL *,stralloc *);
57extern int ssl_client_env(SSL *,stralloc *);
58extern int ssl_error(int (*)(const char *));
59extern 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
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:447
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
char * ssl_error_str(int)
SSL * ssl_new(SSL_CTX *, int)
Definition: ssl_new.c:4
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:456
int ssl_io(SSL *, int, int, unsigned int)
Definition: ssl_io.c:20
int ssl_timeoutconn(SSL *, unsigned int)
Definition: ssl_timeout.c:60