1ssl(3)                              OpenSSL                             ssl(3)
2
3
4

NAME

6       SSL - OpenSSL SSL/TLS library
7

SYNOPSIS

DESCRIPTION

10       The OpenSSL ssl library implements the Secure Sockets Layer (SSL v2/v3)
11       and Transport Layer Security (TLS v1) protocols. It provides a rich API
12       which is documented here.
13
14       At first the library must be initialized; see SSL_library_init(3).
15
16       Then an SSL_CTX object is created as a framework to establish TLS/SSL
17       enabled connections (see SSL_CTX_new(3)).  Various options regarding
18       certificates, algorithms etc. can be set in this object.
19
20       When a network connection has been created, it can be assigned to an
21       SSL object. After the SSL object has been created using SSL_new(3),
22       SSL_set_fd(3) or SSL_set_bio(3) can be used to associate the network
23       connection with the object.
24
25       Then the TLS/SSL handshake is performed using SSL_accept(3) or SSL_con‐
26       nect(3) respectively.  SSL_read(3) and SSL_write(3) are used to read
27       and write data on the TLS/SSL connection.  SSL_shutdown(3) can be used
28       to shut down the TLS/SSL connection.
29

DATA STRUCTURES

31       Currently the OpenSSL ssl library functions deals with the following
32       data structures:
33
34       SSL_METHOD (SSL Method)
35           That's a dispatch structure describing the internal ssl library
36           methods/functions which implement the various protocol versions
37           (SSLv1, SSLv2 and TLSv1). It's needed to create an SSL_CTX.
38
39       SSL_CIPHER (SSL Cipher)
40           This structure holds the algorithm information for a particular
41           cipher which are a core part of the SSL/TLS protocol. The available
42           ciphers are configured on a SSL_CTX basis and the actually used
43           ones are then part of the SSL_SESSION.
44
45       SSL_CTX (SSL Context)
46           That's the global context structure which is created by a server or
47           client once per program life-time and which holds mainly default
48           values for the SSL structures which are later created for the con‐
49           nections.
50
51       SSL_SESSION (SSL Session)
52           This is a structure containing the current TLS/SSL session details
53           for a connection: SSL_CIPHERs, client and server certificates,
54           keys, etc.
55
56       SSL (SSL Connection)
57           That's the main SSL/TLS structure which is created by a server or
58           client per established connection. This actually is the core struc‐
59           ture in the SSL API.  Under run-time the application usually deals
60           with this structure which has links to mostly all other structures.
61

HEADER FILES

63       Currently the OpenSSL ssl library provides the following C header files
64       containing the prototypes for the data structures and and functions:
65
66       ssl.h
67           That's the common header file for the SSL/TLS API.  Include it into
68           your program to make the API of the ssl library available. It
69           internally includes both more private SSL headers and headers from
70           the crypto library.  Whenever you need hard-core details on the
71           internals of the SSL API, look inside this header file.
72
73       ssl2.h
74           That's the sub header file dealing with the SSLv2 protocol only.
75           Usually you don't have to include it explicitly because it's
76           already included by ssl.h.
77
78       ssl3.h
79           That's the sub header file dealing with the SSLv3 protocol only.
80           Usually you don't have to include it explicitly because it's
81           already included by ssl.h.
82
83       ssl23.h
84           That's the sub header file dealing with the combined use of the
85           SSLv2 and SSLv3 protocols.  Usually you don't have to include it
86           explicitly because it's already included by ssl.h.
87
88       tls1.h
89           That's the sub header file dealing with the TLSv1 protocol only.
90           Usually you don't have to include it explicitly because it's
91           already included by ssl.h.
92

API FUNCTIONS

