2 ''' $RCSfile$$Revision$$Date$
20 .ie \\n(.$>=3 .ne \\$3
36 ''' Set up \*(-- to give an unbreakable dash;
37 ''' string Tr holds user defined translation string.
38 ''' Bell System Logo is used as a dummy character.
44 .if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
45 .if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
48 ''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of
49 ''' \*(L" and \*(R", except that they are used on ".xx" lines,
50 ''' such as .IP and .SH, which do another additional levels of
51 ''' double-quote interpretation
80 .\" If the F register is turned on, we'll generate
81 .\" index entries out stderr for the following things:
86 .\" X<> Xref (embedded
87 .\" Of course, you have to process the output yourself
88 .\" in some meaninful fashion.
91 .tm Index:\\$1\t\\n%\t"\\$2"
96 .TH ssl 3 "0.9.7d" "2/Sep/2004" "OpenSSL"
100 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
101 .de CQ \" put $1 in typewriter font
107 \\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
110 .\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
111 . \" AM - accent mark definitions
113 . \" fudge factors for nroff and troff
122 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
128 . \" simple accents for nroff and troff
141 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
142 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
143 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
144 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
145 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
146 . ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
147 . ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
148 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
149 . ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
151 . \" troff and (daisy-wheel) nroff accents
152 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
153 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
154 .ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
155 .ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
156 .ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
157 .ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
158 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
159 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
160 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
161 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
162 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
163 .ds ae a\h'-(\w'a'u*4/10)'e
164 .ds Ae A\h'-(\w'A'u*4/10)'E
165 .ds oe o\h'-(\w'o'u*4/10)'e
166 .ds Oe O\h'-(\w'O'u*4/10)'E
167 . \" corrections for vroff
168 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
169 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
170 . \" for low resolution devices (crt and lpr)
171 .if \n(.H>23 .if \n(.V>19 \
175 . ds v \h'-1'\o'\(aa\(ga'
191 SSL \- OpenSSL SSL/TLS library
194 The OpenSSL \fBssl\fR library implements the Secure Sockets Layer (SSL v2/v3) and
195 Transport Layer Security (TLS v1) protocols. It provides a rich API which is
198 At first the library must be initialized; see
201 Then an \fBSSL_CTX\fR object is created as a framework to establish
202 TLS/SSL enabled connections (see SSL_CTX_new(3)).
203 Various options regarding certificates, algorithms etc. can be set
206 When a network connection has been created, it can be assigned to an
207 \fBSSL\fR object. After the \fBSSL\fR object has been created using
208 SSL_new(3), SSL_set_fd(3) or
209 SSL_set_bio(3) can be used to associate the network
210 connection with the object.
212 Then the TLS/SSL handshake is performed using
213 SSL_accept(3) or SSL_connect(3)
215 SSL_read(3) and SSL_write(3) are used
216 to read and write data on the TLS/SSL connection.
217 SSL_shutdown(3) can be used to shut down the
219 .SH "DATA STRUCTURES"
220 Currently the OpenSSL \fBssl\fR library functions deals with the following data
222 .Ip "\fB\s-1SSL_METHOD\s0\fR (\s-1SSL\s0 Method)" 4
223 That's a dispatch structure describing the internal \fBssl\fR library
224 methods/functions which implement the various protocol versions (SSLv1, SSLv2
225 and TLSv1). It's needed to create an \fB\s-1SSL_CTX\s0\fR.
226 .Ip "\fB\s-1SSL_CIPHER\s0\fR (\s-1SSL\s0 Cipher)" 4
227 This structure holds the algorithm information for a particular cipher which
228 are a core part of the \s-1SSL/TLS\s0 protocol. The available ciphers are configured
229 on a \fB\s-1SSL_CTX\s0\fR basis and the actually used ones are then part of the
230 \fB\s-1SSL_SESSION\s0\fR.
231 .Ip "\fB\s-1SSL_CTX\s0\fR (\s-1SSL\s0 Context)" 4
232 That's the global context structure which is created by a server or client
233 once per program life-time and which holds mainly default values for the
234 \fB\s-1SSL\s0\fR structures which are later created for the connections.
235 .Ip "\fB\s-1SSL_SESSION\s0\fR (\s-1SSL\s0 Session)" 4
236 This is a structure containing the current \s-1TLS/SSL\s0 session details for a
237 connection: \fB\s-1SSL_CIPHER\s0\fRs, client and server certificates, keys, etc.
238 .Ip "\fB\s-1SSL\s0\fR (\s-1SSL\s0 Connection)" 4
239 That's the main \s-1SSL/TLS\s0 structure which is created by a server or client per
240 established connection. This actually is the core structure in the \s-1SSL\s0 \s-1API\s0.
241 Under run-time the application usually deals with this structure which has
242 links to mostly all other structures.
244 Currently the OpenSSL \fBssl\fR library provides the following C header files
245 containing the prototypes for the data structures and and functions:
247 That's the common header file for the \s-1SSL/TLS\s0 \s-1API\s0. Include it into your
248 program to make the \s-1API\s0 of the \fBssl\fR library available. It internally
249 includes both more private \s-1SSL\s0 headers and headers from the \fBcrypto\fR library.
250 Whenever you need hard-core details on the internals of the \s-1SSL\s0 \s-1API\s0, look
251 inside this header file.
253 That's the sub header file dealing with the SSLv2 protocol only.
254 \fIUsually you don't have to include it explicitly because
255 it's already included by ssl.h\fR.
257 That's the sub header file dealing with the SSLv3 protocol only.
258 \fIUsually you don't have to include it explicitly because
259 it's already included by ssl.h\fR.
260 .Ip "\fBssl23.h\fR" 4
261 That's the sub header file dealing with the combined use of the SSLv2 and
263 \fIUsually you don't have to include it explicitly because
264 it's already included by ssl.h\fR.
266 That's the sub header file dealing with the TLSv1 protocol only.
267 \fIUsually you don't have to include it explicitly because
268 it's already included by ssl.h\fR.
270 Currently the OpenSSL \fBssl\fR library exports 214 API functions.
271 They are documented in the following:
272 .Sh "\s-1DEALING\s0 \s-1WITH\s0 \s-1PROTOCOL\s0 \s-1METHODS\s0"
273 Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0
274 protocol methods defined in \fB\s-1SSL_METHOD\s0\fR structures.
275 .Ip "\s-1SSL_METHOD\s0 *\fBSSLv2_client_method\fR(void);" 4
276 Constructor for the SSLv2 \s-1SSL_METHOD\s0 structure for a dedicated client.
277 .Ip "\s-1SSL_METHOD\s0 *\fBSSLv2_server_method\fR(void);" 4
278 Constructor for the SSLv2 \s-1SSL_METHOD\s0 structure for a dedicated server.
279 .Ip "\s-1SSL_METHOD\s0 *\fBSSLv2_method\fR(void);" 4
280 Constructor for the SSLv2 \s-1SSL_METHOD\s0 structure for combined client and server.
281 .Ip "\s-1SSL_METHOD\s0 *\fBSSLv3_client_method\fR(void);" 4
282 Constructor for the SSLv3 \s-1SSL_METHOD\s0 structure for a dedicated client.
283 .Ip "\s-1SSL_METHOD\s0 *\fBSSLv3_server_method\fR(void);" 4
284 Constructor for the SSLv3 \s-1SSL_METHOD\s0 structure for a dedicated server.
285 .Ip "\s-1SSL_METHOD\s0 *\fBSSLv3_method\fR(void);" 4
286 Constructor for the SSLv3 \s-1SSL_METHOD\s0 structure for combined client and server.
287 .Ip "\s-1SSL_METHOD\s0 *\fBTLSv1_client_method\fR(void);" 4
288 Constructor for the TLSv1 \s-1SSL_METHOD\s0 structure for a dedicated client.
289 .Ip "\s-1SSL_METHOD\s0 *\fBTLSv1_server_method\fR(void);" 4
290 Constructor for the TLSv1 \s-1SSL_METHOD\s0 structure for a dedicated server.
291 .Ip "\s-1SSL_METHOD\s0 *\fBTLSv1_method\fR(void);" 4
292 Constructor for the TLSv1 \s-1SSL_METHOD\s0 structure for combined client and server.
293 .Sh "\s-1DEALING\s0 \s-1WITH\s0 \s-1CIPHERS\s0"
294 Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0
295 ciphers defined in \fB\s-1SSL_CIPHER\s0\fR structures.
296 .Ip "char *\fBSSL_CIPHER_description\fR(\s-1SSL_CIPHER\s0 *cipher, char *buf, int len);" 4
297 Write a string to \fIbuf\fR (with a maximum size of \fIlen\fR) containing a human
298 readable description of \fIcipher\fR. Returns \fIbuf\fR.
299 .Ip "int \fBSSL_CIPHER_get_bits\fR(\s-1SSL_CIPHER\s0 *cipher, int *alg_bits);" 4
300 Determine the number of bits in \fIcipher\fR. Because of export crippled ciphers
301 there are two bits: The bits the algorithm supports in general (stored to
302 \fIalg_bits\fR) and the bits which are actually used (the return value).
303 .Ip "const char *\fBSSL_CIPHER_get_name\fR(\s-1SSL_CIPHER\s0 *cipher);" 4
304 Return the internal name of \fIcipher\fR as a string. These are the various
305 strings defined by the \fISSL2_TXT_xxx\fR, \fISSL3_TXT_xxx\fR and \fITLS1_TXT_xxx\fR
306 definitions in the header files.
307 .Ip "char *\fBSSL_CIPHER_get_version\fR(\s-1SSL_CIPHER\s0 *cipher);" 4
308 Returns a string like \*(L"\f(CWTLSv1/SSLv3\fR\*(R" or \*(L"\f(CWSSLv2\fR\*(R" which indicates the
309 \s-1SSL/TLS\s0 protocol version to which \fIcipher\fR belongs (i.e. where it was defined
310 in the specification the first time).
311 .Sh "\s-1DEALING\s0 \s-1WITH\s0 \s-1PROTOCOL\s0 \s-1CONTEXTS\s0"
312 Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0
313 protocol context defined in the \fB\s-1SSL_CTX\s0\fR structure.
314 .Ip "int \fBSSL_CTX_add_client_CA\fR(\s-1SSL_CTX\s0 *ctx, X509 *x);" 4
315 .Ip "long \fBSSL_CTX_add_extra_chain_cert\fR(\s-1SSL_CTX\s0 *ctx, X509 *x509);" 4
316 .Ip "int \fBSSL_CTX_add_session\fR(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *c);" 4
317 .Ip "int \fBSSL_CTX_check_private_key\fR(\s-1SSL_CTX\s0 *ctx);" 4
318 .Ip "long \fBSSL_CTX_ctrl\fR(\s-1SSL_CTX\s0 *ctx, int cmd, long larg, char *parg);" 4
319 .Ip "void \fBSSL_CTX_flush_sessions\fR(\s-1SSL_CTX\s0 *s, long t);" 4
320 .Ip "void \fBSSL_CTX_free\fR(\s-1SSL_CTX\s0 *a);" 4
321 .Ip "char *\fBSSL_CTX_get_app_data\fR(\s-1SSL_CTX\s0 *ctx);" 4
322 .Ip "X509_STORE *\fBSSL_CTX_get_cert_store\fR(\s-1SSL_CTX\s0 *ctx);" 4
323 .Ip "\s-1STACK\s0 *\fBSSL_CTX_get_client_CA_list\fR(\s-1SSL_CTX\s0 *ctx);" 4
324 .Ip "int (*\fBSSL_CTX_get_client_cert_cb\fR(\s-1SSL_CTX\s0 *ctx))(\s-1SSL\s0 *ssl, X509 **x509, \s-1EVP_PKEY\s0 **pkey);" 4
325 .Ip "char *\fBSSL_CTX_get_ex_data\fR(\s-1SSL_CTX\s0 *s, int idx);" 4
326 .Ip "int \fBSSL_CTX_get_ex_new_index\fR(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))" 4
327 .Ip "void (*\fBSSL_CTX_get_info_callback\fR(\s-1SSL_CTX\s0 *ctx))(\s-1SSL\s0 *ssl, int cb, int ret);" 4
328 .Ip "int \fBSSL_CTX_get_quiet_shutdown\fR(\s-1SSL_CTX\s0 *ctx);" 4
329 .Ip "int \fBSSL_CTX_get_session_cache_mode\fR(\s-1SSL_CTX\s0 *ctx);" 4
330 .Ip "long \fBSSL_CTX_get_timeout\fR(\s-1SSL_CTX\s0 *ctx);" 4
331 .Ip "int (*\fBSSL_CTX_get_verify_callback\fR(\s-1SSL_CTX\s0 *ctx))(int ok, X509_STORE_CTX *ctx);" 4
332 .Ip "int \fBSSL_CTX_get_verify_mode\fR(\s-1SSL_CTX\s0 *ctx);" 4
333 .Ip "int \fBSSL_CTX_load_verify_locations\fR(\s-1SSL_CTX\s0 *ctx, char *CAfile, char *CApath);" 4
334 .Ip "long \fBSSL_CTX_need_tmp_RSA\fR(\s-1SSL_CTX\s0 *ctx);" 4
335 .Ip "\s-1SSL_CTX\s0 *\fBSSL_CTX_new\fR(\s-1SSL_METHOD\s0 *meth);" 4
336 .Ip "int \fBSSL_CTX_remove_session\fR(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *c);" 4
337 .Ip "int \fBSSL_CTX_sess_accept\fR(\s-1SSL_CTX\s0 *ctx);" 4
338 .Ip "int \fBSSL_CTX_sess_accept_good\fR(\s-1SSL_CTX\s0 *ctx);" 4
339 .Ip "int \fBSSL_CTX_sess_accept_renegotiate\fR(\s-1SSL_CTX\s0 *ctx);" 4
340 .Ip "int \fBSSL_CTX_sess_cache_full\fR(\s-1SSL_CTX\s0 *ctx);" 4
341 .Ip "int \fBSSL_CTX_sess_cb_hits\fR(\s-1SSL_CTX\s0 *ctx);" 4
342 .Ip "int \fBSSL_CTX_sess_connect\fR(\s-1SSL_CTX\s0 *ctx);" 4
343 .Ip "int \fBSSL_CTX_sess_connect_good\fR(\s-1SSL_CTX\s0 *ctx);" 4
344 .Ip "int \fBSSL_CTX_sess_connect_renegotiate\fR(\s-1SSL_CTX\s0 *ctx);" 4
345 .Ip "int \fBSSL_CTX_sess_get_cache_size\fR(\s-1SSL_CTX\s0 *ctx);" 4
346 .Ip "\s-1SSL_SESSION\s0 *(*\fBSSL_CTX_sess_get_get_cb\fR(\s-1SSL_CTX\s0 *ctx))(\s-1SSL\s0 *ssl, unsigned char *data, int len, int *copy);" 4
347 .Ip "int (*\fBSSL_CTX_sess_get_new_cb\fR(\s-1SSL_CTX\s0 *ctx)(\s-1SSL\s0 *ssl, \s-1SSL_SESSION\s0 *sess);" 4
348 .Ip "void (*\fBSSL_CTX_sess_get_remove_cb\fR(\s-1SSL_CTX\s0 *ctx)(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *sess);" 4
349 .Ip "int \fBSSL_CTX_sess_hits\fR(\s-1SSL_CTX\s0 *ctx);" 4
350 .Ip "int \fBSSL_CTX_sess_misses\fR(\s-1SSL_CTX\s0 *ctx);" 4
351 .Ip "int \fBSSL_CTX_sess_number\fR(\s-1SSL_CTX\s0 *ctx);" 4
352 .Ip "void \fBSSL_CTX_sess_set_cache_size\fR(\s-1SSL_CTX\s0 *ctx,t);" 4
353 .Ip "void \fBSSL_CTX_sess_set_get_cb\fR(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *(*cb)(\s-1SSL\s0 *ssl, unsigned char *data, int len, int *copy));" 4
354 .Ip "void \fBSSL_CTX_sess_set_new_cb\fR(\s-1SSL_CTX\s0 *ctx, int (*cb)(\s-1SSL\s0 *ssl, \s-1SSL_SESSION\s0 *sess));" 4
355 .Ip "void \fBSSL_CTX_sess_set_remove_cb\fR(\s-1SSL_CTX\s0 *ctx, void (*cb)(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *sess));" 4
356 .Ip "int \fBSSL_CTX_sess_timeouts\fR(\s-1SSL_CTX\s0 *ctx);" 4
357 .Ip "\s-1LHASH\s0 *\fBSSL_CTX_sessions\fR(\s-1SSL_CTX\s0 *ctx);" 4
358 .Ip "void \fBSSL_CTX_set_app_data\fR(\s-1SSL_CTX\s0 *ctx, void *arg);" 4
359 .Ip "void \fBSSL_CTX_set_cert_store\fR(\s-1SSL_CTX\s0 *ctx, X509_STORE *cs);" 4
360 .Ip "void \fBSSL_CTX_set_cert_verify_cb\fR(\s-1SSL_CTX\s0 *ctx, int (*cb)(), char *arg)" 4
361 .Ip "int \fBSSL_CTX_set_cipher_list\fR(\s-1SSL_CTX\s0 *ctx, char *str);" 4
362 .Ip "void \fBSSL_CTX_set_client_CA_list\fR(\s-1SSL_CTX\s0 *ctx, \s-1STACK\s0 *list);" 4
363 .Ip "void \fBSSL_CTX_set_client_cert_cb\fR(\s-1SSL_CTX\s0 *ctx, int (*cb)(\s-1SSL\s0 *ssl, X509 **x509, \s-1EVP_PKEY\s0 **pkey));" 4
364 .Ip "void \fBSSL_CTX_set_default_passwd_cb\fR(\s-1SSL_CTX\s0 *ctx, int (*cb);(void))" 4
365 .Ip "void \fBSSL_CTX_set_default_read_ahead\fR(\s-1SSL_CTX\s0 *ctx, int m);" 4
366 .Ip "int \fBSSL_CTX_set_default_verify_paths\fR(\s-1SSL_CTX\s0 *ctx);" 4
367 .Ip "int \fBSSL_CTX_set_ex_data\fR(\s-1SSL_CTX\s0 *s, int idx, char *arg);" 4
368 .Ip "void \fBSSL_CTX_set_info_callback\fR(\s-1SSL_CTX\s0 *ctx, void (*cb)(\s-1SSL\s0 *ssl, int cb, int ret));" 4
369 .Ip "void \fBSSL_CTX_set_msg_callback\fR(\s-1SSL_CTX\s0 *ctx, void (*cb)(int write_p, int version, int content_type, const void *buf, size_t len, \s-1SSL\s0 *ssl, void *arg));" 4
370 .Ip "void \fBSSL_CTX_set_msg_callback_arg\fR(\s-1SSL_CTX\s0 *ctx, void *arg);" 4
371 .Ip "void \fBSSL_CTX_set_options\fR(\s-1SSL_CTX\s0 *ctx, unsigned long op);" 4
372 .Ip "void \fBSSL_CTX_set_quiet_shutdown\fR(\s-1SSL_CTX\s0 *ctx, int mode);" 4
373 .Ip "void \fBSSL_CTX_set_session_cache_mode\fR(\s-1SSL_CTX\s0 *ctx, int mode);" 4
374 .Ip "int \fBSSL_CTX_set_ssl_version\fR(\s-1SSL_CTX\s0 *ctx, \s-1SSL_METHOD\s0 *meth);" 4
375 .Ip "void \fBSSL_CTX_set_timeout\fR(\s-1SSL_CTX\s0 *ctx, long t);" 4
376 .Ip "long \fBSSL_CTX_set_tmp_dh\fR(\s-1SSL_CTX\s0* ctx, \s-1DH\s0 *dh);" 4
377 .Ip "long \fBSSL_CTX_set_tmp_dh_callback\fR(\s-1SSL_CTX\s0 *ctx, \s-1DH\s0 *(*cb)(void));" 4
378 .Ip "long \fBSSL_CTX_set_tmp_rsa\fR(\s-1SSL_CTX\s0 *ctx, \s-1RSA\s0 *rsa);" 4
379 .Ip "SSL_CTX_set_tmp_rsa_callback" 4
380 \f(CWlong \fBSSL_CTX_set_tmp_rsa_callback\fR(SSL_CTX *\fBctx\fR, RSA *(*\fBcb\fR)(SSL *\fBssl\fR, int \fBexport\fR, int \fBkeylength\fR));\fR
382 Sets the callback which will be called when a temporary private key is
383 required. The \fB\f(CWexport\fR\fR flag will be set if the reason for needing
384 a temp key is that an export ciphersuite is in use, in which case,
385 \fB\f(CWkeylength\fR\fR will contain the required keylength in bits. Generate a key of
386 appropriate size (using ???) and return it.
387 .Ip "SSL_set_tmp_rsa_callback" 4
388 long \fBSSL_set_tmp_rsa_callback\fR(\s-1SSL\s0 *ssl, \s-1RSA\s0 *(*cb)(\s-1SSL\s0 *ssl, int export, int keylength));
390 The same as \fBSSL_CTX_set_tmp_rsa_callback\fR, except it operates on an \s-1SSL\s0
391 session instead of a context.
392 .Ip "void \fBSSL_CTX_set_verify\fR(\s-1SSL_CTX\s0 *ctx, int mode, int (*cb);(void))" 4
393 .Ip "int \fBSSL_CTX_use_PrivateKey\fR(\s-1SSL_CTX\s0 *ctx, \s-1EVP_PKEY\s0 *pkey);" 4
394 .Ip "int \fBSSL_CTX_use_PrivateKey_ASN1\fR(int type, \s-1SSL_CTX\s0 *ctx, unsigned char *d, long len);" 4
395 .Ip "int \fBSSL_CTX_use_PrivateKey_file\fR(\s-1SSL_CTX\s0 *ctx, char *file, int type);" 4
396 .Ip "int \fBSSL_CTX_use_RSAPrivateKey\fR(\s-1SSL_CTX\s0 *ctx, \s-1RSA\s0 *rsa);" 4
397 .Ip "int \fBSSL_CTX_use_RSAPrivateKey_ASN1\fR(\s-1SSL_CTX\s0 *ctx, unsigned char *d, long len);" 4
398 .Ip "int \fBSSL_CTX_use_RSAPrivateKey_file\fR(\s-1SSL_CTX\s0 *ctx, char *file, int type);" 4
399 .Ip "int \fBSSL_CTX_use_certificate\fR(\s-1SSL_CTX\s0 *ctx, X509 *x);" 4
400 .Ip "int \fBSSL_CTX_use_certificate_ASN1\fR(\s-1SSL_CTX\s0 *ctx, int len, unsigned char *d);" 4
401 .Ip "int \fBSSL_CTX_use_certificate_file\fR(\s-1SSL_CTX\s0 *ctx, char *file, int type);" 4
402 .Sh "\s-1DEALING\s0 \s-1WITH\s0 \s-1SESSIONS\s0"
403 Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0
404 sessions defined in the \fB\s-1SSL_SESSION\s0\fR structures.
405 .Ip "int \fBSSL_SESSION_cmp\fR(\s-1SSL_SESSION\s0 *a, \s-1SSL_SESSION\s0 *b);" 4
406 .Ip "void \fBSSL_SESSION_free\fR(\s-1SSL_SESSION\s0 *ss);" 4
407 .Ip "char *\fBSSL_SESSION_get_app_data\fR(\s-1SSL_SESSION\s0 *s);" 4
408 .Ip "char *\fBSSL_SESSION_get_ex_data\fR(\s-1SSL_SESSION\s0 *s, int idx);" 4
409 .Ip "int \fBSSL_SESSION_get_ex_new_index\fR(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))" 4
410 .Ip "long \fBSSL_SESSION_get_time\fR(\s-1SSL_SESSION\s0 *s);" 4
411 .Ip "long \fBSSL_SESSION_get_timeout\fR(\s-1SSL_SESSION\s0 *s);" 4
412 .Ip "unsigned long \fBSSL_SESSION_hash\fR(\s-1SSL_SESSION\s0 *a);" 4
413 .Ip "\s-1SSL_SESSION\s0 *\fBSSL_SESSION_new\fR(void);" 4
414 .Ip "int \fBSSL_SESSION_print\fR(\s-1BIO\s0 *bp, \s-1SSL_SESSION\s0 *x);" 4
415 .Ip "int \fBSSL_SESSION_print_fp\fR(\s-1FILE\s0 *fp, \s-1SSL_SESSION\s0 *x);" 4
416 .Ip "void \fBSSL_SESSION_set_app_data\fR(\s-1SSL_SESSION\s0 *s, char *a);" 4
417 .Ip "int \fBSSL_SESSION_set_ex_data\fR(\s-1SSL_SESSION\s0 *s, int idx, char *arg);" 4
418 .Ip "long \fBSSL_SESSION_set_time\fR(\s-1SSL_SESSION\s0 *s, long t);" 4
419 .Ip "long \fBSSL_SESSION_set_timeout\fR(\s-1SSL_SESSION\s0 *s, long t);" 4
420 .Sh "\s-1DEALING\s0 \s-1WITH\s0 \s-1CONNECTIONS\s0"
421 Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0
422 connection defined in the \fB\s-1SSL\s0\fR structure.
423 .Ip "int \fBSSL_accept\fR(\s-1SSL\s0 *ssl);" 4
424 .Ip "int \fBSSL_add_dir_cert_subjects_to_stack\fR(\s-1STACK\s0 *stack, const char *dir);" 4
425 .Ip "int \fBSSL_add_file_cert_subjects_to_stack\fR(\s-1STACK\s0 *stack, const char *file);" 4
426 .Ip "int \fBSSL_add_client_CA\fR(\s-1SSL\s0 *ssl, X509 *x);" 4
427 .Ip "char *\fBSSL_alert_desc_string\fR(int value);" 4
428 .Ip "char *\fBSSL_alert_desc_string_long\fR(int value);" 4
429 .Ip "char *\fBSSL_alert_type_string\fR(int value);" 4
430 .Ip "char *\fBSSL_alert_type_string_long\fR(int value);" 4
431 .Ip "int \fBSSL_check_private_key\fR(\s-1SSL\s0 *ssl);" 4
432 .Ip "void \fBSSL_clear\fR(\s-1SSL\s0 *ssl);" 4
433 .Ip "long \fBSSL_clear_num_renegotiations\fR(\s-1SSL\s0 *ssl);" 4
434 .Ip "int \fBSSL_connect\fR(\s-1SSL\s0 *ssl);" 4
435 .Ip "void \fBSSL_copy_session_id\fR(\s-1SSL\s0 *t, \s-1SSL\s0 *f);" 4
436 .Ip "long \fBSSL_ctrl\fR(\s-1SSL\s0 *ssl, int cmd, long larg, char *parg);" 4
437 .Ip "int \fBSSL_do_handshake\fR(\s-1SSL\s0 *ssl);" 4
438 .Ip "\s-1SSL\s0 *\fBSSL_dup\fR(\s-1SSL\s0 *ssl);" 4
439 .Ip "\s-1STACK\s0 *\fBSSL_dup_CA_list\fR(\s-1STACK\s0 *sk);" 4
440 .Ip "void \fBSSL_free\fR(\s-1SSL\s0 *ssl);" 4
441 .Ip "\s-1SSL_CTX\s0 *\fBSSL_get_SSL_CTX\fR(\s-1SSL\s0 *ssl);" 4
442 .Ip "char *\fBSSL_get_app_data\fR(\s-1SSL\s0 *ssl);" 4
443 .Ip "X509 *\fBSSL_get_certificate\fR(\s-1SSL\s0 *ssl);" 4
444 .Ip "const char *\fBSSL_get_cipher\fR(\s-1SSL\s0 *ssl);" 4
445 .Ip "int \fBSSL_get_cipher_bits\fR(\s-1SSL\s0 *ssl, int *alg_bits);" 4
446 .Ip "char *\fBSSL_get_cipher_list\fR(\s-1SSL\s0 *ssl, int n);" 4
447 .Ip "char *\fBSSL_get_cipher_name\fR(\s-1SSL\s0 *ssl);" 4
448 .Ip "char *\fBSSL_get_cipher_version\fR(\s-1SSL\s0 *ssl);" 4
449 .Ip "\s-1STACK\s0 *\fBSSL_get_ciphers\fR(\s-1SSL\s0 *ssl);" 4
450 .Ip "\s-1STACK\s0 *\fBSSL_get_client_CA_list\fR(\s-1SSL\s0 *ssl);" 4
451 .Ip "\s-1SSL_CIPHER\s0 *\fBSSL_get_current_cipher\fR(\s-1SSL\s0 *ssl);" 4
452 .Ip "long \fBSSL_get_default_timeout\fR(\s-1SSL\s0 *ssl);" 4
453 .Ip "int \fBSSL_get_error\fR(\s-1SSL\s0 *ssl, int i);" 4
454 .Ip "char *\fBSSL_get_ex_data\fR(\s-1SSL\s0 *ssl, int idx);" 4
455 .Ip "int \fBSSL_get_ex_data_X509_STORE_CTX_idx\fR(void);" 4
456 .Ip "int \fBSSL_get_ex_new_index\fR(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))" 4
457 .Ip "int \fBSSL_get_fd\fR(\s-1SSL\s0 *ssl);" 4
458 .Ip "void (*\fBSSL_get_info_callback\fR(\s-1SSL\s0 *ssl);)(void)" 4
459 .Ip "\s-1STACK\s0 *\fBSSL_get_peer_cert_chain\fR(\s-1SSL\s0 *ssl);" 4
460 .Ip "X509 *\fBSSL_get_peer_certificate\fR(\s-1SSL\s0 *ssl);" 4
461 .Ip "\s-1EVP_PKEY\s0 *\fBSSL_get_privatekey\fR(\s-1SSL\s0 *ssl);" 4
462 .Ip "int \fBSSL_get_quiet_shutdown\fR(\s-1SSL\s0 *ssl);" 4
463 .Ip "\s-1BIO\s0 *\fBSSL_get_rbio\fR(\s-1SSL\s0 *ssl);" 4
464 .Ip "int \fBSSL_get_read_ahead\fR(\s-1SSL\s0 *ssl);" 4
465 .Ip "\s-1SSL_SESSION\s0 *\fBSSL_get_session\fR(\s-1SSL\s0 *ssl);" 4
466 .Ip "char *\fBSSL_get_shared_ciphers\fR(\s-1SSL\s0 *ssl, char *buf, int len);" 4
467 .Ip "int \fBSSL_get_shutdown\fR(\s-1SSL\s0 *ssl);" 4
468 .Ip "\s-1SSL_METHOD\s0 *\fBSSL_get_ssl_method\fR(\s-1SSL\s0 *ssl);" 4
469 .Ip "int \fBSSL_get_state\fR(\s-1SSL\s0 *ssl);" 4
470 .Ip "long \fBSSL_get_time\fR(\s-1SSL\s0 *ssl);" 4
471 .Ip "long \fBSSL_get_timeout\fR(\s-1SSL\s0 *ssl);" 4
472 .Ip "int (*\fBSSL_get_verify_callback\fR(\s-1SSL\s0 *ssl);)(void)" 4
473 .Ip "int \fBSSL_get_verify_mode\fR(\s-1SSL\s0 *ssl);" 4
474 .Ip "long \fBSSL_get_verify_result\fR(\s-1SSL\s0 *ssl);" 4
475 .Ip "char *\fBSSL_get_version\fR(\s-1SSL\s0 *ssl);" 4
476 .Ip "\s-1BIO\s0 *\fBSSL_get_wbio\fR(\s-1SSL\s0 *ssl);" 4
477 .Ip "int \fBSSL_in_accept_init\fR(\s-1SSL\s0 *ssl);" 4
478 .Ip "int \fBSSL_in_before\fR(\s-1SSL\s0 *ssl);" 4
479 .Ip "int \fBSSL_in_connect_init\fR(\s-1SSL\s0 *ssl);" 4
480 .Ip "int \fBSSL_in_init\fR(\s-1SSL\s0 *ssl);" 4
481 .Ip "int \fBSSL_is_init_finished\fR(\s-1SSL\s0 *ssl);" 4
482 .Ip "\s-1STACK\s0 *\fBSSL_load_client_CA_file\fR(char *file);" 4
483 .Ip "void \fBSSL_load_error_strings\fR(void);" 4
484 .Ip "\s-1SSL\s0 *\fBSSL_new\fR(\s-1SSL_CTX\s0 *ctx);" 4
485 .Ip "long \fBSSL_num_renegotiations\fR(\s-1SSL\s0 *ssl);" 4
486 .Ip "int \fBSSL_peek\fR(\s-1SSL\s0 *ssl, void *buf, int num);" 4
487 .Ip "int \fBSSL_pending\fR(\s-1SSL\s0 *ssl);" 4
488 .Ip "int \fBSSL_read\fR(\s-1SSL\s0 *ssl, void *buf, int num);" 4
489 .Ip "int \fBSSL_renegotiate\fR(\s-1SSL\s0 *ssl);" 4
490 .Ip "char *\fBSSL_rstate_string\fR(\s-1SSL\s0 *ssl);" 4
491 .Ip "char *\fBSSL_rstate_string_long\fR(\s-1SSL\s0 *ssl);" 4
492 .Ip "long \fBSSL_session_reused\fR(\s-1SSL\s0 *ssl);" 4
493 .Ip "void \fBSSL_set_accept_state\fR(\s-1SSL\s0 *ssl);" 4
494 .Ip "void \fBSSL_set_app_data\fR(\s-1SSL\s0 *ssl, char *arg);" 4
495 .Ip "void \fBSSL_set_bio\fR(\s-1SSL\s0 *ssl, \s-1BIO\s0 *rbio, \s-1BIO\s0 *wbio);" 4
496 .Ip "int \fBSSL_set_cipher_list\fR(\s-1SSL\s0 *ssl, char *str);" 4
497 .Ip "void \fBSSL_set_client_CA_list\fR(\s-1SSL\s0 *ssl, \s-1STACK\s0 *list);" 4
498 .Ip "void \fBSSL_set_connect_state\fR(\s-1SSL\s0 *ssl);" 4
499 .Ip "int \fBSSL_set_ex_data\fR(\s-1SSL\s0 *ssl, int idx, char *arg);" 4
500 .Ip "int \fBSSL_set_fd\fR(\s-1SSL\s0 *ssl, int fd);" 4
501 .Ip "void \fBSSL_set_info_callback\fR(\s-1SSL\s0 *ssl, void (*cb);(void))" 4
502 .Ip "void \fBSSL_set_msg_callback\fR(\s-1SSL\s0 *ctx, void (*cb)(int write_p, int version, int content_type, const void *buf, size_t len, \s-1SSL\s0 *ssl, void *arg));" 4
503 .Ip "void \fBSSL_set_msg_callback_arg\fR(\s-1SSL\s0 *ctx, void *arg);" 4
504 .Ip "void \fBSSL_set_options\fR(\s-1SSL\s0 *ssl, unsigned long op);" 4
505 .Ip "void \fBSSL_set_quiet_shutdown\fR(\s-1SSL\s0 *ssl, int mode);" 4
506 .Ip "void \fBSSL_set_read_ahead\fR(\s-1SSL\s0 *ssl, int yes);" 4
507 .Ip "int \fBSSL_set_rfd\fR(\s-1SSL\s0 *ssl, int fd);" 4
508 .Ip "int \fBSSL_set_session\fR(\s-1SSL\s0 *ssl, \s-1SSL_SESSION\s0 *session);" 4
509 .Ip "void \fBSSL_set_shutdown\fR(\s-1SSL\s0 *ssl, int mode);" 4
510 .Ip "int \fBSSL_set_ssl_method\fR(\s-1SSL\s0 *ssl, \s-1SSL_METHOD\s0 *meth);" 4
511 .Ip "void \fBSSL_set_time\fR(\s-1SSL\s0 *ssl, long t);" 4
512 .Ip "void \fBSSL_set_timeout\fR(\s-1SSL\s0 *ssl, long t);" 4
513 .Ip "void \fBSSL_set_verify\fR(\s-1SSL\s0 *ssl, int mode, int (*callback);(void))" 4
514 .Ip "void \fBSSL_set_verify_result\fR(\s-1SSL\s0 *ssl, long arg);" 4
515 .Ip "int \fBSSL_set_wfd\fR(\s-1SSL\s0 *ssl, int fd);" 4
516 .Ip "int \fBSSL_shutdown\fR(\s-1SSL\s0 *ssl);" 4
517 .Ip "int \fBSSL_state\fR(\s-1SSL\s0 *ssl);" 4
518 .Ip "char *\fBSSL_state_string\fR(\s-1SSL\s0 *ssl);" 4
519 .Ip "char *\fBSSL_state_string_long\fR(\s-1SSL\s0 *ssl);" 4
520 .Ip "long \fBSSL_total_renegotiations\fR(\s-1SSL\s0 *ssl);" 4
521 .Ip "int \fBSSL_use_PrivateKey\fR(\s-1SSL\s0 *ssl, \s-1EVP_PKEY\s0 *pkey);" 4
522 .Ip "int \fBSSL_use_PrivateKey_ASN1\fR(int type, \s-1SSL\s0 *ssl, unsigned char *d, long len);" 4
523 .Ip "int \fBSSL_use_PrivateKey_file\fR(\s-1SSL\s0 *ssl, char *file, int type);" 4
524 .Ip "int \fBSSL_use_RSAPrivateKey\fR(\s-1SSL\s0 *ssl, \s-1RSA\s0 *rsa);" 4
525 .Ip "int \fBSSL_use_RSAPrivateKey_ASN1\fR(\s-1SSL\s0 *ssl, unsigned char *d, long len);" 4
526 .Ip "int \fBSSL_use_RSAPrivateKey_file\fR(\s-1SSL\s0 *ssl, char *file, int type);" 4
527 .Ip "int \fBSSL_use_certificate\fR(\s-1SSL\s0 *ssl, X509 *x);" 4
528 .Ip "int \fBSSL_use_certificate_ASN1\fR(\s-1SSL\s0 *ssl, int len, unsigned char *d);" 4
529 .Ip "int \fBSSL_use_certificate_file\fR(\s-1SSL\s0 *ssl, char *file, int type);" 4
530 .Ip "int \fBSSL_version\fR(\s-1SSL\s0 *ssl);" 4
531 .Ip "int \fBSSL_want\fR(\s-1SSL\s0 *ssl);" 4
532 .Ip "int \fBSSL_want_nothing\fR(\s-1SSL\s0 *ssl);" 4
533 .Ip "int \fBSSL_want_read\fR(\s-1SSL\s0 *ssl);" 4
534 .Ip "int \fBSSL_want_write\fR(\s-1SSL\s0 *ssl);" 4
535 .Ip "int \fBSSL_want_x509_lookup\fR(s);" 4
536 .Ip "int \fBSSL_write\fR(\s-1SSL\s0 *ssl, const void *buf, int num);" 4
538 openssl(1), crypto(3),
539 SSL_accept(3), SSL_clear(3),
541 SSL_CIPHER_get_name(3),
542 SSL_COMP_add_compression_method(3),
543 SSL_CTX_add_extra_chain_cert(3),
544 SSL_CTX_add_session(3),
546 SSL_CTX_flush_sessions(3),
547 SSL_CTX_get_ex_new_index(3),
548 SSL_CTX_get_verify_mode(3),
549 SSL_CTX_load_verify_locations(3)
551 SSL_CTX_sess_number(3),
552 SSL_CTX_sess_set_cache_size(3),
553 SSL_CTX_sess_set_get_cb(3),
555 SSL_CTX_set_cert_store(3),
556 SSL_CTX_set_cert_verify_callback(3),
557 SSL_CTX_set_cipher_list(3),
558 SSL_CTX_set_client_CA_list(3),
559 SSL_CTX_set_client_cert_cb(3),
560 SSL_CTX_set_default_passwd_cb(3),
561 SSL_CTX_set_generate_session_id(3),
562 SSL_CTX_set_info_callback(3),
563 SSL_CTX_set_max_cert_list(3),
565 SSL_CTX_set_msg_callback(3),
566 SSL_CTX_set_options(3),
567 SSL_CTX_set_quiet_shutdown(3),
568 SSL_CTX_set_session_cache_mode(3),
569 SSL_CTX_set_session_id_context(3),
570 SSL_CTX_set_ssl_version(3),
571 SSL_CTX_set_timeout(3),
572 SSL_CTX_set_tmp_rsa_callback(3),
573 SSL_CTX_set_tmp_dh_callback(3),
574 SSL_CTX_set_verify(3),
575 SSL_CTX_use_certificate(3),
576 SSL_alert_type_string(3),
580 SSL_get_client_CA_list(3),
581 SSL_get_default_timeout(3),
583 SSL_get_ex_data_X509_STORE_CTX_idx(3),
584 SSL_get_ex_new_index(3),
586 SSL_get_peer_cert_chain(3),
589 SSL_get_verify_result(3),
592 SSL_load_client_CA_file(3),
596 SSL_rstate_string(3),
597 SSL_session_reused(3),
599 SSL_set_connect_state(3),
608 SSL_SESSION_get_ex_new_index(3),
609 SSL_SESSION_get_time(3),
612 The ssl(3) document appeared in OpenSSL 0.9.2
616 .IX Name "SSL - OpenSSL SSL/TLS library"
620 .IX Header "SYNOPSIS"
622 .IX Header "DESCRIPTION"
624 .IX Header "DATA STRUCTURES"
626 .IX Item "\fB\s-1SSL_METHOD\s0\fR (\s-1SSL\s0 Method)"
628 .IX Item "\fB\s-1SSL_CIPHER\s0\fR (\s-1SSL\s0 Cipher)"
630 .IX Item "\fB\s-1SSL_CTX\s0\fR (\s-1SSL\s0 Context)"
632 .IX Item "\fB\s-1SSL_SESSION\s0\fR (\s-1SSL\s0 Session)"
634 .IX Item "\fB\s-1SSL\s0\fR (\s-1SSL\s0 Connection)"
636 .IX Header "HEADER FILES"
638 .IX Item "\fBssl.h\fR"
640 .IX Item "\fBssl2.h\fR"
642 .IX Item "\fBssl3.h\fR"
644 .IX Item "\fBssl23.h\fR"
646 .IX Item "\fBtls1.h\fR"
648 .IX Header "API FUNCTIONS"
650 .IX Subsection "\s-1DEALING\s0 \s-1WITH\s0 \s-1PROTOCOL\s0 \s-1METHODS\s0"
652 .IX Item "\s-1SSL_METHOD\s0 *\fBSSLv2_client_method\fR(void);"
654 .IX Item "\s-1SSL_METHOD\s0 *\fBSSLv2_server_method\fR(void);"
656 .IX Item "\s-1SSL_METHOD\s0 *\fBSSLv2_method\fR(void);"
658 .IX Item "\s-1SSL_METHOD\s0 *\fBSSLv3_client_method\fR(void);"
660 .IX Item "\s-1SSL_METHOD\s0 *\fBSSLv3_server_method\fR(void);"
662 .IX Item "\s-1SSL_METHOD\s0 *\fBSSLv3_method\fR(void);"
664 .IX Item "\s-1SSL_METHOD\s0 *\fBTLSv1_client_method\fR(void);"
666 .IX Item "\s-1SSL_METHOD\s0 *\fBTLSv1_server_method\fR(void);"
668 .IX Item "\s-1SSL_METHOD\s0 *\fBTLSv1_method\fR(void);"
670 .IX Subsection "\s-1DEALING\s0 \s-1WITH\s0 \s-1CIPHERS\s0"
672 .IX Item "char *\fBSSL_CIPHER_description\fR(\s-1SSL_CIPHER\s0 *cipher, char *buf, int len);"
674 .IX Item "int \fBSSL_CIPHER_get_bits\fR(\s-1SSL_CIPHER\s0 *cipher, int *alg_bits);"
676 .IX Item "const char *\fBSSL_CIPHER_get_name\fR(\s-1SSL_CIPHER\s0 *cipher);"
678 .IX Item "char *\fBSSL_CIPHER_get_version\fR(\s-1SSL_CIPHER\s0 *cipher);"
680 .IX Subsection "\s-1DEALING\s0 \s-1WITH\s0 \s-1PROTOCOL\s0 \s-1CONTEXTS\s0"
682 .IX Item "int \fBSSL_CTX_add_client_CA\fR(\s-1SSL_CTX\s0 *ctx, X509 *x);"
684 .IX Item "long \fBSSL_CTX_add_extra_chain_cert\fR(\s-1SSL_CTX\s0 *ctx, X509 *x509);"
686 .IX Item "int \fBSSL_CTX_add_session\fR(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *c);"
688 .IX Item "int \fBSSL_CTX_check_private_key\fR(\s-1SSL_CTX\s0 *ctx);"
690 .IX Item "long \fBSSL_CTX_ctrl\fR(\s-1SSL_CTX\s0 *ctx, int cmd, long larg, char *parg);"
692 .IX Item "void \fBSSL_CTX_flush_sessions\fR(\s-1SSL_CTX\s0 *s, long t);"
694 .IX Item "void \fBSSL_CTX_free\fR(\s-1SSL_CTX\s0 *a);"
696 .IX Item "char *\fBSSL_CTX_get_app_data\fR(\s-1SSL_CTX\s0 *ctx);"
698 .IX Item "X509_STORE *\fBSSL_CTX_get_cert_store\fR(\s-1SSL_CTX\s0 *ctx);"
700 .IX Item "\s-1STACK\s0 *\fBSSL_CTX_get_client_CA_list\fR(\s-1SSL_CTX\s0 *ctx);"
702 .IX Item "int (*\fBSSL_CTX_get_client_cert_cb\fR(\s-1SSL_CTX\s0 *ctx))(\s-1SSL\s0 *ssl, X509 **x509, \s-1EVP_PKEY\s0 **pkey);"
704 .IX Item "char *\fBSSL_CTX_get_ex_data\fR(\s-1SSL_CTX\s0 *s, int idx);"
706 .IX Item "int \fBSSL_CTX_get_ex_new_index\fR(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))"
708 .IX Item "void (*\fBSSL_CTX_get_info_callback\fR(\s-1SSL_CTX\s0 *ctx))(\s-1SSL\s0 *ssl, int cb, int ret);"
710 .IX Item "int \fBSSL_CTX_get_quiet_shutdown\fR(\s-1SSL_CTX\s0 *ctx);"
712 .IX Item "int \fBSSL_CTX_get_session_cache_mode\fR(\s-1SSL_CTX\s0 *ctx);"
714 .IX Item "long \fBSSL_CTX_get_timeout\fR(\s-1SSL_CTX\s0 *ctx);"
716 .IX Item "int (*\fBSSL_CTX_get_verify_callback\fR(\s-1SSL_CTX\s0 *ctx))(int ok, X509_STORE_CTX *ctx);"
718 .IX Item "int \fBSSL_CTX_get_verify_mode\fR(\s-1SSL_CTX\s0 *ctx);"
720 .IX Item "int \fBSSL_CTX_load_verify_locations\fR(\s-1SSL_CTX\s0 *ctx, char *CAfile, char *CApath);"
722 .IX Item "long \fBSSL_CTX_need_tmp_RSA\fR(\s-1SSL_CTX\s0 *ctx);"
724 .IX Item "\s-1SSL_CTX\s0 *\fBSSL_CTX_new\fR(\s-1SSL_METHOD\s0 *meth);"
726 .IX Item "int \fBSSL_CTX_remove_session\fR(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *c);"
728 .IX Item "int \fBSSL_CTX_sess_accept\fR(\s-1SSL_CTX\s0 *ctx);"
730 .IX Item "int \fBSSL_CTX_sess_accept_good\fR(\s-1SSL_CTX\s0 *ctx);"
732 .IX Item "int \fBSSL_CTX_sess_accept_renegotiate\fR(\s-1SSL_CTX\s0 *ctx);"
734 .IX Item "int \fBSSL_CTX_sess_cache_full\fR(\s-1SSL_CTX\s0 *ctx);"
736 .IX Item "int \fBSSL_CTX_sess_cb_hits\fR(\s-1SSL_CTX\s0 *ctx);"
738 .IX Item "int \fBSSL_CTX_sess_connect\fR(\s-1SSL_CTX\s0 *ctx);"
740 .IX Item "int \fBSSL_CTX_sess_connect_good\fR(\s-1SSL_CTX\s0 *ctx);"
742 .IX Item "int \fBSSL_CTX_sess_connect_renegotiate\fR(\s-1SSL_CTX\s0 *ctx);"
744 .IX Item "int \fBSSL_CTX_sess_get_cache_size\fR(\s-1SSL_CTX\s0 *ctx);"
746 .IX Item "\s-1SSL_SESSION\s0 *(*\fBSSL_CTX_sess_get_get_cb\fR(\s-1SSL_CTX\s0 *ctx))(\s-1SSL\s0 *ssl, unsigned char *data, int len, int *copy);"
748 .IX Item "int (*\fBSSL_CTX_sess_get_new_cb\fR(\s-1SSL_CTX\s0 *ctx)(\s-1SSL\s0 *ssl, \s-1SSL_SESSION\s0 *sess);"
750 .IX Item "void (*\fBSSL_CTX_sess_get_remove_cb\fR(\s-1SSL_CTX\s0 *ctx)(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *sess);"
752 .IX Item "int \fBSSL_CTX_sess_hits\fR(\s-1SSL_CTX\s0 *ctx);"
754 .IX Item "int \fBSSL_CTX_sess_misses\fR(\s-1SSL_CTX\s0 *ctx);"
756 .IX Item "int \fBSSL_CTX_sess_number\fR(\s-1SSL_CTX\s0 *ctx);"
758 .IX Item "void \fBSSL_CTX_sess_set_cache_size\fR(\s-1SSL_CTX\s0 *ctx,t);"
760 .IX Item "void \fBSSL_CTX_sess_set_get_cb\fR(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *(*cb)(\s-1SSL\s0 *ssl, unsigned char *data, int len, int *copy));"
762 .IX Item "void \fBSSL_CTX_sess_set_new_cb\fR(\s-1SSL_CTX\s0 *ctx, int (*cb)(\s-1SSL\s0 *ssl, \s-1SSL_SESSION\s0 *sess));"
764 .IX Item "void \fBSSL_CTX_sess_set_remove_cb\fR(\s-1SSL_CTX\s0 *ctx, void (*cb)(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *sess));"
766 .IX Item "int \fBSSL_CTX_sess_timeouts\fR(\s-1SSL_CTX\s0 *ctx);"
768 .IX Item "\s-1LHASH\s0 *\fBSSL_CTX_sessions\fR(\s-1SSL_CTX\s0 *ctx);"
770 .IX Item "void \fBSSL_CTX_set_app_data\fR(\s-1SSL_CTX\s0 *ctx, void *arg);"
772 .IX Item "void \fBSSL_CTX_set_cert_store\fR(\s-1SSL_CTX\s0 *ctx, X509_STORE *cs);"
774 .IX Item "void \fBSSL_CTX_set_cert_verify_cb\fR(\s-1SSL_CTX\s0 *ctx, int (*cb)(), char *arg)"
776 .IX Item "int \fBSSL_CTX_set_cipher_list\fR(\s-1SSL_CTX\s0 *ctx, char *str);"
778 .IX Item "void \fBSSL_CTX_set_client_CA_list\fR(\s-1SSL_CTX\s0 *ctx, \s-1STACK\s0 *list);"
780 .IX Item "void \fBSSL_CTX_set_client_cert_cb\fR(\s-1SSL_CTX\s0 *ctx, int (*cb)(\s-1SSL\s0 *ssl, X509 **x509, \s-1EVP_PKEY\s0 **pkey));"
782 .IX Item "void \fBSSL_CTX_set_default_passwd_cb\fR(\s-1SSL_CTX\s0 *ctx, int (*cb);(void))"
784 .IX Item "void \fBSSL_CTX_set_default_read_ahead\fR(\s-1SSL_CTX\s0 *ctx, int m);"
786 .IX Item "int \fBSSL_CTX_set_default_verify_paths\fR(\s-1SSL_CTX\s0 *ctx);"
788 .IX Item "int \fBSSL_CTX_set_ex_data\fR(\s-1SSL_CTX\s0 *s, int idx, char *arg);"
790 .IX Item "void \fBSSL_CTX_set_info_callback\fR(\s-1SSL_CTX\s0 *ctx, void (*cb)(\s-1SSL\s0 *ssl, int cb, int ret));"
792 .IX Item "void \fBSSL_CTX_set_msg_callback\fR(\s-1SSL_CTX\s0 *ctx, void (*cb)(int write_p, int version, int content_type, const void *buf, size_t len, \s-1SSL\s0 *ssl, void *arg));"
794 .IX Item "void \fBSSL_CTX_set_msg_callback_arg\fR(\s-1SSL_CTX\s0 *ctx, void *arg);"
796 .IX Item "void \fBSSL_CTX_set_options\fR(\s-1SSL_CTX\s0 *ctx, unsigned long op);"
798 .IX Item "void \fBSSL_CTX_set_quiet_shutdown\fR(\s-1SSL_CTX\s0 *ctx, int mode);"
800 .IX Item "void \fBSSL_CTX_set_session_cache_mode\fR(\s-1SSL_CTX\s0 *ctx, int mode);"
802 .IX Item "int \fBSSL_CTX_set_ssl_version\fR(\s-1SSL_CTX\s0 *ctx, \s-1SSL_METHOD\s0 *meth);"
804 .IX Item "void \fBSSL_CTX_set_timeout\fR(\s-1SSL_CTX\s0 *ctx, long t);"
806 .IX Item "long \fBSSL_CTX_set_tmp_dh\fR(\s-1SSL_CTX\s0* ctx, \s-1DH\s0 *dh);"
808 .IX Item "long \fBSSL_CTX_set_tmp_dh_callback\fR(\s-1SSL_CTX\s0 *ctx, \s-1DH\s0 *(*cb)(void));"
810 .IX Item "long \fBSSL_CTX_set_tmp_rsa\fR(\s-1SSL_CTX\s0 *ctx, \s-1RSA\s0 *rsa);"
812 .IX Item "SSL_CTX_set_tmp_rsa_callback"
814 .IX Item "SSL_set_tmp_rsa_callback"
816 .IX Item "void \fBSSL_CTX_set_verify\fR(\s-1SSL_CTX\s0 *ctx, int mode, int (*cb);(void))"
818 .IX Item "int \fBSSL_CTX_use_PrivateKey\fR(\s-1SSL_CTX\s0 *ctx, \s-1EVP_PKEY\s0 *pkey);"
820 .IX Item "int \fBSSL_CTX_use_PrivateKey_ASN1\fR(int type, \s-1SSL_CTX\s0 *ctx, unsigned char *d, long len);"
822 .IX Item "int \fBSSL_CTX_use_PrivateKey_file\fR(\s-1SSL_CTX\s0 *ctx, char *file, int type);"
824 .IX Item "int \fBSSL_CTX_use_RSAPrivateKey\fR(\s-1SSL_CTX\s0 *ctx, \s-1RSA\s0 *rsa);"
826 .IX Item "int \fBSSL_CTX_use_RSAPrivateKey_ASN1\fR(\s-1SSL_CTX\s0 *ctx, unsigned char *d, long len);"
828 .IX Item "int \fBSSL_CTX_use_RSAPrivateKey_file\fR(\s-1SSL_CTX\s0 *ctx, char *file, int type);"
830 .IX Item "int \fBSSL_CTX_use_certificate\fR(\s-1SSL_CTX\s0 *ctx, X509 *x);"
832 .IX Item "int \fBSSL_CTX_use_certificate_ASN1\fR(\s-1SSL_CTX\s0 *ctx, int len, unsigned char *d);"
834 .IX Item "int \fBSSL_CTX_use_certificate_file\fR(\s-1SSL_CTX\s0 *ctx, char *file, int type);"
836 .IX Subsection "\s-1DEALING\s0 \s-1WITH\s0 \s-1SESSIONS\s0"
838 .IX Item "int \fBSSL_SESSION_cmp\fR(\s-1SSL_SESSION\s0 *a, \s-1SSL_SESSION\s0 *b);"
840 .IX Item "void \fBSSL_SESSION_free\fR(\s-1SSL_SESSION\s0 *ss);"
842 .IX Item "char *\fBSSL_SESSION_get_app_data\fR(\s-1SSL_SESSION\s0 *s);"
844 .IX Item "char *\fBSSL_SESSION_get_ex_data\fR(\s-1SSL_SESSION\s0 *s, int idx);"
846 .IX Item "int \fBSSL_SESSION_get_ex_new_index\fR(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))"
848 .IX Item "long \fBSSL_SESSION_get_time\fR(\s-1SSL_SESSION\s0 *s);"
850 .IX Item "long \fBSSL_SESSION_get_timeout\fR(\s-1SSL_SESSION\s0 *s);"
852 .IX Item "unsigned long \fBSSL_SESSION_hash\fR(\s-1SSL_SESSION\s0 *a);"
854 .IX Item "\s-1SSL_SESSION\s0 *\fBSSL_SESSION_new\fR(void);"
856 .IX Item "int \fBSSL_SESSION_print\fR(\s-1BIO\s0 *bp, \s-1SSL_SESSION\s0 *x);"
858 .IX Item "int \fBSSL_SESSION_print_fp\fR(\s-1FILE\s0 *fp, \s-1SSL_SESSION\s0 *x);"
860 .IX Item "void \fBSSL_SESSION_set_app_data\fR(\s-1SSL_SESSION\s0 *s, char *a);"
862 .IX Item "int \fBSSL_SESSION_set_ex_data\fR(\s-1SSL_SESSION\s0 *s, int idx, char *arg);"
864 .IX Item "long \fBSSL_SESSION_set_time\fR(\s-1SSL_SESSION\s0 *s, long t);"
866 .IX Item "long \fBSSL_SESSION_set_timeout\fR(\s-1SSL_SESSION\s0 *s, long t);"
868 .IX Subsection "\s-1DEALING\s0 \s-1WITH\s0 \s-1CONNECTIONS\s0"
870 .IX Item "int \fBSSL_accept\fR(\s-1SSL\s0 *ssl);"
872 .IX Item "int \fBSSL_add_dir_cert_subjects_to_stack\fR(\s-1STACK\s0 *stack, const char *dir);"
874 .IX Item "int \fBSSL_add_file_cert_subjects_to_stack\fR(\s-1STACK\s0 *stack, const char *file);"
876 .IX Item "int \fBSSL_add_client_CA\fR(\s-1SSL\s0 *ssl, X509 *x);"
878 .IX Item "char *\fBSSL_alert_desc_string\fR(int value);"
880 .IX Item "char *\fBSSL_alert_desc_string_long\fR(int value);"
882 .IX Item "char *\fBSSL_alert_type_string\fR(int value);"
884 .IX Item "char *\fBSSL_alert_type_string_long\fR(int value);"
886 .IX Item "int \fBSSL_check_private_key\fR(\s-1SSL\s0 *ssl);"
888 .IX Item "void \fBSSL_clear\fR(\s-1SSL\s0 *ssl);"
890 .IX Item "long \fBSSL_clear_num_renegotiations\fR(\s-1SSL\s0 *ssl);"
892 .IX Item "int \fBSSL_connect\fR(\s-1SSL\s0 *ssl);"
894 .IX Item "void \fBSSL_copy_session_id\fR(\s-1SSL\s0 *t, \s-1SSL\s0 *f);"
896 .IX Item "long \fBSSL_ctrl\fR(\s-1SSL\s0 *ssl, int cmd, long larg, char *parg);"
898 .IX Item "int \fBSSL_do_handshake\fR(\s-1SSL\s0 *ssl);"
900 .IX Item "\s-1SSL\s0 *\fBSSL_dup\fR(\s-1SSL\s0 *ssl);"
902 .IX Item "\s-1STACK\s0 *\fBSSL_dup_CA_list\fR(\s-1STACK\s0 *sk);"
904 .IX Item "void \fBSSL_free\fR(\s-1SSL\s0 *ssl);"
906 .IX Item "\s-1SSL_CTX\s0 *\fBSSL_get_SSL_CTX\fR(\s-1SSL\s0 *ssl);"
908 .IX Item "char *\fBSSL_get_app_data\fR(\s-1SSL\s0 *ssl);"
910 .IX Item "X509 *\fBSSL_get_certificate\fR(\s-1SSL\s0 *ssl);"
912 .IX Item "const char *\fBSSL_get_cipher\fR(\s-1SSL\s0 *ssl);"
914 .IX Item "int \fBSSL_get_cipher_bits\fR(\s-1SSL\s0 *ssl, int *alg_bits);"
916 .IX Item "char *\fBSSL_get_cipher_list\fR(\s-1SSL\s0 *ssl, int n);"
918 .IX Item "char *\fBSSL_get_cipher_name\fR(\s-1SSL\s0 *ssl);"
920 .IX Item "char *\fBSSL_get_cipher_version\fR(\s-1SSL\s0 *ssl);"
922 .IX Item "\s-1STACK\s0 *\fBSSL_get_ciphers\fR(\s-1SSL\s0 *ssl);"
924 .IX Item "\s-1STACK\s0 *\fBSSL_get_client_CA_list\fR(\s-1SSL\s0 *ssl);"
926 .IX Item "\s-1SSL_CIPHER\s0 *\fBSSL_get_current_cipher\fR(\s-1SSL\s0 *ssl);"
928 .IX Item "long \fBSSL_get_default_timeout\fR(\s-1SSL\s0 *ssl);"
930 .IX Item "int \fBSSL_get_error\fR(\s-1SSL\s0 *ssl, int i);"
932 .IX Item "char *\fBSSL_get_ex_data\fR(\s-1SSL\s0 *ssl, int idx);"
934 .IX Item "int \fBSSL_get_ex_data_X509_STORE_CTX_idx\fR(void);"
936 .IX Item "int \fBSSL_get_ex_new_index\fR(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))"
938 .IX Item "int \fBSSL_get_fd\fR(\s-1SSL\s0 *ssl);"
940 .IX Item "void (*\fBSSL_get_info_callback\fR(\s-1SSL\s0 *ssl);)(void)"
942 .IX Item "\s-1STACK\s0 *\fBSSL_get_peer_cert_chain\fR(\s-1SSL\s0 *ssl);"
944 .IX Item "X509 *\fBSSL_get_peer_certificate\fR(\s-1SSL\s0 *ssl);"
946 .IX Item "\s-1EVP_PKEY\s0 *\fBSSL_get_privatekey\fR(\s-1SSL\s0 *ssl);"
948 .IX Item "int \fBSSL_get_quiet_shutdown\fR(\s-1SSL\s0 *ssl);"
950 .IX Item "\s-1BIO\s0 *\fBSSL_get_rbio\fR(\s-1SSL\s0 *ssl);"
952 .IX Item "int \fBSSL_get_read_ahead\fR(\s-1SSL\s0 *ssl);"
954 .IX Item "\s-1SSL_SESSION\s0 *\fBSSL_get_session\fR(\s-1SSL\s0 *ssl);"
956 .IX Item "char *\fBSSL_get_shared_ciphers\fR(\s-1SSL\s0 *ssl, char *buf, int len);"
958 .IX Item "int \fBSSL_get_shutdown\fR(\s-1SSL\s0 *ssl);"
960 .IX Item "\s-1SSL_METHOD\s0 *\fBSSL_get_ssl_method\fR(\s-1SSL\s0 *ssl);"
962 .IX Item "int \fBSSL_get_state\fR(\s-1SSL\s0 *ssl);"
964 .IX Item "long \fBSSL_get_time\fR(\s-1SSL\s0 *ssl);"
966 .IX Item "long \fBSSL_get_timeout\fR(\s-1SSL\s0 *ssl);"
968 .IX Item "int (*\fBSSL_get_verify_callback\fR(\s-1SSL\s0 *ssl);)(void)"
970 .IX Item "int \fBSSL_get_verify_mode\fR(\s-1SSL\s0 *ssl);"
972 .IX Item "long \fBSSL_get_verify_result\fR(\s-1SSL\s0 *ssl);"
974 .IX Item "char *\fBSSL_get_version\fR(\s-1SSL\s0 *ssl);"
976 .IX Item "\s-1BIO\s0 *\fBSSL_get_wbio\fR(\s-1SSL\s0 *ssl);"
978 .IX Item "int \fBSSL_in_accept_init\fR(\s-1SSL\s0 *ssl);"
980 .IX Item "int \fBSSL_in_before\fR(\s-1SSL\s0 *ssl);"
982 .IX Item "int \fBSSL_in_connect_init\fR(\s-1SSL\s0 *ssl);"
984 .IX Item "int \fBSSL_in_init\fR(\s-1SSL\s0 *ssl);"
986 .IX Item "int \fBSSL_is_init_finished\fR(\s-1SSL\s0 *ssl);"
988 .IX Item "\s-1STACK\s0 *\fBSSL_load_client_CA_file\fR(char *file);"
990 .IX Item "void \fBSSL_load_error_strings\fR(void);"
992 .IX Item "\s-1SSL\s0 *\fBSSL_new\fR(\s-1SSL_CTX\s0 *ctx);"
994 .IX Item "long \fBSSL_num_renegotiations\fR(\s-1SSL\s0 *ssl);"
996 .IX Item "int \fBSSL_peek\fR(\s-1SSL\s0 *ssl, void *buf, int num);"
998 .IX Item "int \fBSSL_pending\fR(\s-1SSL\s0 *ssl);"
1000 .IX Item "int \fBSSL_read\fR(\s-1SSL\s0 *ssl, void *buf, int num);"
1002 .IX Item "int \fBSSL_renegotiate\fR(\s-1SSL\s0 *ssl);"
1004 .IX Item "char *\fBSSL_rstate_string\fR(\s-1SSL\s0 *ssl);"
1006 .IX Item "char *\fBSSL_rstate_string_long\fR(\s-1SSL\s0 *ssl);"
1008 .IX Item "long \fBSSL_session_reused\fR(\s-1SSL\s0 *ssl);"
1010 .IX Item "void \fBSSL_set_accept_state\fR(\s-1SSL\s0 *ssl);"
1012 .IX Item "void \fBSSL_set_app_data\fR(\s-1SSL\s0 *ssl, char *arg);"
1014 .IX Item "void \fBSSL_set_bio\fR(\s-1SSL\s0 *ssl, \s-1BIO\s0 *rbio, \s-1BIO\s0 *wbio);"
1016 .IX Item "int \fBSSL_set_cipher_list\fR(\s-1SSL\s0 *ssl, char *str);"
1018 .IX Item "void \fBSSL_set_client_CA_list\fR(\s-1SSL\s0 *ssl, \s-1STACK\s0 *list);"
1020 .IX Item "void \fBSSL_set_connect_state\fR(\s-1SSL\s0 *ssl);"
1022 .IX Item "int \fBSSL_set_ex_data\fR(\s-1SSL\s0 *ssl, int idx, char *arg);"
1024 .IX Item "int \fBSSL_set_fd\fR(\s-1SSL\s0 *ssl, int fd);"
1026 .IX Item "void \fBSSL_set_info_callback\fR(\s-1SSL\s0 *ssl, void (*cb);(void))"
1028 .IX Item "void \fBSSL_set_msg_callback\fR(\s-1SSL\s0 *ctx, void (*cb)(int write_p, int version, int content_type, const void *buf, size_t len, \s-1SSL\s0 *ssl, void *arg));"
1030 .IX Item "void \fBSSL_set_msg_callback_arg\fR(\s-1SSL\s0 *ctx, void *arg);"
1032 .IX Item "void \fBSSL_set_options\fR(\s-1SSL\s0 *ssl, unsigned long op);"
1034 .IX Item "void \fBSSL_set_quiet_shutdown\fR(\s-1SSL\s0 *ssl, int mode);"
1036 .IX Item "void \fBSSL_set_read_ahead\fR(\s-1SSL\s0 *ssl, int yes);"
1038 .IX Item "int \fBSSL_set_rfd\fR(\s-1SSL\s0 *ssl, int fd);"
1040 .IX Item "int \fBSSL_set_session\fR(\s-1SSL\s0 *ssl, \s-1SSL_SESSION\s0 *session);"
1042 .IX Item "void \fBSSL_set_shutdown\fR(\s-1SSL\s0 *ssl, int mode);"
1044 .IX Item "int \fBSSL_set_ssl_method\fR(\s-1SSL\s0 *ssl, \s-1SSL_METHOD\s0 *meth);"
1046 .IX Item "void \fBSSL_set_time\fR(\s-1SSL\s0 *ssl, long t);"
1048 .IX Item "void \fBSSL_set_timeout\fR(\s-1SSL\s0 *ssl, long t);"
1050 .IX Item "void \fBSSL_set_verify\fR(\s-1SSL\s0 *ssl, int mode, int (*callback);(void))"
1052 .IX Item "void \fBSSL_set_verify_result\fR(\s-1SSL\s0 *ssl, long arg);"
1054 .IX Item "int \fBSSL_set_wfd\fR(\s-1SSL\s0 *ssl, int fd);"
1056 .IX Item "int \fBSSL_shutdown\fR(\s-1SSL\s0 *ssl);"
1058 .IX Item "int \fBSSL_state\fR(\s-1SSL\s0 *ssl);"
1060 .IX Item "char *\fBSSL_state_string\fR(\s-1SSL\s0 *ssl);"
1062 .IX Item "char *\fBSSL_state_string_long\fR(\s-1SSL\s0 *ssl);"
1064 .IX Item "long \fBSSL_total_renegotiations\fR(\s-1SSL\s0 *ssl);"
1066 .IX Item "int \fBSSL_use_PrivateKey\fR(\s-1SSL\s0 *ssl, \s-1EVP_PKEY\s0 *pkey);"
1068 .IX Item "int \fBSSL_use_PrivateKey_ASN1\fR(int type, \s-1SSL\s0 *ssl, unsigned char *d, long len);"
1070 .IX Item "int \fBSSL_use_PrivateKey_file\fR(\s-1SSL\s0 *ssl, char *file, int type);"
1072 .IX Item "int \fBSSL_use_RSAPrivateKey\fR(\s-1SSL\s0 *ssl, \s-1RSA\s0 *rsa);"
1074 .IX Item "int \fBSSL_use_RSAPrivateKey_ASN1\fR(\s-1SSL\s0 *ssl, unsigned char *d, long len);"
1076 .IX Item "int \fBSSL_use_RSAPrivateKey_file\fR(\s-1SSL\s0 *ssl, char *file, int type);"
1078 .IX Item "int \fBSSL_use_certificate\fR(\s-1SSL\s0 *ssl, X509 *x);"
1080 .IX Item "int \fBSSL_use_certificate_ASN1\fR(\s-1SSL\s0 *ssl, int len, unsigned char *d);"
1082 .IX Item "int \fBSSL_use_certificate_file\fR(\s-1SSL\s0 *ssl, char *file, int type);"
1084 .IX Item "int \fBSSL_version\fR(\s-1SSL\s0 *ssl);"
1086 .IX Item "int \fBSSL_want\fR(\s-1SSL\s0 *ssl);"
1088 .IX Item "int \fBSSL_want_nothing\fR(\s-1SSL\s0 *ssl);"
1090 .IX Item "int \fBSSL_want_read\fR(\s-1SSL\s0 *ssl);"
1092 .IX Item "int \fBSSL_want_write\fR(\s-1SSL\s0 *ssl);"
1094 .IX Item "int \fBSSL_want_x509_lookup\fR(s);"
1096 .IX Item "int \fBSSL_write\fR(\s-1SSL\s0 *ssl, const void *buf, int num);"
1098 .IX Header "SEE ALSO"
1100 .IX Header "HISTORY"