xref: /minix3/crypto/external/bsd/openssl/dist/doc/ssl/ssl.pod (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1ebfedea0SLionel Sambuc
2ebfedea0SLionel Sambuc=pod
3ebfedea0SLionel Sambuc
4ebfedea0SLionel Sambuc=head1 NAME
5ebfedea0SLionel Sambuc
6ebfedea0SLionel SambucSSL - OpenSSL SSL/TLS library
7ebfedea0SLionel Sambuc
8ebfedea0SLionel Sambuc=head1 SYNOPSIS
9ebfedea0SLionel Sambuc
10ebfedea0SLionel Sambuc=head1 DESCRIPTION
11ebfedea0SLionel Sambuc
12ebfedea0SLionel SambucThe OpenSSL B<ssl> library implements the Secure Sockets Layer (SSL v2/v3) and
13ebfedea0SLionel SambucTransport Layer Security (TLS v1) protocols. It provides a rich API which is
14ebfedea0SLionel Sambucdocumented here.
15ebfedea0SLionel Sambuc
16ebfedea0SLionel SambucAt first the library must be initialized; see
17ebfedea0SLionel SambucL<SSL_library_init(3)|SSL_library_init(3)>.
18ebfedea0SLionel Sambuc
19ebfedea0SLionel SambucThen an B<SSL_CTX> object is created as a framework to establish
20ebfedea0SLionel SambucTLS/SSL enabled connections (see L<SSL_CTX_new(3)|SSL_CTX_new(3)>).
21ebfedea0SLionel SambucVarious options regarding certificates, algorithms etc. can be set
22ebfedea0SLionel Sambucin this object.
23ebfedea0SLionel Sambuc
24ebfedea0SLionel SambucWhen a network connection has been created, it can be assigned to an
25ebfedea0SLionel SambucB<SSL> object. After the B<SSL> object has been created using
26ebfedea0SLionel SambucL<SSL_new(3)|SSL_new(3)>, L<SSL_set_fd(3)|SSL_set_fd(3)> or
27ebfedea0SLionel SambucL<SSL_set_bio(3)|SSL_set_bio(3)> can be used to associate the network
28ebfedea0SLionel Sambucconnection with the object.
29ebfedea0SLionel Sambuc
30ebfedea0SLionel SambucThen the TLS/SSL handshake is performed using
31ebfedea0SLionel SambucL<SSL_accept(3)|SSL_accept(3)> or L<SSL_connect(3)|SSL_connect(3)>
32ebfedea0SLionel Sambucrespectively.
33ebfedea0SLionel SambucL<SSL_read(3)|SSL_read(3)> and L<SSL_write(3)|SSL_write(3)> are used
34ebfedea0SLionel Sambucto read and write data on the TLS/SSL connection.
35ebfedea0SLionel SambucL<SSL_shutdown(3)|SSL_shutdown(3)> can be used to shut down the
36ebfedea0SLionel SambucTLS/SSL connection.
37ebfedea0SLionel Sambuc
38ebfedea0SLionel Sambuc=head1 DATA STRUCTURES
39ebfedea0SLionel Sambuc
40ebfedea0SLionel SambucCurrently the OpenSSL B<ssl> library functions deals with the following data
41ebfedea0SLionel Sambucstructures:
42ebfedea0SLionel Sambuc
43ebfedea0SLionel Sambuc=over 4
44ebfedea0SLionel Sambuc
45ebfedea0SLionel Sambuc=item B<SSL_METHOD> (SSL Method)
46ebfedea0SLionel Sambuc
47ebfedea0SLionel SambucThat's a dispatch structure describing the internal B<ssl> library
48ebfedea0SLionel Sambucmethods/functions which implement the various protocol versions (SSLv1, SSLv2
49ebfedea0SLionel Sambucand TLSv1). It's needed to create an B<SSL_CTX>.
50ebfedea0SLionel Sambuc
51ebfedea0SLionel Sambuc=item B<SSL_CIPHER> (SSL Cipher)
52ebfedea0SLionel Sambuc
53ebfedea0SLionel SambucThis structure holds the algorithm information for a particular cipher which
54ebfedea0SLionel Sambucare a core part of the SSL/TLS protocol. The available ciphers are configured
55ebfedea0SLionel Sambucon a B<SSL_CTX> basis and the actually used ones are then part of the
56ebfedea0SLionel SambucB<SSL_SESSION>.
57ebfedea0SLionel Sambuc
58ebfedea0SLionel Sambuc=item B<SSL_CTX> (SSL Context)
59ebfedea0SLionel Sambuc
60ebfedea0SLionel SambucThat's the global context structure which is created by a server or client
61ebfedea0SLionel Sambuconce per program life-time and which holds mainly default values for the
62ebfedea0SLionel SambucB<SSL> structures which are later created for the connections.
63ebfedea0SLionel Sambuc
64ebfedea0SLionel Sambuc=item B<SSL_SESSION> (SSL Session)
65ebfedea0SLionel Sambuc
66ebfedea0SLionel SambucThis is a structure containing the current TLS/SSL session details for a
67ebfedea0SLionel Sambucconnection: B<SSL_CIPHER>s, client and server certificates, keys, etc.
68ebfedea0SLionel Sambuc
69ebfedea0SLionel Sambuc=item B<SSL> (SSL Connection)
70ebfedea0SLionel Sambuc
71ebfedea0SLionel SambucThat's the main SSL/TLS structure which is created by a server or client per
72ebfedea0SLionel Sambucestablished connection. This actually is the core structure in the SSL API.
73ebfedea0SLionel SambucUnder run-time the application usually deals with this structure which has
74ebfedea0SLionel Sambuclinks to mostly all other structures.
75ebfedea0SLionel Sambuc
76ebfedea0SLionel Sambuc=back
77ebfedea0SLionel Sambuc
78ebfedea0SLionel Sambuc
79ebfedea0SLionel Sambuc=head1 HEADER FILES
80ebfedea0SLionel Sambuc
81ebfedea0SLionel SambucCurrently the OpenSSL B<ssl> library provides the following C header files
82ebfedea0SLionel Sambuccontaining the prototypes for the data structures and and functions:
83ebfedea0SLionel Sambuc
84ebfedea0SLionel Sambuc=over 4
85ebfedea0SLionel Sambuc
86ebfedea0SLionel Sambuc=item B<ssl.h>
87ebfedea0SLionel Sambuc
88ebfedea0SLionel SambucThat's the common header file for the SSL/TLS API.  Include it into your
89ebfedea0SLionel Sambucprogram to make the API of the B<ssl> library available. It internally
90ebfedea0SLionel Sambucincludes both more private SSL headers and headers from the B<crypto> library.
91ebfedea0SLionel SambucWhenever you need hard-core details on the internals of the SSL API, look
92ebfedea0SLionel Sambucinside this header file.
93ebfedea0SLionel Sambuc
94ebfedea0SLionel Sambuc=item B<ssl2.h>
95ebfedea0SLionel Sambuc
96ebfedea0SLionel SambucThat's the sub header file dealing with the SSLv2 protocol only.
97ebfedea0SLionel SambucI<Usually you don't have to include it explicitly because
98ebfedea0SLionel Sambucit's already included by ssl.h>.
99ebfedea0SLionel Sambuc
100ebfedea0SLionel Sambuc=item B<ssl3.h>
101ebfedea0SLionel Sambuc
102ebfedea0SLionel SambucThat's the sub header file dealing with the SSLv3 protocol only.
103ebfedea0SLionel SambucI<Usually you don't have to include it explicitly because
104ebfedea0SLionel Sambucit's already included by ssl.h>.
105ebfedea0SLionel Sambuc
106ebfedea0SLionel Sambuc=item B<ssl23.h>
107ebfedea0SLionel Sambuc
108ebfedea0SLionel SambucThat's the sub header file dealing with the combined use of the SSLv2 and
109ebfedea0SLionel SambucSSLv3 protocols.
110ebfedea0SLionel SambucI<Usually you don't have to include it explicitly because
111ebfedea0SLionel Sambucit's already included by ssl.h>.
112ebfedea0SLionel Sambuc
113ebfedea0SLionel Sambuc=item B<tls1.h>
114ebfedea0SLionel Sambuc
115ebfedea0SLionel SambucThat's the sub header file dealing with the TLSv1 protocol only.
116ebfedea0SLionel SambucI<Usually you don't have to include it explicitly because
117ebfedea0SLionel Sambucit's already included by ssl.h>.
118ebfedea0SLionel Sambuc
119ebfedea0SLionel Sambuc=back
120ebfedea0SLionel Sambuc
121ebfedea0SLionel Sambuc=head1 API FUNCTIONS
122ebfedea0SLionel Sambuc
123ebfedea0SLionel SambucCurrently the OpenSSL B<ssl> library exports 214 API functions.
124ebfedea0SLionel SambucThey are documented in the following:
125ebfedea0SLionel Sambuc
126ebfedea0SLionel Sambuc=head2 DEALING WITH PROTOCOL METHODS
127ebfedea0SLionel Sambuc
128ebfedea0SLionel SambucHere we document the various API functions which deal with the SSL/TLS
129ebfedea0SLionel Sambucprotocol methods defined in B<SSL_METHOD> structures.
130ebfedea0SLionel Sambuc
131ebfedea0SLionel Sambuc=over 4
132ebfedea0SLionel Sambuc
133ebfedea0SLionel Sambuc=item const SSL_METHOD *B<SSLv2_client_method>(void);
134ebfedea0SLionel Sambuc
135ebfedea0SLionel SambucConstructor for the SSLv2 SSL_METHOD structure for a dedicated client.
136ebfedea0SLionel Sambuc
137ebfedea0SLionel Sambuc=item const SSL_METHOD *B<SSLv2_server_method>(void);
138ebfedea0SLionel Sambuc
139ebfedea0SLionel SambucConstructor for the SSLv2 SSL_METHOD structure for a dedicated server.
140ebfedea0SLionel Sambuc
141ebfedea0SLionel Sambuc=item const SSL_METHOD *B<SSLv2_method>(void);
142ebfedea0SLionel Sambuc
143ebfedea0SLionel SambucConstructor for the SSLv2 SSL_METHOD structure for combined client and server.
144ebfedea0SLionel Sambuc
145ebfedea0SLionel Sambuc=item const SSL_METHOD *B<SSLv3_client_method>(void);
146ebfedea0SLionel Sambuc
147ebfedea0SLionel SambucConstructor for the SSLv3 SSL_METHOD structure for a dedicated client.
148ebfedea0SLionel Sambuc
149ebfedea0SLionel Sambuc=item const SSL_METHOD *B<SSLv3_server_method>(void);
150ebfedea0SLionel Sambuc
151ebfedea0SLionel SambucConstructor for the SSLv3 SSL_METHOD structure for a dedicated server.
152ebfedea0SLionel Sambuc
153ebfedea0SLionel Sambuc=item const SSL_METHOD *B<SSLv3_method>(void);
154ebfedea0SLionel Sambuc
155ebfedea0SLionel SambucConstructor for the SSLv3 SSL_METHOD structure for combined client and server.
156ebfedea0SLionel Sambuc
157ebfedea0SLionel Sambuc=item const SSL_METHOD *B<TLSv1_client_method>(void);
158ebfedea0SLionel Sambuc
159ebfedea0SLionel SambucConstructor for the TLSv1 SSL_METHOD structure for a dedicated client.
160ebfedea0SLionel Sambuc
161ebfedea0SLionel Sambuc=item const SSL_METHOD *B<TLSv1_server_method>(void);
162ebfedea0SLionel Sambuc
163ebfedea0SLionel SambucConstructor for the TLSv1 SSL_METHOD structure for a dedicated server.
164ebfedea0SLionel Sambuc
165ebfedea0SLionel Sambuc=item const SSL_METHOD *B<TLSv1_method>(void);
166ebfedea0SLionel Sambuc
167ebfedea0SLionel SambucConstructor for the TLSv1 SSL_METHOD structure for combined client and server.
168ebfedea0SLionel Sambuc
169ebfedea0SLionel Sambuc=back
170ebfedea0SLionel Sambuc
171ebfedea0SLionel Sambuc=head2 DEALING WITH CIPHERS
172ebfedea0SLionel Sambuc
173ebfedea0SLionel SambucHere we document the various API functions which deal with the SSL/TLS
174ebfedea0SLionel Sambucciphers defined in B<SSL_CIPHER> structures.
175ebfedea0SLionel Sambuc
176ebfedea0SLionel Sambuc=over 4
177ebfedea0SLionel Sambuc
178ebfedea0SLionel Sambuc=item char *B<SSL_CIPHER_description>(SSL_CIPHER *cipher, char *buf, int len);
179ebfedea0SLionel Sambuc
180ebfedea0SLionel SambucWrite a string to I<buf> (with a maximum size of I<len>) containing a human
181ebfedea0SLionel Sambucreadable description of I<cipher>. Returns I<buf>.
182ebfedea0SLionel Sambuc
183ebfedea0SLionel Sambuc=item int B<SSL_CIPHER_get_bits>(SSL_CIPHER *cipher, int *alg_bits);
184ebfedea0SLionel Sambuc
185ebfedea0SLionel SambucDetermine the number of bits in I<cipher>. Because of export crippled ciphers
186ebfedea0SLionel Sambucthere are two bits: The bits the algorithm supports in general (stored to
187ebfedea0SLionel SambucI<alg_bits>) and the bits which are actually used (the return value).
188ebfedea0SLionel Sambuc
189ebfedea0SLionel Sambuc=item const char *B<SSL_CIPHER_get_name>(SSL_CIPHER *cipher);
190ebfedea0SLionel Sambuc
191ebfedea0SLionel SambucReturn the internal name of I<cipher> as a string. These are the various
192ebfedea0SLionel Sambucstrings defined by the I<SSL2_TXT_xxx>, I<SSL3_TXT_xxx> and I<TLS1_TXT_xxx>
193ebfedea0SLionel Sambucdefinitions in the header files.
194ebfedea0SLionel Sambuc
195ebfedea0SLionel Sambuc=item char *B<SSL_CIPHER_get_version>(SSL_CIPHER *cipher);
196ebfedea0SLionel Sambuc
197ebfedea0SLionel SambucReturns a string like "C<TLSv1/SSLv3>" or "C<SSLv2>" which indicates the
198ebfedea0SLionel SambucSSL/TLS protocol version to which I<cipher> belongs (i.e. where it was defined
199ebfedea0SLionel Sambucin the specification the first time).
200ebfedea0SLionel Sambuc
201ebfedea0SLionel Sambuc=back
202ebfedea0SLionel Sambuc
203ebfedea0SLionel Sambuc=head2 DEALING WITH PROTOCOL CONTEXTS
204ebfedea0SLionel Sambuc
205ebfedea0SLionel SambucHere we document the various API functions which deal with the SSL/TLS
206ebfedea0SLionel Sambucprotocol context defined in the B<SSL_CTX> structure.
207ebfedea0SLionel Sambuc
208ebfedea0SLionel Sambuc=over 4
209ebfedea0SLionel Sambuc
210ebfedea0SLionel Sambuc=item int B<SSL_CTX_add_client_CA>(SSL_CTX *ctx, X509 *x);
211ebfedea0SLionel Sambuc
212ebfedea0SLionel Sambuc=item long B<SSL_CTX_add_extra_chain_cert>(SSL_CTX *ctx, X509 *x509);
213ebfedea0SLionel Sambuc
214ebfedea0SLionel Sambuc=item int B<SSL_CTX_add_session>(SSL_CTX *ctx, SSL_SESSION *c);
215ebfedea0SLionel Sambuc
216ebfedea0SLionel Sambuc=item int B<SSL_CTX_check_private_key>(const SSL_CTX *ctx);
217ebfedea0SLionel Sambuc
218ebfedea0SLionel Sambuc=item long B<SSL_CTX_ctrl>(SSL_CTX *ctx, int cmd, long larg, char *parg);
219ebfedea0SLionel Sambuc
220ebfedea0SLionel Sambuc=item void B<SSL_CTX_flush_sessions>(SSL_CTX *s, long t);
221ebfedea0SLionel Sambuc
222ebfedea0SLionel Sambuc=item void B<SSL_CTX_free>(SSL_CTX *a);
223ebfedea0SLionel Sambuc
224ebfedea0SLionel Sambuc=item char *B<SSL_CTX_get_app_data>(SSL_CTX *ctx);
225ebfedea0SLionel Sambuc
226ebfedea0SLionel Sambuc=item X509_STORE *B<SSL_CTX_get_cert_store>(SSL_CTX *ctx);
227ebfedea0SLionel Sambuc
228ebfedea0SLionel Sambuc=item STACK *B<SSL_CTX_get_client_CA_list>(const SSL_CTX *ctx);
229ebfedea0SLionel Sambuc
230ebfedea0SLionel Sambuc=item int (*B<SSL_CTX_get_client_cert_cb>(SSL_CTX *ctx))(SSL *ssl, X509 **x509, EVP_PKEY **pkey);
231ebfedea0SLionel Sambuc
232*0a6a1f1dSLionel Sambuc=item void B<SSL_CTX_get_default_read_ahead>(SSL_CTX *ctx);
233*0a6a1f1dSLionel Sambuc
234ebfedea0SLionel Sambuc=item char *B<SSL_CTX_get_ex_data>(const SSL_CTX *s, int idx);
235ebfedea0SLionel Sambuc
236ebfedea0SLionel Sambuc=item int B<SSL_CTX_get_ex_new_index>(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))
237ebfedea0SLionel Sambuc
238ebfedea0SLionel Sambuc=item void (*B<SSL_CTX_get_info_callback>(SSL_CTX *ctx))(SSL *ssl, int cb, int ret);
239ebfedea0SLionel Sambuc
240ebfedea0SLionel Sambuc=item int B<SSL_CTX_get_quiet_shutdown>(const SSL_CTX *ctx);
241ebfedea0SLionel Sambuc
242*0a6a1f1dSLionel Sambuc=item void B<SSL_CTX_get_read_ahead>(SSL_CTX *ctx);
243*0a6a1f1dSLionel Sambuc
244ebfedea0SLionel Sambuc=item int B<SSL_CTX_get_session_cache_mode>(SSL_CTX *ctx);
245ebfedea0SLionel Sambuc
246ebfedea0SLionel Sambuc=item long B<SSL_CTX_get_timeout>(const SSL_CTX *ctx);
247ebfedea0SLionel Sambuc
248ebfedea0SLionel Sambuc=item int (*B<SSL_CTX_get_verify_callback>(const SSL_CTX *ctx))(int ok, X509_STORE_CTX *ctx);
249ebfedea0SLionel Sambuc
250ebfedea0SLionel Sambuc=item int B<SSL_CTX_get_verify_mode>(SSL_CTX *ctx);
251ebfedea0SLionel Sambuc
252ebfedea0SLionel Sambuc=item int B<SSL_CTX_load_verify_locations>(SSL_CTX *ctx, char *CAfile, char *CApath);
253ebfedea0SLionel Sambuc
254ebfedea0SLionel Sambuc=item long B<SSL_CTX_need_tmp_RSA>(SSL_CTX *ctx);
255ebfedea0SLionel Sambuc
256ebfedea0SLionel Sambuc=item SSL_CTX *B<SSL_CTX_new>(const SSL_METHOD *meth);
257ebfedea0SLionel Sambuc
258ebfedea0SLionel Sambuc=item int B<SSL_CTX_remove_session>(SSL_CTX *ctx, SSL_SESSION *c);
259ebfedea0SLionel Sambuc
260ebfedea0SLionel Sambuc=item int B<SSL_CTX_sess_accept>(SSL_CTX *ctx);
261ebfedea0SLionel Sambuc
262ebfedea0SLionel Sambuc=item int B<SSL_CTX_sess_accept_good>(SSL_CTX *ctx);
263ebfedea0SLionel Sambuc
264ebfedea0SLionel Sambuc=item int B<SSL_CTX_sess_accept_renegotiate>(SSL_CTX *ctx);
265ebfedea0SLionel Sambuc
266ebfedea0SLionel Sambuc=item int B<SSL_CTX_sess_cache_full>(SSL_CTX *ctx);
267ebfedea0SLionel Sambuc
268ebfedea0SLionel Sambuc=item int B<SSL_CTX_sess_cb_hits>(SSL_CTX *ctx);
269ebfedea0SLionel Sambuc
270ebfedea0SLionel Sambuc=item int B<SSL_CTX_sess_connect>(SSL_CTX *ctx);
271ebfedea0SLionel Sambuc
272ebfedea0SLionel Sambuc=item int B<SSL_CTX_sess_connect_good>(SSL_CTX *ctx);
273ebfedea0SLionel Sambuc
274ebfedea0SLionel Sambuc=item int B<SSL_CTX_sess_connect_renegotiate>(SSL_CTX *ctx);
275ebfedea0SLionel Sambuc
276ebfedea0SLionel Sambuc=item int B<SSL_CTX_sess_get_cache_size>(SSL_CTX *ctx);
277ebfedea0SLionel Sambuc
278ebfedea0SLionel Sambuc=item SSL_SESSION *(*B<SSL_CTX_sess_get_get_cb>(SSL_CTX *ctx))(SSL *ssl, unsigned char *data, int len, int *copy);
279ebfedea0SLionel Sambuc
280ebfedea0SLionel Sambuc=item int (*B<SSL_CTX_sess_get_new_cb>(SSL_CTX *ctx)(SSL *ssl, SSL_SESSION *sess);
281ebfedea0SLionel Sambuc
282ebfedea0SLionel Sambuc=item void (*B<SSL_CTX_sess_get_remove_cb>(SSL_CTX *ctx)(SSL_CTX *ctx, SSL_SESSION *sess);
283ebfedea0SLionel Sambuc
284ebfedea0SLionel Sambuc=item int B<SSL_CTX_sess_hits>(SSL_CTX *ctx);
285ebfedea0SLionel Sambuc
286ebfedea0SLionel Sambuc=item int B<SSL_CTX_sess_misses>(SSL_CTX *ctx);
287ebfedea0SLionel Sambuc
288ebfedea0SLionel Sambuc=item int B<SSL_CTX_sess_number>(SSL_CTX *ctx);
289ebfedea0SLionel Sambuc
290ebfedea0SLionel Sambuc=item void B<SSL_CTX_sess_set_cache_size>(SSL_CTX *ctx,t);
291ebfedea0SLionel Sambuc
292ebfedea0SLionel Sambuc=item void B<SSL_CTX_sess_set_get_cb>(SSL_CTX *ctx, SSL_SESSION *(*cb)(SSL *ssl, unsigned char *data, int len, int *copy));
293ebfedea0SLionel Sambuc
294ebfedea0SLionel Sambuc=item void B<SSL_CTX_sess_set_new_cb>(SSL_CTX *ctx, int (*cb)(SSL *ssl, SSL_SESSION *sess));
295ebfedea0SLionel Sambuc
296ebfedea0SLionel Sambuc=item void B<SSL_CTX_sess_set_remove_cb>(SSL_CTX *ctx, void (*cb)(SSL_CTX *ctx, SSL_SESSION *sess));
297ebfedea0SLionel Sambuc
298ebfedea0SLionel Sambuc=item int B<SSL_CTX_sess_timeouts>(SSL_CTX *ctx);
299ebfedea0SLionel Sambuc
300ebfedea0SLionel Sambuc=item LHASH *B<SSL_CTX_sessions>(SSL_CTX *ctx);
301ebfedea0SLionel Sambuc
302ebfedea0SLionel Sambuc=item void B<SSL_CTX_set_app_data>(SSL_CTX *ctx, void *arg);
303ebfedea0SLionel Sambuc
304ebfedea0SLionel Sambuc=item void B<SSL_CTX_set_cert_store>(SSL_CTX *ctx, X509_STORE *cs);
305ebfedea0SLionel Sambuc
306ebfedea0SLionel Sambuc=item void B<SSL_CTX_set_cert_verify_cb>(SSL_CTX *ctx, int (*cb)(), char *arg)
307ebfedea0SLionel Sambuc
308ebfedea0SLionel Sambuc=item int B<SSL_CTX_set_cipher_list>(SSL_CTX *ctx, char *str);
309ebfedea0SLionel Sambuc
310ebfedea0SLionel Sambuc=item void B<SSL_CTX_set_client_CA_list>(SSL_CTX *ctx, STACK *list);
311ebfedea0SLionel Sambuc
312ebfedea0SLionel Sambuc=item void B<SSL_CTX_set_client_cert_cb>(SSL_CTX *ctx, int (*cb)(SSL *ssl, X509 **x509, EVP_PKEY **pkey));
313ebfedea0SLionel Sambuc
314ebfedea0SLionel Sambuc=item void B<SSL_CTX_set_default_passwd_cb>(SSL_CTX *ctx, int (*cb);(void))
315ebfedea0SLionel Sambuc
316ebfedea0SLionel Sambuc=item void B<SSL_CTX_set_default_read_ahead>(SSL_CTX *ctx, int m);
317ebfedea0SLionel Sambuc
318ebfedea0SLionel Sambuc=item int B<SSL_CTX_set_default_verify_paths>(SSL_CTX *ctx);
319ebfedea0SLionel Sambuc
320ebfedea0SLionel Sambuc=item int B<SSL_CTX_set_ex_data>(SSL_CTX *s, int idx, char *arg);
321ebfedea0SLionel Sambuc
322ebfedea0SLionel Sambuc=item void B<SSL_CTX_set_info_callback>(SSL_CTX *ctx, void (*cb)(SSL *ssl, int cb, int ret));
323ebfedea0SLionel Sambuc
324ebfedea0SLionel Sambuc=item void B<SSL_CTX_set_msg_callback>(SSL_CTX *ctx, void (*cb)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg));
325ebfedea0SLionel Sambuc
326ebfedea0SLionel Sambuc=item void B<SSL_CTX_set_msg_callback_arg>(SSL_CTX *ctx, void *arg);
327ebfedea0SLionel Sambuc
328ebfedea0SLionel Sambuc=item void B<SSL_CTX_set_options>(SSL_CTX *ctx, unsigned long op);
329ebfedea0SLionel Sambuc
330ebfedea0SLionel Sambuc=item void B<SSL_CTX_set_quiet_shutdown>(SSL_CTX *ctx, int mode);
331ebfedea0SLionel Sambuc
332*0a6a1f1dSLionel Sambuc=item void B<SSL_CTX_set_read_ahead>(SSL_CTX *ctx, int m);
333*0a6a1f1dSLionel Sambuc
334ebfedea0SLionel Sambuc=item void B<SSL_CTX_set_session_cache_mode>(SSL_CTX *ctx, int mode);
335ebfedea0SLionel Sambuc
336ebfedea0SLionel Sambuc=item int B<SSL_CTX_set_ssl_version>(SSL_CTX *ctx, const SSL_METHOD *meth);
337ebfedea0SLionel Sambuc
338ebfedea0SLionel Sambuc=item void B<SSL_CTX_set_timeout>(SSL_CTX *ctx, long t);
339ebfedea0SLionel Sambuc
340ebfedea0SLionel Sambuc=item long B<SSL_CTX_set_tmp_dh>(SSL_CTX* ctx, DH *dh);
341ebfedea0SLionel Sambuc
342ebfedea0SLionel Sambuc=item long B<SSL_CTX_set_tmp_dh_callback>(SSL_CTX *ctx, DH *(*cb)(void));
343ebfedea0SLionel Sambuc
344ebfedea0SLionel Sambuc=item long B<SSL_CTX_set_tmp_rsa>(SSL_CTX *ctx, RSA *rsa);
345ebfedea0SLionel Sambuc
346ebfedea0SLionel Sambuc=item SSL_CTX_set_tmp_rsa_callback
347ebfedea0SLionel Sambuc
348ebfedea0SLionel SambucC<long B<SSL_CTX_set_tmp_rsa_callback>(SSL_CTX *B<ctx>, RSA *(*B<cb>)(SSL *B<ssl>, int B<export>, int B<keylength>));>
349ebfedea0SLionel Sambuc
350ebfedea0SLionel SambucSets the callback which will be called when a temporary private key is
351ebfedea0SLionel Sambucrequired. The B<C<export>> flag will be set if the reason for needing
352ebfedea0SLionel Sambuca temp key is that an export ciphersuite is in use, in which case,
353ebfedea0SLionel SambucB<C<keylength>> will contain the required keylength in bits. Generate a key of
354ebfedea0SLionel Sambucappropriate size (using ???) and return it.
355ebfedea0SLionel Sambuc
356ebfedea0SLionel Sambuc=item SSL_set_tmp_rsa_callback
357ebfedea0SLionel Sambuc
358ebfedea0SLionel Sambuclong B<SSL_set_tmp_rsa_callback>(SSL *ssl, RSA *(*cb)(SSL *ssl, int export, int keylength));
359ebfedea0SLionel Sambuc
360ebfedea0SLionel SambucThe same as B<SSL_CTX_set_tmp_rsa_callback>, except it operates on an SSL
361ebfedea0SLionel Sambucsession instead of a context.
362ebfedea0SLionel Sambuc
363ebfedea0SLionel Sambuc=item void B<SSL_CTX_set_verify>(SSL_CTX *ctx, int mode, int (*cb);(void))
364ebfedea0SLionel Sambuc
365ebfedea0SLionel Sambuc=item int B<SSL_CTX_use_PrivateKey>(SSL_CTX *ctx, EVP_PKEY *pkey);
366ebfedea0SLionel Sambuc
367ebfedea0SLionel Sambuc=item int B<SSL_CTX_use_PrivateKey_ASN1>(int type, SSL_CTX *ctx, unsigned char *d, long len);
368ebfedea0SLionel Sambuc
369ebfedea0SLionel Sambuc=item int B<SSL_CTX_use_PrivateKey_file>(SSL_CTX *ctx, char *file, int type);
370ebfedea0SLionel Sambuc
371ebfedea0SLionel Sambuc=item int B<SSL_CTX_use_RSAPrivateKey>(SSL_CTX *ctx, RSA *rsa);
372ebfedea0SLionel Sambuc
373ebfedea0SLionel Sambuc=item int B<SSL_CTX_use_RSAPrivateKey_ASN1>(SSL_CTX *ctx, unsigned char *d, long len);
374ebfedea0SLionel Sambuc
375ebfedea0SLionel Sambuc=item int B<SSL_CTX_use_RSAPrivateKey_file>(SSL_CTX *ctx, char *file, int type);
376ebfedea0SLionel Sambuc
377ebfedea0SLionel Sambuc=item int B<SSL_CTX_use_certificate>(SSL_CTX *ctx, X509 *x);
378ebfedea0SLionel Sambuc
379ebfedea0SLionel Sambuc=item int B<SSL_CTX_use_certificate_ASN1>(SSL_CTX *ctx, int len, unsigned char *d);
380ebfedea0SLionel Sambuc
381ebfedea0SLionel Sambuc=item int B<SSL_CTX_use_certificate_file>(SSL_CTX *ctx, char *file, int type);
382ebfedea0SLionel Sambuc
383ebfedea0SLionel Sambuc=item void B<SSL_CTX_set_psk_client_callback>(SSL_CTX *ctx, unsigned int (*callback)(SSL *ssl, const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len));
384ebfedea0SLionel Sambuc
385ebfedea0SLionel Sambuc=item int B<SSL_CTX_use_psk_identity_hint>(SSL_CTX *ctx, const char *hint);
386ebfedea0SLionel Sambuc
387ebfedea0SLionel Sambuc=item void B<SSL_CTX_set_psk_server_callback>(SSL_CTX *ctx, unsigned int (*callback)(SSL *ssl, const char *identity, unsigned char *psk, int max_psk_len));
388ebfedea0SLionel Sambuc
389ebfedea0SLionel Sambuc
390ebfedea0SLionel Sambuc
391ebfedea0SLionel Sambuc
392ebfedea0SLionel Sambuc=back
393ebfedea0SLionel Sambuc
394ebfedea0SLionel Sambuc=head2 DEALING WITH SESSIONS
395ebfedea0SLionel Sambuc
396ebfedea0SLionel SambucHere we document the various API functions which deal with the SSL/TLS
397ebfedea0SLionel Sambucsessions defined in the B<SSL_SESSION> structures.
398ebfedea0SLionel Sambuc
399ebfedea0SLionel Sambuc=over 4
400ebfedea0SLionel Sambuc
401ebfedea0SLionel Sambuc=item int B<SSL_SESSION_cmp>(const SSL_SESSION *a, const SSL_SESSION *b);
402ebfedea0SLionel Sambuc
403ebfedea0SLionel Sambuc=item void B<SSL_SESSION_free>(SSL_SESSION *ss);
404ebfedea0SLionel Sambuc
405ebfedea0SLionel Sambuc=item char *B<SSL_SESSION_get_app_data>(SSL_SESSION *s);
406ebfedea0SLionel Sambuc
407ebfedea0SLionel Sambuc=item char *B<SSL_SESSION_get_ex_data>(const SSL_SESSION *s, int idx);
408ebfedea0SLionel Sambuc
409ebfedea0SLionel Sambuc=item int B<SSL_SESSION_get_ex_new_index>(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))
410ebfedea0SLionel Sambuc
411ebfedea0SLionel Sambuc=item long B<SSL_SESSION_get_time>(const SSL_SESSION *s);
412ebfedea0SLionel Sambuc
413ebfedea0SLionel Sambuc=item long B<SSL_SESSION_get_timeout>(const SSL_SESSION *s);
414ebfedea0SLionel Sambuc
415ebfedea0SLionel Sambuc=item unsigned long B<SSL_SESSION_hash>(const SSL_SESSION *a);
416ebfedea0SLionel Sambuc
417ebfedea0SLionel Sambuc=item SSL_SESSION *B<SSL_SESSION_new>(void);
418ebfedea0SLionel Sambuc
419ebfedea0SLionel Sambuc=item int B<SSL_SESSION_print>(BIO *bp, const SSL_SESSION *x);
420ebfedea0SLionel Sambuc
421ebfedea0SLionel Sambuc=item int B<SSL_SESSION_print_fp>(FILE *fp, const SSL_SESSION *x);
422ebfedea0SLionel Sambuc
423ebfedea0SLionel Sambuc=item void B<SSL_SESSION_set_app_data>(SSL_SESSION *s, char *a);
424ebfedea0SLionel Sambuc
425ebfedea0SLionel Sambuc=item int B<SSL_SESSION_set_ex_data>(SSL_SESSION *s, int idx, char *arg);
426ebfedea0SLionel Sambuc
427ebfedea0SLionel Sambuc=item long B<SSL_SESSION_set_time>(SSL_SESSION *s, long t);
428ebfedea0SLionel Sambuc
429ebfedea0SLionel Sambuc=item long B<SSL_SESSION_set_timeout>(SSL_SESSION *s, long t);
430ebfedea0SLionel Sambuc
431ebfedea0SLionel Sambuc=back
432ebfedea0SLionel Sambuc
433ebfedea0SLionel Sambuc=head2 DEALING WITH CONNECTIONS
434ebfedea0SLionel Sambuc
435ebfedea0SLionel SambucHere we document the various API functions which deal with the SSL/TLS
436ebfedea0SLionel Sambucconnection defined in the B<SSL> structure.
437ebfedea0SLionel Sambuc
438ebfedea0SLionel Sambuc=over 4
439ebfedea0SLionel Sambuc
440ebfedea0SLionel Sambuc=item int B<SSL_accept>(SSL *ssl);
441ebfedea0SLionel Sambuc
442ebfedea0SLionel Sambuc=item int B<SSL_add_dir_cert_subjects_to_stack>(STACK *stack, const char *dir);
443ebfedea0SLionel Sambuc
444ebfedea0SLionel Sambuc=item int B<SSL_add_file_cert_subjects_to_stack>(STACK *stack, const char *file);
445ebfedea0SLionel Sambuc
446ebfedea0SLionel Sambuc=item int B<SSL_add_client_CA>(SSL *ssl, X509 *x);
447ebfedea0SLionel Sambuc
448ebfedea0SLionel Sambuc=item char *B<SSL_alert_desc_string>(int value);
449ebfedea0SLionel Sambuc
450ebfedea0SLionel Sambuc=item char *B<SSL_alert_desc_string_long>(int value);
451ebfedea0SLionel Sambuc
452ebfedea0SLionel Sambuc=item char *B<SSL_alert_type_string>(int value);
453ebfedea0SLionel Sambuc
454ebfedea0SLionel Sambuc=item char *B<SSL_alert_type_string_long>(int value);
455ebfedea0SLionel Sambuc
456ebfedea0SLionel Sambuc=item int B<SSL_check_private_key>(const SSL *ssl);
457ebfedea0SLionel Sambuc
458ebfedea0SLionel Sambuc=item void B<SSL_clear>(SSL *ssl);
459ebfedea0SLionel Sambuc
460ebfedea0SLionel Sambuc=item long B<SSL_clear_num_renegotiations>(SSL *ssl);
461ebfedea0SLionel Sambuc
462ebfedea0SLionel Sambuc=item int B<SSL_connect>(SSL *ssl);
463ebfedea0SLionel Sambuc
464ebfedea0SLionel Sambuc=item void B<SSL_copy_session_id>(SSL *t, const SSL *f);
465ebfedea0SLionel Sambuc
466ebfedea0SLionel Sambuc=item long B<SSL_ctrl>(SSL *ssl, int cmd, long larg, char *parg);
467ebfedea0SLionel Sambuc
468ebfedea0SLionel Sambuc=item int B<SSL_do_handshake>(SSL *ssl);
469ebfedea0SLionel Sambuc
470ebfedea0SLionel Sambuc=item SSL *B<SSL_dup>(SSL *ssl);
471ebfedea0SLionel Sambuc
472ebfedea0SLionel Sambuc=item STACK *B<SSL_dup_CA_list>(STACK *sk);
473ebfedea0SLionel Sambuc
474ebfedea0SLionel Sambuc=item void B<SSL_free>(SSL *ssl);
475ebfedea0SLionel Sambuc
476ebfedea0SLionel Sambuc=item SSL_CTX *B<SSL_get_SSL_CTX>(const SSL *ssl);
477ebfedea0SLionel Sambuc
478ebfedea0SLionel Sambuc=item char *B<SSL_get_app_data>(SSL *ssl);
479ebfedea0SLionel Sambuc
480ebfedea0SLionel Sambuc=item X509 *B<SSL_get_certificate>(const SSL *ssl);
481ebfedea0SLionel Sambuc
482ebfedea0SLionel Sambuc=item const char *B<SSL_get_cipher>(const SSL *ssl);
483ebfedea0SLionel Sambuc
484ebfedea0SLionel Sambuc=item int B<SSL_get_cipher_bits>(const SSL *ssl, int *alg_bits);
485ebfedea0SLionel Sambuc
486ebfedea0SLionel Sambuc=item char *B<SSL_get_cipher_list>(const SSL *ssl, int n);
487ebfedea0SLionel Sambuc
488ebfedea0SLionel Sambuc=item char *B<SSL_get_cipher_name>(const SSL *ssl);
489ebfedea0SLionel Sambuc
490ebfedea0SLionel Sambuc=item char *B<SSL_get_cipher_version>(const SSL *ssl);
491ebfedea0SLionel Sambuc
492ebfedea0SLionel Sambuc=item STACK *B<SSL_get_ciphers>(const SSL *ssl);
493ebfedea0SLionel Sambuc
494ebfedea0SLionel Sambuc=item STACK *B<SSL_get_client_CA_list>(const SSL *ssl);
495ebfedea0SLionel Sambuc
496ebfedea0SLionel Sambuc=item SSL_CIPHER *B<SSL_get_current_cipher>(SSL *ssl);
497ebfedea0SLionel Sambuc
498ebfedea0SLionel Sambuc=item long B<SSL_get_default_timeout>(const SSL *ssl);
499ebfedea0SLionel Sambuc
500ebfedea0SLionel Sambuc=item int B<SSL_get_error>(const SSL *ssl, int i);
501ebfedea0SLionel Sambuc
502ebfedea0SLionel Sambuc=item char *B<SSL_get_ex_data>(const SSL *ssl, int idx);
503ebfedea0SLionel Sambuc
504ebfedea0SLionel Sambuc=item int B<SSL_get_ex_data_X509_STORE_CTX_idx>(void);
505ebfedea0SLionel Sambuc
506ebfedea0SLionel Sambuc=item int B<SSL_get_ex_new_index>(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))
507ebfedea0SLionel Sambuc
508ebfedea0SLionel Sambuc=item int B<SSL_get_fd>(const SSL *ssl);
509ebfedea0SLionel Sambuc
510ebfedea0SLionel Sambuc=item void (*B<SSL_get_info_callback>(const SSL *ssl);)()
511ebfedea0SLionel Sambuc
512ebfedea0SLionel Sambuc=item STACK *B<SSL_get_peer_cert_chain>(const SSL *ssl);
513ebfedea0SLionel Sambuc
514ebfedea0SLionel Sambuc=item X509 *B<SSL_get_peer_certificate>(const SSL *ssl);
515ebfedea0SLionel Sambuc
516ebfedea0SLionel Sambuc=item EVP_PKEY *B<SSL_get_privatekey>(SSL *ssl);
517ebfedea0SLionel Sambuc
518ebfedea0SLionel Sambuc=item int B<SSL_get_quiet_shutdown>(const SSL *ssl);
519ebfedea0SLionel Sambuc
520ebfedea0SLionel Sambuc=item BIO *B<SSL_get_rbio>(const SSL *ssl);
521ebfedea0SLionel Sambuc
522ebfedea0SLionel Sambuc=item int B<SSL_get_read_ahead>(const SSL *ssl);
523ebfedea0SLionel Sambuc
524ebfedea0SLionel Sambuc=item SSL_SESSION *B<SSL_get_session>(const SSL *ssl);
525ebfedea0SLionel Sambuc
526ebfedea0SLionel Sambuc=item char *B<SSL_get_shared_ciphers>(const SSL *ssl, char *buf, int len);
527ebfedea0SLionel Sambuc
528ebfedea0SLionel Sambuc=item int B<SSL_get_shutdown>(const SSL *ssl);
529ebfedea0SLionel Sambuc
530ebfedea0SLionel Sambuc=item const SSL_METHOD *B<SSL_get_ssl_method>(SSL *ssl);
531ebfedea0SLionel Sambuc
532ebfedea0SLionel Sambuc=item int B<SSL_get_state>(const SSL *ssl);
533ebfedea0SLionel Sambuc
534ebfedea0SLionel Sambuc=item long B<SSL_get_time>(const SSL *ssl);
535ebfedea0SLionel Sambuc
536ebfedea0SLionel Sambuc=item long B<SSL_get_timeout>(const SSL *ssl);
537ebfedea0SLionel Sambuc
538ebfedea0SLionel Sambuc=item int (*B<SSL_get_verify_callback>(const SSL *ssl))(int,X509_STORE_CTX *)
539ebfedea0SLionel Sambuc
540ebfedea0SLionel Sambuc=item int B<SSL_get_verify_mode>(const SSL *ssl);
541ebfedea0SLionel Sambuc
542ebfedea0SLionel Sambuc=item long B<SSL_get_verify_result>(const SSL *ssl);
543ebfedea0SLionel Sambuc
544ebfedea0SLionel Sambuc=item char *B<SSL_get_version>(const SSL *ssl);
545ebfedea0SLionel Sambuc
546ebfedea0SLionel Sambuc=item BIO *B<SSL_get_wbio>(const SSL *ssl);
547ebfedea0SLionel Sambuc
548ebfedea0SLionel Sambuc=item int B<SSL_in_accept_init>(SSL *ssl);
549ebfedea0SLionel Sambuc
550ebfedea0SLionel Sambuc=item int B<SSL_in_before>(SSL *ssl);
551ebfedea0SLionel Sambuc
552ebfedea0SLionel Sambuc=item int B<SSL_in_connect_init>(SSL *ssl);
553ebfedea0SLionel Sambuc
554ebfedea0SLionel Sambuc=item int B<SSL_in_init>(SSL *ssl);
555ebfedea0SLionel Sambuc
556ebfedea0SLionel Sambuc=item int B<SSL_is_init_finished>(SSL *ssl);
557ebfedea0SLionel Sambuc
558ebfedea0SLionel Sambuc=item STACK *B<SSL_load_client_CA_file>(char *file);
559ebfedea0SLionel Sambuc
560ebfedea0SLionel Sambuc=item void B<SSL_load_error_strings>(void);
561ebfedea0SLionel Sambuc
562ebfedea0SLionel Sambuc=item SSL *B<SSL_new>(SSL_CTX *ctx);
563ebfedea0SLionel Sambuc
564ebfedea0SLionel Sambuc=item long B<SSL_num_renegotiations>(SSL *ssl);
565ebfedea0SLionel Sambuc
566ebfedea0SLionel Sambuc=item int B<SSL_peek>(SSL *ssl, void *buf, int num);
567ebfedea0SLionel Sambuc
568ebfedea0SLionel Sambuc=item int B<SSL_pending>(const SSL *ssl);
569ebfedea0SLionel Sambuc
570ebfedea0SLionel Sambuc=item int B<SSL_read>(SSL *ssl, void *buf, int num);
571ebfedea0SLionel Sambuc
572ebfedea0SLionel Sambuc=item int B<SSL_renegotiate>(SSL *ssl);
573ebfedea0SLionel Sambuc
574ebfedea0SLionel Sambuc=item char *B<SSL_rstate_string>(SSL *ssl);
575ebfedea0SLionel Sambuc
576ebfedea0SLionel Sambuc=item char *B<SSL_rstate_string_long>(SSL *ssl);
577ebfedea0SLionel Sambuc
578ebfedea0SLionel Sambuc=item long B<SSL_session_reused>(SSL *ssl);
579ebfedea0SLionel Sambuc
580ebfedea0SLionel Sambuc=item void B<SSL_set_accept_state>(SSL *ssl);
581ebfedea0SLionel Sambuc
582ebfedea0SLionel Sambuc=item void B<SSL_set_app_data>(SSL *ssl, char *arg);
583ebfedea0SLionel Sambuc
584ebfedea0SLionel Sambuc=item void B<SSL_set_bio>(SSL *ssl, BIO *rbio, BIO *wbio);
585ebfedea0SLionel Sambuc
586ebfedea0SLionel Sambuc=item int B<SSL_set_cipher_list>(SSL *ssl, char *str);
587ebfedea0SLionel Sambuc
588ebfedea0SLionel Sambuc=item void B<SSL_set_client_CA_list>(SSL *ssl, STACK *list);
589ebfedea0SLionel Sambuc
590ebfedea0SLionel Sambuc=item void B<SSL_set_connect_state>(SSL *ssl);
591ebfedea0SLionel Sambuc
592ebfedea0SLionel Sambuc=item int B<SSL_set_ex_data>(SSL *ssl, int idx, char *arg);
593ebfedea0SLionel Sambuc
594ebfedea0SLionel Sambuc=item int B<SSL_set_fd>(SSL *ssl, int fd);
595ebfedea0SLionel Sambuc
596ebfedea0SLionel Sambuc=item void B<SSL_set_info_callback>(SSL *ssl, void (*cb);(void))
597ebfedea0SLionel Sambuc
598ebfedea0SLionel Sambuc=item void B<SSL_set_msg_callback>(SSL *ctx, void (*cb)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg));
599ebfedea0SLionel Sambuc
600ebfedea0SLionel Sambuc=item void B<SSL_set_msg_callback_arg>(SSL *ctx, void *arg);
601ebfedea0SLionel Sambuc
602ebfedea0SLionel Sambuc=item void B<SSL_set_options>(SSL *ssl, unsigned long op);
603ebfedea0SLionel Sambuc
604ebfedea0SLionel Sambuc=item void B<SSL_set_quiet_shutdown>(SSL *ssl, int mode);
605ebfedea0SLionel Sambuc
606ebfedea0SLionel Sambuc=item void B<SSL_set_read_ahead>(SSL *ssl, int yes);
607ebfedea0SLionel Sambuc
608ebfedea0SLionel Sambuc=item int B<SSL_set_rfd>(SSL *ssl, int fd);
609ebfedea0SLionel Sambuc
610ebfedea0SLionel Sambuc=item int B<SSL_set_session>(SSL *ssl, SSL_SESSION *session);
611ebfedea0SLionel Sambuc
612ebfedea0SLionel Sambuc=item void B<SSL_set_shutdown>(SSL *ssl, int mode);
613ebfedea0SLionel Sambuc
614ebfedea0SLionel Sambuc=item int B<SSL_set_ssl_method>(SSL *ssl, const SSL_METHOD *meth);
615ebfedea0SLionel Sambuc
616ebfedea0SLionel Sambuc=item void B<SSL_set_time>(SSL *ssl, long t);
617ebfedea0SLionel Sambuc
618ebfedea0SLionel Sambuc=item void B<SSL_set_timeout>(SSL *ssl, long t);
619ebfedea0SLionel Sambuc
620ebfedea0SLionel Sambuc=item void B<SSL_set_verify>(SSL *ssl, int mode, int (*callback);(void))
621ebfedea0SLionel Sambuc
622ebfedea0SLionel Sambuc=item void B<SSL_set_verify_result>(SSL *ssl, long arg);
623ebfedea0SLionel Sambuc
624ebfedea0SLionel Sambuc=item int B<SSL_set_wfd>(SSL *ssl, int fd);
625ebfedea0SLionel Sambuc
626ebfedea0SLionel Sambuc=item int B<SSL_shutdown>(SSL *ssl);
627ebfedea0SLionel Sambuc
628ebfedea0SLionel Sambuc=item int B<SSL_state>(const SSL *ssl);
629ebfedea0SLionel Sambuc
630ebfedea0SLionel Sambuc=item char *B<SSL_state_string>(const SSL *ssl);
631ebfedea0SLionel Sambuc
632ebfedea0SLionel Sambuc=item char *B<SSL_state_string_long>(const SSL *ssl);
633ebfedea0SLionel Sambuc
634ebfedea0SLionel Sambuc=item long B<SSL_total_renegotiations>(SSL *ssl);
635ebfedea0SLionel Sambuc
636ebfedea0SLionel Sambuc=item int B<SSL_use_PrivateKey>(SSL *ssl, EVP_PKEY *pkey);
637ebfedea0SLionel Sambuc
638ebfedea0SLionel Sambuc=item int B<SSL_use_PrivateKey_ASN1>(int type, SSL *ssl, unsigned char *d, long len);
639ebfedea0SLionel Sambuc
640ebfedea0SLionel Sambuc=item int B<SSL_use_PrivateKey_file>(SSL *ssl, char *file, int type);
641ebfedea0SLionel Sambuc
642ebfedea0SLionel Sambuc=item int B<SSL_use_RSAPrivateKey>(SSL *ssl, RSA *rsa);
643ebfedea0SLionel Sambuc
644ebfedea0SLionel Sambuc=item int B<SSL_use_RSAPrivateKey_ASN1>(SSL *ssl, unsigned char *d, long len);
645ebfedea0SLionel Sambuc
646ebfedea0SLionel Sambuc=item int B<SSL_use_RSAPrivateKey_file>(SSL *ssl, char *file, int type);
647ebfedea0SLionel Sambuc
648ebfedea0SLionel Sambuc=item int B<SSL_use_certificate>(SSL *ssl, X509 *x);
649ebfedea0SLionel Sambuc
650ebfedea0SLionel Sambuc=item int B<SSL_use_certificate_ASN1>(SSL *ssl, int len, unsigned char *d);
651ebfedea0SLionel Sambuc
652ebfedea0SLionel Sambuc=item int B<SSL_use_certificate_file>(SSL *ssl, char *file, int type);
653ebfedea0SLionel Sambuc
654ebfedea0SLionel Sambuc=item int B<SSL_version>(const SSL *ssl);
655ebfedea0SLionel Sambuc
656ebfedea0SLionel Sambuc=item int B<SSL_want>(const SSL *ssl);
657ebfedea0SLionel Sambuc
658ebfedea0SLionel Sambuc=item int B<SSL_want_nothing>(const SSL *ssl);
659ebfedea0SLionel Sambuc
660ebfedea0SLionel Sambuc=item int B<SSL_want_read>(const SSL *ssl);
661ebfedea0SLionel Sambuc
662ebfedea0SLionel Sambuc=item int B<SSL_want_write>(const SSL *ssl);
663ebfedea0SLionel Sambuc
664ebfedea0SLionel Sambuc=item int B<SSL_want_x509_lookup>(const SSL *ssl);
665ebfedea0SLionel Sambuc
666ebfedea0SLionel Sambuc=item int B<SSL_write>(SSL *ssl, const void *buf, int num);
667ebfedea0SLionel Sambuc
668ebfedea0SLionel Sambuc=item void B<SSL_set_psk_client_callback>(SSL *ssl, unsigned int (*callback)(SSL *ssl, const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len));
669ebfedea0SLionel Sambuc
670ebfedea0SLionel Sambuc=item int B<SSL_use_psk_identity_hint>(SSL *ssl, const char *hint);
671ebfedea0SLionel Sambuc
672ebfedea0SLionel Sambuc=item void B<SSL_set_psk_server_callback>(SSL *ssl, unsigned int (*callback)(SSL *ssl, const char *identity, unsigned char *psk, int max_psk_len));
673ebfedea0SLionel Sambuc
674ebfedea0SLionel Sambuc=item const char *B<SSL_get_psk_identity_hint>(SSL *ssl);
675ebfedea0SLionel Sambuc
676ebfedea0SLionel Sambuc=item const char *B<SSL_get_psk_identity>(SSL *ssl);
677ebfedea0SLionel Sambuc
678ebfedea0SLionel Sambuc=back
679ebfedea0SLionel Sambuc
680ebfedea0SLionel Sambuc=head1 SEE ALSO
681ebfedea0SLionel Sambuc
682ebfedea0SLionel SambucL<openssl(1)|openssl(1)>, L<crypto(3)|crypto(3)>,
683ebfedea0SLionel SambucL<SSL_accept(3)|SSL_accept(3)>, L<SSL_clear(3)|SSL_clear(3)>,
684ebfedea0SLionel SambucL<SSL_connect(3)|SSL_connect(3)>,
685ebfedea0SLionel SambucL<SSL_CIPHER_get_name(3)|SSL_CIPHER_get_name(3)>,
686ebfedea0SLionel SambucL<SSL_COMP_add_compression_method(3)|SSL_COMP_add_compression_method(3)>,
687ebfedea0SLionel SambucL<SSL_CTX_add_extra_chain_cert(3)|SSL_CTX_add_extra_chain_cert(3)>,
688ebfedea0SLionel SambucL<SSL_CTX_add_session(3)|SSL_CTX_add_session(3)>,
689ebfedea0SLionel SambucL<SSL_CTX_ctrl(3)|SSL_CTX_ctrl(3)>,
690ebfedea0SLionel SambucL<SSL_CTX_flush_sessions(3)|SSL_CTX_flush_sessions(3)>,
691ebfedea0SLionel SambucL<SSL_CTX_get_ex_new_index(3)|SSL_CTX_get_ex_new_index(3)>,
692ebfedea0SLionel SambucL<SSL_CTX_get_verify_mode(3)|SSL_CTX_get_verify_mode(3)>,
693ebfedea0SLionel SambucL<SSL_CTX_load_verify_locations(3)|SSL_CTX_load_verify_locations(3)>
694ebfedea0SLionel SambucL<SSL_CTX_new(3)|SSL_CTX_new(3)>,
695ebfedea0SLionel SambucL<SSL_CTX_sess_number(3)|SSL_CTX_sess_number(3)>,
696ebfedea0SLionel SambucL<SSL_CTX_sess_set_cache_size(3)|SSL_CTX_sess_set_cache_size(3)>,
697ebfedea0SLionel SambucL<SSL_CTX_sess_set_get_cb(3)|SSL_CTX_sess_set_get_cb(3)>,
698ebfedea0SLionel SambucL<SSL_CTX_sessions(3)|SSL_CTX_sessions(3)>,
699ebfedea0SLionel SambucL<SSL_CTX_set_cert_store(3)|SSL_CTX_set_cert_store(3)>,
700ebfedea0SLionel SambucL<SSL_CTX_set_cert_verify_callback(3)|SSL_CTX_set_cert_verify_callback(3)>,
701ebfedea0SLionel SambucL<SSL_CTX_set_cipher_list(3)|SSL_CTX_set_cipher_list(3)>,
702ebfedea0SLionel SambucL<SSL_CTX_set_client_CA_list(3)|SSL_CTX_set_client_CA_list(3)>,
703ebfedea0SLionel SambucL<SSL_CTX_set_client_cert_cb(3)|SSL_CTX_set_client_cert_cb(3)>,
704ebfedea0SLionel SambucL<SSL_CTX_set_default_passwd_cb(3)|SSL_CTX_set_default_passwd_cb(3)>,
705ebfedea0SLionel SambucL<SSL_CTX_set_generate_session_id(3)|SSL_CTX_set_generate_session_id(3)>,
706ebfedea0SLionel SambucL<SSL_CTX_set_info_callback(3)|SSL_CTX_set_info_callback(3)>,
707ebfedea0SLionel SambucL<SSL_CTX_set_max_cert_list(3)|SSL_CTX_set_max_cert_list(3)>,
708ebfedea0SLionel SambucL<SSL_CTX_set_mode(3)|SSL_CTX_set_mode(3)>,
709ebfedea0SLionel SambucL<SSL_CTX_set_msg_callback(3)|SSL_CTX_set_msg_callback(3)>,
710ebfedea0SLionel SambucL<SSL_CTX_set_options(3)|SSL_CTX_set_options(3)>,
711ebfedea0SLionel SambucL<SSL_CTX_set_quiet_shutdown(3)|SSL_CTX_set_quiet_shutdown(3)>,
712*0a6a1f1dSLionel SambucL<SSL_CTX_set_read_ahead(3)|SSL_CTX_set_read_ahead(3)>,
713ebfedea0SLionel SambucL<SSL_CTX_set_session_cache_mode(3)|SSL_CTX_set_session_cache_mode(3)>,
714ebfedea0SLionel SambucL<SSL_CTX_set_session_id_context(3)|SSL_CTX_set_session_id_context(3)>,
715ebfedea0SLionel SambucL<SSL_CTX_set_ssl_version(3)|SSL_CTX_set_ssl_version(3)>,
716ebfedea0SLionel SambucL<SSL_CTX_set_timeout(3)|SSL_CTX_set_timeout(3)>,
717ebfedea0SLionel SambucL<SSL_CTX_set_tmp_rsa_callback(3)|SSL_CTX_set_tmp_rsa_callback(3)>,
718ebfedea0SLionel SambucL<SSL_CTX_set_tmp_dh_callback(3)|SSL_CTX_set_tmp_dh_callback(3)>,
719ebfedea0SLionel SambucL<SSL_CTX_set_verify(3)|SSL_CTX_set_verify(3)>,
720ebfedea0SLionel SambucL<SSL_CTX_use_certificate(3)|SSL_CTX_use_certificate(3)>,
721ebfedea0SLionel SambucL<SSL_alert_type_string(3)|SSL_alert_type_string(3)>,
722ebfedea0SLionel SambucL<SSL_do_handshake(3)|SSL_do_handshake(3)>,
723ebfedea0SLionel SambucL<SSL_get_SSL_CTX(3)|SSL_get_SSL_CTX(3)>,
724ebfedea0SLionel SambucL<SSL_get_ciphers(3)|SSL_get_ciphers(3)>,
725ebfedea0SLionel SambucL<SSL_get_client_CA_list(3)|SSL_get_client_CA_list(3)>,
726ebfedea0SLionel SambucL<SSL_get_default_timeout(3)|SSL_get_default_timeout(3)>,
727ebfedea0SLionel SambucL<SSL_get_error(3)|SSL_get_error(3)>,
728ebfedea0SLionel SambucL<SSL_get_ex_data_X509_STORE_CTX_idx(3)|SSL_get_ex_data_X509_STORE_CTX_idx(3)>,
729ebfedea0SLionel SambucL<SSL_get_ex_new_index(3)|SSL_get_ex_new_index(3)>,
730ebfedea0SLionel SambucL<SSL_get_fd(3)|SSL_get_fd(3)>,
731ebfedea0SLionel SambucL<SSL_get_peer_cert_chain(3)|SSL_get_peer_cert_chain(3)>,
732ebfedea0SLionel SambucL<SSL_get_rbio(3)|SSL_get_rbio(3)>,
733ebfedea0SLionel SambucL<SSL_get_session(3)|SSL_get_session(3)>,
734ebfedea0SLionel SambucL<SSL_get_verify_result(3)|SSL_get_verify_result(3)>,
735ebfedea0SLionel SambucL<SSL_get_version(3)|SSL_get_version(3)>,
736ebfedea0SLionel SambucL<SSL_library_init(3)|SSL_library_init(3)>,
737ebfedea0SLionel SambucL<SSL_load_client_CA_file(3)|SSL_load_client_CA_file(3)>,
738ebfedea0SLionel SambucL<SSL_new(3)|SSL_new(3)>,
739ebfedea0SLionel SambucL<SSL_pending(3)|SSL_pending(3)>,
740ebfedea0SLionel SambucL<SSL_read(3)|SSL_read(3)>,
741ebfedea0SLionel SambucL<SSL_rstate_string(3)|SSL_rstate_string(3)>,
742ebfedea0SLionel SambucL<SSL_session_reused(3)|SSL_session_reused(3)>,
743ebfedea0SLionel SambucL<SSL_set_bio(3)|SSL_set_bio(3)>,
744ebfedea0SLionel SambucL<SSL_set_connect_state(3)|SSL_set_connect_state(3)>,
745ebfedea0SLionel SambucL<SSL_set_fd(3)|SSL_set_fd(3)>,
746ebfedea0SLionel SambucL<SSL_set_session(3)|SSL_set_session(3)>,
747ebfedea0SLionel SambucL<SSL_set_shutdown(3)|SSL_set_shutdown(3)>,
748ebfedea0SLionel SambucL<SSL_shutdown(3)|SSL_shutdown(3)>,
749ebfedea0SLionel SambucL<SSL_state_string(3)|SSL_state_string(3)>,
750ebfedea0SLionel SambucL<SSL_want(3)|SSL_want(3)>,
751ebfedea0SLionel SambucL<SSL_write(3)|SSL_write(3)>,
752ebfedea0SLionel SambucL<SSL_SESSION_free(3)|SSL_SESSION_free(3)>,
753ebfedea0SLionel SambucL<SSL_SESSION_get_ex_new_index(3)|SSL_SESSION_get_ex_new_index(3)>,
754ebfedea0SLionel SambucL<SSL_SESSION_get_time(3)|SSL_SESSION_get_time(3)>,
755ebfedea0SLionel SambucL<d2i_SSL_SESSION(3)|d2i_SSL_SESSION(3)>,
756ebfedea0SLionel SambucL<SSL_CTX_set_psk_client_callback(3)|SSL_CTX_set_psk_client_callback(3)>,
757ebfedea0SLionel SambucL<SSL_CTX_use_psk_identity_hint(3)|SSL_CTX_use_psk_identity_hint(3)>,
758ebfedea0SLionel SambucL<SSL_get_psk_identity(3)|SSL_get_psk_identity(3)>
759ebfedea0SLionel Sambuc
760ebfedea0SLionel Sambuc=head1 HISTORY
761ebfedea0SLionel Sambuc
762ebfedea0SLionel SambucThe L<ssl(3)|ssl(3)> document appeared in OpenSSL 0.9.2
763ebfedea0SLionel Sambuc
764ebfedea0SLionel Sambuc=cut
765ebfedea0SLionel Sambuc
766