94       Currently the OpenSSL ssl library exports 214 API functions.  They are
95       documented in the following:
96
97       DEALING WITH PROTOCOL METHODS
98
99       Here we document the various API functions which deal with the SSL/TLS
100       protocol methods defined in SSL_METHOD structures.
101
102       SSL_METHOD *SSLv2_client_method(void);
103           Constructor for the SSLv2 SSL_METHOD structure for a dedicated
104           client.
105
106       SSL_METHOD *SSLv2_server_method(void);
107           Constructor for the SSLv2 SSL_METHOD structure for a dedicated
108           server.
109
110       SSL_METHOD *SSLv2_method(void);
111           Constructor for the SSLv2 SSL_METHOD structure for combined client
112           and server.
113
114       SSL_METHOD *SSLv3_client_method(void);
115           Constructor for the SSLv3 SSL_METHOD structure for a dedicated
116           client.
117
118       SSL_METHOD *SSLv3_server_method(void);
119           Constructor for the SSLv3 SSL_METHOD structure for a dedicated
120           server.
121
122       SSL_METHOD *SSLv3_method(void);
123           Constructor for the SSLv3 SSL_METHOD structure for combined client
124           and server.
125
126       SSL_METHOD *TLSv1_client_method(void);
127           Constructor for the TLSv1 SSL_METHOD structure for a dedicated
128           client.
129
130       SSL_METHOD *TLSv1_server_method(void);
131           Constructor for the TLSv1 SSL_METHOD structure for a dedicated
132           server.
133
134       SSL_METHOD *TLSv1_method(void);
135           Constructor for the TLSv1 SSL_METHOD structure for combined client
136           and server.
137
138       DEALING WITH CIPHERS
139
140       Here we document the various API functions which deal with the SSL/TLS
141       ciphers defined in SSL_CIPHER structures.
142
143       char *SSL_CIPHER_description(SSL_CIPHER *cipher, char *buf, int len);
144           Write a string to buf (with a maximum size of len) containing a
145           human readable description of cipher. Returns buf.
146
147       int SSL_CIPHER_get_bits(SSL_CIPHER *cipher, int *alg_bits);
148           Determine the number of bits in cipher. Because of export crippled
149           ciphers there are two bits: The bits the algorithm supports in gen‐
150           eral (stored to alg_bits) and the bits which are actually used (the
151           return value).
152
153       const char *SSL_CIPHER_get_name(SSL_CIPHER *cipher);
154           Return the internal name of cipher as a string. These are the vari‐
155           ous strings defined by the SSL2_TXT_xxx, SSL3_TXT_xxx and
156           TLS1_TXT_xxx definitions in the header files.
157
158       char *SSL_CIPHER_get_version(SSL_CIPHER *cipher);
159           Returns a string like ""TLSv1/SSLv3"" or ""SSLv2"" which indicates
160           the SSL/TLS protocol version to which cipher belongs (i.e. where it
161           was defined in the specification the first time).
162
163       DEALING WITH PROTOCOL CONTEXTS
164
165       Here we document the various API functions which deal with the SSL/TLS
166       protocol context defined in the SSL_CTX structure.
167
168       int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x);
169       long SSL_CTX_add_extra_chain_cert(SSL_CTX *ctx, X509 *x509);
170       int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *c);
171       int SSL_CTX_check_private_key(const SSL_CTX *ctx);
172       long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, char *parg);
173       void SSL_CTX_flush_sessions(SSL_CTX *s, long t);
174       void SSL_CTX_free(SSL_CTX *a);
175       char *SSL_CTX_get_app_data(SSL_CTX *ctx);
176       X509_STORE *SSL_CTX_get_cert_store(SSL_CTX *ctx);
177       STACK *SSL_CTX_get_client_CA_list(const SSL_CTX *ctx);
178       int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx))(SSL *ssl, X509 **x509,
179       EVP_PKEY **pkey);
180       char *SSL_CTX_get_ex_data(const SSL_CTX *s, int idx);
181       int SSL_CTX_get_ex_new_index(long argl, char *argp, int
182       (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))
183       void (*SSL_CTX_get_info_callback(SSL_CTX *ctx))(SSL *ssl, int cb, int
184       ret);
185       int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx);
186       int SSL_CTX_get_session_cache_mode(SSL_CTX *ctx);
187       long SSL_CTX_get_timeout(const SSL_CTX *ctx);
188       int (*SSL_CTX_get_verify_callback(const SSL_CTX *ctx))(int ok,
189       X509_STORE_CTX *ctx);
190       int SSL_CTX_get_verify_mode(SSL_CTX *ctx);
191       int SSL_CTX_load_verify_locations(SSL_CTX *ctx, char *CAfile, char
192       *CApath);
193       long SSL_CTX_need_tmp_RSA(SSL_CTX *ctx);
194       SSL_CTX *SSL_CTX_new(SSL_METHOD *meth);
195       int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c);
196       int SSL_CTX_sess_accept(SSL_CTX *ctx);
197       int SSL_CTX_sess_accept_good(SSL_CTX *ctx);
198       int SSL_CTX_sess_accept_renegotiate(SSL_CTX *ctx);
199       int SSL_CTX_sess_cache_full(SSL_CTX *ctx);
200       int SSL_CTX_sess_cb_hits(SSL_CTX *ctx);
201       int SSL_CTX_sess_connect(SSL_CTX *ctx);
202       int SSL_CTX_sess_connect_good(SSL_CTX *ctx);
203       int SSL_CTX_sess_connect_renegotiate(SSL_CTX *ctx);
204       int SSL_CTX_sess_get_cache_size(SSL_CTX *ctx);
205       SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx))(SSL *ssl,
206       unsigned char *data, int len, int *copy);
207       int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)(SSL *ssl, SSL_SESSION
208       *sess);
209       void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx)(SSL_CTX *ctx, SSL_SES‐
210       SION *sess);
211       int SSL_CTX_sess_hits(SSL_CTX *ctx);
212       int SSL_CTX_sess_misses(SSL_CTX *ctx);
213       int SSL_CTX_sess_number(SSL_CTX *ctx);
214       void SSL_CTX_sess_set_cache_size(SSL_CTX *ctx,t);
215       void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, SSL_SESSION *(*cb)(SSL *ssl,
216       unsigned char *data, int len, int *copy));
217       void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx, int (*cb)(SSL *ssl, SSL_SES‐
218       SION *sess));
219       void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx, void (*cb)(SSL_CTX *ctx,
220       SSL_SESSION *sess));
221       int SSL_CTX_sess_timeouts(SSL_CTX *ctx);
222       LHASH *SSL_CTX_sessions(SSL_CTX *ctx);
223       void SSL_CTX_set_app_data(SSL_CTX *ctx, void *arg);
224       void SSL_CTX_set_cert_store(SSL_CTX *ctx, X509_STORE *cs);
225       void SSL_CTX_set_cert_verify_cb(SSL_CTX *ctx, int (*cb)(), char *arg)
226       int SSL_CTX_set_cipher_list(SSL_CTX *ctx, char *str);
227       void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK *list);
228       void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, int (*cb)(SSL *ssl, X509
229       **x509, EVP_PKEY **pkey));
230       void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, int (*cb);(void))
231       void SSL_CTX_set_default_read_ahead(SSL_CTX *ctx, int m);
232       int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx);
233       int SSL_CTX_set_ex_data(SSL_CTX *s, int idx, char *arg);
234       void SSL_CTX_set_info_callback(SSL_CTX *ctx, void (*cb)(SSL *ssl, int
235       cb, int ret));
236       void SSL_CTX_set_msg_callback(SSL_CTX *ctx, void (*cb)(int write_p, int
237       version, int content_type, const void *buf, size_t len, SSL *ssl, void
238       *arg));
239       void SSL_CTX_set_msg_callback_arg(SSL_CTX *ctx, void *arg);
240       void SSL_CTX_set_options(SSL_CTX *ctx, unsigned long op);
241       void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode);
242       void SSL_CTX_set_session_cache_mode(SSL_CTX *ctx, int mode);
243       int SSL_CTX_set_ssl_version(SSL_CTX *ctx, SSL_METHOD *meth);
244       void SSL_CTX_set_timeout(SSL_CTX *ctx, long t);
245       long SSL_CTX_set_tmp_dh(SSL_CTX* ctx, DH *dh);
246       long SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx, DH *(*cb)(void));
247       long SSL_CTX_set_tmp_rsa(SSL_CTX *ctx, RSA *rsa);
248       SSL_CTX_set_tmp_rsa_callback
249           "long SSL_CTX_set_tmp_rsa_callback(SSL_CTX *ctx, RSA *(*cb)(SSL
250           *ssl, int export, int keylength));"
251
252           Sets the callback which will be called when a temporary private key
253           is required. The "export" flag will be set if the reason for need‐
254           ing a temp key is that an export ciphersuite is in use, in which
255           case, "keylength" will contain the required keylength in bits. Gen‐
256           erate a key of appropriate size (using ???) and return it.
257
258       SSL_set_tmp_rsa_callback
259           long SSL_set_tmp_rsa_callback(SSL *ssl, RSA *(*cb)(SSL *ssl, int
260           export, int keylength));
261
262           The same as SSL_CTX_set_tmp_rsa_callback, except it operates on an
263           SSL session instead of a context.
264
265       void SSL_CTX_set_verify(SSL_CTX *ctx, int mode, int (*cb);(void))
266       int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey);
267       int SSL_CTX_use_PrivateKey_ASN1(int type, SSL_CTX *ctx, unsigned char
268       *d, long len);
269       int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, char *file, int type);
270       int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa);
271       int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, unsigned char *d, long
272       len);
273       int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, char *file, int type);
274       int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x);
275       int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, unsigned char
276       *d);
277       int SSL_CTX_use_certificate_file(SSL_CTX *ctx, char *file, int type);
278
279       DEALING WITH SESSIONS
280
281       Here we document the various API functions which deal with the SSL/TLS
282       sessions defined in the SSL_SESSION structures.
283
284       int SSL_SESSION_cmp(const SSL_SESSION *a, const SSL_SESSION *b);
285       void SSL_SESSION_free(SSL_SESSION *ss);
286       char *SSL_SESSION_get_app_data(SSL_SESSION *s);
287       char *SSL_SESSION_get_ex_data(const SSL_SESSION *s, int idx);
288       int SSL_SESSION_get_ex_new_index(long argl, char *argp, int
289       (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))
290       long SSL_SESSION_get_time(const SSL_SESSION *s);
291       long SSL_SESSION_get_timeout(const SSL_SESSION *s);
292       unsigned long SSL_SESSION_hash(const SSL_SESSION *a);
293       SSL_SESSION *SSL_SESSION_new(void);
294       int SSL_SESSION_print(BIO *bp, const SSL_SESSION *x);
295       int SSL_SESSION_print_fp(FILE *fp, const SSL_SESSION *x);
296       void SSL_SESSION_set_app_data(SSL_SESSION *s, char *a);
297       int SSL_SESSION_set_ex_data(SSL_SESSION *s, int idx, char *arg);
298       long SSL_SESSION_set_time(SSL_SESSION *s, long t);
299       long SSL_SESSION_set_timeout(SSL_SESSION *s, long t);
300
301       DEALING WITH CONNECTIONS
302
303       Here we document the various API functions which deal with the SSL/TLS
304       connection defined in the SSL structure.
305
306       int SSL_accept(SSL *ssl);
307       int SSL_add_dir_cert_subjects_to_stack(STACK *stack, const char *dir);
308       int SSL_add_file_cert_subjects_to_stack(STACK *stack, const char
309       *file);
310       int SSL_add_client_CA(SSL *ssl, X509 *x);
311       char *SSL_alert_desc_string(int value);
312       char *SSL_alert_desc_string_long(int value);
313       char *SSL_alert_type_string(int value);
314       char *SSL_alert_type_string_long(int value);
315       int SSL_check_private_key(const SSL *ssl);
316       void SSL_clear(SSL *ssl);
317       long SSL_clear_num_renegotiations(SSL *ssl);
318       int SSL_connect(SSL *ssl);
319       void SSL_copy_session_id(SSL *t, const SSL *f);
320       long SSL_ctrl(SSL *ssl, int cmd, long larg, char *parg);
321       int SSL_do_handshake(SSL *ssl);
322       SSL *SSL_dup(SSL *ssl);
323       STACK *SSL_dup_CA_list(STACK *sk);
324       void SSL_free(SSL *ssl);
325       SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl);
326       char *SSL_get_app_data(SSL *ssl);
327       X509 *SSL_get_certificate(const SSL *ssl);
328       const char *SSL_get_cipher(const SSL *ssl);
329       int SSL_get_cipher_bits(const SSL *ssl, int *alg_bits);
330       char *SSL_get_cipher_list(const SSL *ssl, int n);
331       char *SSL_get_cipher_name(const SSL *ssl);
332       char *SSL_get_cipher_version(const SSL *ssl);
333       STACK *SSL_get_ciphers(const SSL *ssl);
334       STACK *SSL_get_client_CA_list(const SSL *ssl);
335       SSL_CIPHER *SSL_get_current_cipher(SSL *ssl);
336       long SSL_get_default_timeout(const SSL *ssl);
337       int SSL_get_error(const SSL *ssl, int i);
338       char *SSL_get_ex_data(const SSL *ssl, int idx);
339       int SSL_get_ex_data_X509_STORE_CTX_idx(void);
340       int SSL_get_ex_new_index(long argl, char *argp, int (*new_func);(void),
341       int (*dup_func)(void), void (*free_func)(void))
342       int SSL_get_fd(const SSL *ssl);
343       void (*SSL_get_info_callback(const SSL *ssl);)()
344       STACK *SSL_get_peer_cert_chain(const SSL *ssl);
345       X509 *SSL_get_peer_certificate(const SSL *ssl);
346       EVP_PKEY *SSL_get_privatekey(SSL *ssl);
347       int SSL_get_quiet_shutdown(const SSL *ssl);
348       BIO *SSL_get_rbio(const SSL *ssl);
349       int SSL_get_read_ahead(const SSL *ssl);
350       SSL_SESSION *SSL_get_session(const SSL *ssl);
351       char *SSL_get_shared_ciphers(const SSL *ssl, char *buf, int len);
352       int SSL_get_shutdown(const SSL *ssl);
353       SSL_METHOD *SSL_get_ssl_method(SSL *ssl);
354       int SSL_get_state(const SSL *ssl);
355       long SSL_get_time(const SSL *ssl);
356       long SSL_get_timeout(const SSL *ssl);
357       int (*SSL_get_verify_callback(const SSL *ssl))(int,X509_STORE_CTX *)
358       int SSL_get_verify_mode(const SSL *ssl);
359       long SSL_get_verify_result(const SSL *ssl);
360       char *SSL_get_version(const SSL *ssl);
361       BIO *SSL_get_wbio(const SSL *ssl);
362       int SSL_in_accept_init(SSL *ssl);
363       int SSL_in_before(SSL *ssl);
364       int SSL_in_connect_init(SSL *ssl);
365       int SSL_in_init(SSL *ssl);
366       int SSL_is_init_finished(SSL *ssl);
367       STACK *SSL_load_client_CA_file(char *file);
368       void SSL_load_error_strings(void);
369       SSL *SSL_new(SSL_CTX *ctx);
370       long SSL_num_renegotiations(SSL *ssl);
371       int SSL_peek(SSL *ssl, void *buf, int num);
372       int SSL_pending(const SSL *ssl);
373       int SSL_read(SSL *ssl, void *buf, int num);
374       int SSL_renegotiate(SSL *ssl);
375       char *SSL_rstate_string(SSL *ssl);
376       char *SSL_rstate_string_long(SSL *ssl);
377       long SSL_session_reused(SSL *ssl);
378       void SSL_set_accept_state(SSL *ssl);
379       void SSL_set_app_data(SSL *ssl, char *arg);
380       void SSL_set_bio(SSL *ssl, BIO *rbio, BIO *wbio);
381       int SSL_set_cipher_list(SSL *ssl, char *str);
382       void SSL_set_client_CA_list(SSL *ssl, STACK *list);
383       void SSL_set_connect_state(SSL *ssl);
384       int SSL_set_ex_data(SSL *ssl, int idx, char *arg);
385       int SSL_set_fd(SSL *ssl, int fd);
386       void SSL_set_info_callback(SSL *ssl, void (*cb);(void))
387       void SSL_set_msg_callback(SSL *ctx, void (*cb)(int write_p, int ver‐
388       sion, int content_type, const void *buf, size_t len, SSL *ssl, void
389       *arg));
390       void SSL_set_msg_callback_arg(SSL *ctx, void *arg);
391       void SSL_set_options(SSL *ssl, unsigned long op);
392       void SSL_set_quiet_shutdown(SSL *ssl, int mode);
393       void SSL_set_read_ahead(SSL *ssl, int yes);
394       int SSL_set_rfd(SSL *ssl, int fd);
395       int SSL_set_session(SSL *ssl, SSL_SESSION *session);
396       void SSL_set_shutdown(SSL *ssl, int mode);
397       int SSL_set_ssl_method(SSL *ssl, SSL_METHOD *meth);
398       void SSL_set_time(SSL *ssl, long t);
399       void SSL_set_timeout(SSL *ssl, long t);
400       void SSL_set_verify(SSL *ssl, int mode, int (*callback);(void))
401       void SSL_set_verify_result(SSL *ssl, long arg);
402       int SSL_set_wfd(SSL *ssl, int fd);
403       int SSL_shutdown(SSL *ssl);
404       int SSL_state(const SSL *ssl);
405       char *SSL_state_string(const SSL *ssl);
406       char *SSL_state_string_long(const SSL *ssl);
407       long SSL_total_renegotiations(SSL *ssl);
408       int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey);
409       int SSL_use_PrivateKey_ASN1(int type, SSL *ssl, unsigned char *d, long
410       len);
411       int SSL_use_PrivateKey_file(SSL *ssl, char *file, int type);
412       int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa);
413       int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, unsigned char *d, long len);
414       int SSL_use_RSAPrivateKey_file(SSL *ssl, char *file, int type);
415       int SSL_use_certificate(SSL *ssl, X509 *x);
416       int SSL_use_certificate_ASN1(SSL *ssl, int len, unsigned char *d);
417       int SSL_use_certificate_file(SSL *ssl, char *file, int type);
418       int SSL_version(const SSL *ssl);
419       int SSL_want(const SSL *ssl);
420       int SSL_want_nothing(const SSL *ssl);
421       int SSL_want_read(const SSL *ssl);
422       int SSL_want_write(const SSL *ssl);
423       int SSL_want_x509_lookup(const SSL *ssl);
424       int SSL_write(SSL *ssl, const void *buf, int num);
425

SEE ALSO

427       openssl(1), crypto(3), SSL_accept(3), SSL_clear(3), SSL_connect(3),
428       SSL_CIPHER_get_name(3), SSL_COMP_add_compression_method(3),
429       SSL_CTX_add_extra_chain_cert(3), SSL_CTX_add_session(3),
430       SSL_CTX_ctrl(3), SSL_CTX_flush_sessions(3),
431       SSL_CTX_get_ex_new_index(3), SSL_CTX_get_verify_mode(3),
432       SSL_CTX_load_verify_locations(3) SSL_CTX_new(3), SSL_CTX_sess_num‐
433       ber(3), SSL_CTX_sess_set_cache_size(3), SSL_CTX_sess_set_get_cb(3),
434       SSL_CTX_sessions(3), SSL_CTX_set_cert_store(3), SSL_CTX_set_cert_ver‐
435       ify_callback(3), SSL_CTX_set_cipher_list(3),
436       SSL_CTX_set_client_CA_list(3), SSL_CTX_set_client_cert_cb(3),
437       SSL_CTX_set_default_passwd_cb(3), SSL_CTX_set_generate_session_id(3),
438       SSL_CTX_set_info_callback(3), SSL_CTX_set_max_cert_list(3),
439       SSL_CTX_set_mode(3), SSL_CTX_set_msg_callback(3),
440       SSL_CTX_set_options(3), SSL_CTX_set_quiet_shutdown(3), SSL_CTX_set_ses‐
441       sion_cache_mode(3), SSL_CTX_set_session_id_context(3),
442       SSL_CTX_set_ssl_version(3), SSL_CTX_set_timeout(3),
443       SSL_CTX_set_tmp_rsa_callback(3), SSL_CTX_set_tmp_dh_callback(3),
444       SSL_CTX_set_verify(3), SSL_CTX_use_certificate(3),
445       SSL_alert_type_string(3), SSL_do_handshake(3), SSL_get_SSL_CTX(3),
446       SSL_get_ciphers(3), SSL_get_client_CA_list(3), SSL_get_default_time‐
447       out(3), SSL_get_error(3), SSL_get_ex_data_X509_STORE_CTX_idx(3),
448       SSL_get_ex_new_index(3), SSL_get_fd(3), SSL_get_peer_cert_chain(3),
449       SSL_get_rbio(3), SSL_get_session(3), SSL_get_verify_result(3),
450       SSL_get_version(3), SSL_library_init(3), SSL_load_client_CA_file(3),
451       SSL_new(3), SSL_pending(3), SSL_read(3), SSL_rstate_string(3), SSL_ses‐
452       sion_reused(3), SSL_set_bio(3), SSL_set_connect_state(3),
453       SSL_set_fd(3), SSL_set_session(3), SSL_set_shutdown(3), SSL_shut‐
454       down(3), SSL_state_string(3), SSL_want(3), SSL_write(3), SSL_SES‐
455       SION_free(3), SSL_SESSION_get_ex_new_index(3), SSL_SESSION_get_time(3),
456       d2i_SSL_SESSION(3)
457

HISTORY

459       The ssl(3) document appeared in OpenSSL 0.9.2
460
461
462
4630.9.8b                            2005-03-30                            ssl(3)
Impressum