Update per latest manual pages after running 'man-update'.
[dragonfly.git] / secure / lib / libssl / man / ssl.3
1 .rn '' }`
2 ''' $RCSfile$$Revision$$Date$
3 '''
4 ''' $Log$
5 '''
6 .de Sh
7 .br
8 .if t .Sp
9 .ne 5
10 .PP
11 \fB\\$1\fR
12 .PP
13 ..
14 .de Sp
15 .if t .sp .5v
16 .if n .sp
17 ..
18 .de Ip
19 .br
20 .ie \\n(.$>=3 .ne \\$3
21 .el .ne 3
22 .IP "\\$1" \\$2
23 ..
24 .de Vb
25 .ft CW
26 .nf
27 .ne \\$1
28 ..
29 .de Ve
30 .ft R
31
32 .fi
33 ..
34 '''
35 '''
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.
39 '''
40 .tr \(*W-|\(bv\*(Tr
41 .ie n \{\
42 .ds -- \(*W-
43 .ds PI pi
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
46 .ds L" ""
47 .ds R" ""
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
52 .ds M" """
53 .ds S" """
54 .ds N" """""
55 .ds T" """""
56 .ds L' '
57 .ds R' '
58 .ds M' '
59 .ds S' '
60 .ds N' '
61 .ds T' '
62 'br\}
63 .el\{\
64 .ds -- \(em\|
65 .tr \*(Tr
66 .ds L" ``
67 .ds R" ''
68 .ds M" ``
69 .ds S" ''
70 .ds N" ``
71 .ds T" ''
72 .ds L' `
73 .ds R' '
74 .ds M' `
75 .ds S' '
76 .ds N' `
77 .ds T' '
78 .ds PI \(*p
79 'br\}
80 .\"     If the F register is turned on, we'll generate
81 .\"     index entries out stderr for the following things:
82 .\"             TH      Title 
83 .\"             SH      Header
84 .\"             Sh      Subsection 
85 .\"             Ip      Item
86 .\"             X<>     Xref  (embedded
87 .\"     Of course, you have to process the output yourself
88 .\"     in some meaninful fashion.
89 .if \nF \{
90 .de IX
91 .tm Index:\\$1\t\\n%\t"\\$2"
92 ..
93 .nr % 0
94 .rr F
95 .\}
96 .TH ssl 3 "0.9.7d" "2/Sep/2004" "OpenSSL"
97 .UC
98 .if n .hy 0
99 .if n .na
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
102 .ft CW
103 'if n "\c
104 'if t \\&\\$1\c
105 'if n \\&\\$1\c
106 'if n \&"
107 \\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
108 '.ft R
109 ..
110 .\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
111 .       \" AM - accent mark definitions
112 .bd B 3
113 .       \" fudge factors for nroff and troff
114 .if n \{\
115 .       ds #H 0
116 .       ds #V .8m
117 .       ds #F .3m
118 .       ds #[ \f1
119 .       ds #] \fP
120 .\}
121 .if t \{\
122 .       ds #H ((1u-(\\\\n(.fu%2u))*.13m)
123 .       ds #V .6m
124 .       ds #F 0
125 .       ds #[ \&
126 .       ds #] \&
127 .\}
128 .       \" simple accents for nroff and troff
129 .if n \{\
130 .       ds ' \&
131 .       ds ` \&
132 .       ds ^ \&
133 .       ds , \&
134 .       ds ~ ~
135 .       ds ? ?
136 .       ds ! !
137 .       ds /
138 .       ds q
139 .\}
140 .if t \{\
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'
150 .\}
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 \
172 \{\
173 .       ds : e
174 .       ds 8 ss
175 .       ds v \h'-1'\o'\(aa\(ga'
176 .       ds _ \h'-1'^
177 .       ds . \h'-1'.
178 .       ds 3 3
179 .       ds o a
180 .       ds d- d\h'-1'\(ga
181 .       ds D- D\h'-1'\(hy
182 .       ds th \o'bp'
183 .       ds Th \o'LP'
184 .       ds ae ae
185 .       ds Ae AE
186 .       ds oe oe
187 .       ds Oe OE
188 .\}
189 .rm #[ #] #H #V #F C
190 .SH "NAME"
191 SSL \- OpenSSL SSL/TLS library
192 .SH "SYNOPSIS"
193 .SH "DESCRIPTION"
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
196 documented here.
197 .PP
198 At first the library must be initialized; see
199 SSL_library_init(3).
200 .PP
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
204 in this object.
205 .PP
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.
211 .PP
212 Then the TLS/SSL handshake is performed using
213 SSL_accept(3) or SSL_connect(3)
214 respectively.
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
218 TLS/SSL connection.
219 .SH "DATA STRUCTURES"
220 Currently the OpenSSL \fBssl\fR library functions deals with the following data
221 structures:
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.
243 .SH "HEADER FILES"
244 Currently the OpenSSL \fBssl\fR library provides the following C header files
245 containing the prototypes for the data structures and and functions:
246 .Ip "\fBssl.h\fR" 4
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.
252 .Ip "\fBssl2.h\fR" 4
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.
256 .Ip "\fBssl3.h\fR" 4
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
262 SSLv3 protocols.
263 \fIUsually you don't have to include it explicitly because
264 it's already included by ssl.h\fR.
265 .Ip "\fBtls1.h\fR" 4
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.
269 .SH "API FUNCTIONS"
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
381 .Sp
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));
389 .Sp
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
537 .SH "SEE ALSO"
538 openssl(1), crypto(3),
539 SSL_accept(3), SSL_clear(3),
540 SSL_connect(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),
545 SSL_CTX_ctrl(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)
550 SSL_CTX_new(3),
551 SSL_CTX_sess_number(3),
552 SSL_CTX_sess_set_cache_size(3),
553 SSL_CTX_sess_set_get_cb(3),
554 SSL_CTX_sessions(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),
564 SSL_CTX_set_mode(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),
577 SSL_do_handshake(3),
578 SSL_get_SSL_CTX(3),
579 SSL_get_ciphers(3),
580 SSL_get_client_CA_list(3),
581 SSL_get_default_timeout(3),
582 SSL_get_error(3),
583 SSL_get_ex_data_X509_STORE_CTX_idx(3),
584 SSL_get_ex_new_index(3),
585 SSL_get_fd(3),
586 SSL_get_peer_cert_chain(3),
587 SSL_get_rbio(3),
588 SSL_get_session(3),
589 SSL_get_verify_result(3),
590 SSL_get_version(3),
591 SSL_library_init(3),
592 SSL_load_client_CA_file(3),
593 SSL_new(3),
594 SSL_pending(3),
595 SSL_read(3),
596 SSL_rstate_string(3),
597 SSL_session_reused(3),
598 SSL_set_bio(3),
599 SSL_set_connect_state(3),
600 SSL_set_fd(3),
601 SSL_set_session(3),
602 SSL_set_shutdown(3),
603 SSL_shutdown(3),
604 SSL_state_string(3),
605 SSL_want(3),
606 SSL_write(3),
607 SSL_SESSION_free(3),
608 SSL_SESSION_get_ex_new_index(3),
609 SSL_SESSION_get_time(3),
610 d2i_SSL_SESSION(3)
611 .SH "HISTORY"
612 The ssl(3) document appeared in OpenSSL 0.9.2
613
614 .rn }` ''
615 .IX Title "ssl 3"
616 .IX Name "SSL - OpenSSL SSL/TLS library"
617
618 .IX Header "NAME"
619
620 .IX Header "SYNOPSIS"
621
622 .IX Header "DESCRIPTION"
623
624 .IX Header "DATA STRUCTURES"
625
626 .IX Item "\fB\s-1SSL_METHOD\s0\fR (\s-1SSL\s0 Method)"
627
628 .IX Item "\fB\s-1SSL_CIPHER\s0\fR (\s-1SSL\s0 Cipher)"
629
630 .IX Item "\fB\s-1SSL_CTX\s0\fR (\s-1SSL\s0 Context)"
631
632 .IX Item "\fB\s-1SSL_SESSION\s0\fR (\s-1SSL\s0 Session)"
633
634 .IX Item "\fB\s-1SSL\s0\fR (\s-1SSL\s0 Connection)"
635
636 .IX Header "HEADER FILES"
637
638 .IX Item "\fBssl.h\fR"
639
640 .IX Item "\fBssl2.h\fR"
641
642 .IX Item "\fBssl3.h\fR"
643
644 .IX Item "\fBssl23.h\fR"
645
646 .IX Item "\fBtls1.h\fR"
647
648 .IX Header "API FUNCTIONS"
649
650 .IX Subsection "\s-1DEALING\s0 \s-1WITH\s0 \s-1PROTOCOL\s0 \s-1METHODS\s0"
651
652 .IX Item "\s-1SSL_METHOD\s0 *\fBSSLv2_client_method\fR(void);"
653
654 .IX Item "\s-1SSL_METHOD\s0 *\fBSSLv2_server_method\fR(void);"
655
656 .IX Item "\s-1SSL_METHOD\s0 *\fBSSLv2_method\fR(void);"
657
658 .IX Item "\s-1SSL_METHOD\s0 *\fBSSLv3_client_method\fR(void);"
659
660 .IX Item "\s-1SSL_METHOD\s0 *\fBSSLv3_server_method\fR(void);"
661
662 .IX Item "\s-1SSL_METHOD\s0 *\fBSSLv3_method\fR(void);"
663
664 .IX Item "\s-1SSL_METHOD\s0 *\fBTLSv1_client_method\fR(void);"
665
666 .IX Item "\s-1SSL_METHOD\s0 *\fBTLSv1_server_method\fR(void);"
667
668 .IX Item "\s-1SSL_METHOD\s0 *\fBTLSv1_method\fR(void);"
669
670 .IX Subsection "\s-1DEALING\s0 \s-1WITH\s0 \s-1CIPHERS\s0"
671
672 .IX Item "char *\fBSSL_CIPHER_description\fR(\s-1SSL_CIPHER\s0 *cipher, char *buf, int len);"
673
674 .IX Item "int \fBSSL_CIPHER_get_bits\fR(\s-1SSL_CIPHER\s0 *cipher, int *alg_bits);"
675
676 .IX Item "const char *\fBSSL_CIPHER_get_name\fR(\s-1SSL_CIPHER\s0 *cipher);"
677
678 .IX Item "char *\fBSSL_CIPHER_get_version\fR(\s-1SSL_CIPHER\s0 *cipher);"
679
680 .IX Subsection "\s-1DEALING\s0 \s-1WITH\s0 \s-1PROTOCOL\s0 \s-1CONTEXTS\s0"
681
682 .IX Item "int \fBSSL_CTX_add_client_CA\fR(\s-1SSL_CTX\s0 *ctx, X509 *x);"
683
684 .IX Item "long \fBSSL_CTX_add_extra_chain_cert\fR(\s-1SSL_CTX\s0 *ctx, X509 *x509);"
685
686 .IX Item "int \fBSSL_CTX_add_session\fR(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *c);"
687
688 .IX Item "int \fBSSL_CTX_check_private_key\fR(\s-1SSL_CTX\s0 *ctx);"
689
690 .IX Item "long \fBSSL_CTX_ctrl\fR(\s-1SSL_CTX\s0 *ctx, int cmd, long larg, char *parg);"
691
692 .IX Item "void \fBSSL_CTX_flush_sessions\fR(\s-1SSL_CTX\s0 *s, long t);"
693
694 .IX Item "void \fBSSL_CTX_free\fR(\s-1SSL_CTX\s0 *a);"
695
696 .IX Item "char *\fBSSL_CTX_get_app_data\fR(\s-1SSL_CTX\s0 *ctx);"
697
698 .IX Item "X509_STORE *\fBSSL_CTX_get_cert_store\fR(\s-1SSL_CTX\s0 *ctx);"
699
700 .IX Item "\s-1STACK\s0 *\fBSSL_CTX_get_client_CA_list\fR(\s-1SSL_CTX\s0 *ctx);"
701
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);"
703
704 .IX Item "char *\fBSSL_CTX_get_ex_data\fR(\s-1SSL_CTX\s0 *s, int idx);"
705
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))"
707
708 .IX Item "void (*\fBSSL_CTX_get_info_callback\fR(\s-1SSL_CTX\s0 *ctx))(\s-1SSL\s0 *ssl, int cb, int ret);"
709
710 .IX Item "int \fBSSL_CTX_get_quiet_shutdown\fR(\s-1SSL_CTX\s0 *ctx);"
711
712 .IX Item "int \fBSSL_CTX_get_session_cache_mode\fR(\s-1SSL_CTX\s0 *ctx);"
713
714 .IX Item "long \fBSSL_CTX_get_timeout\fR(\s-1SSL_CTX\s0 *ctx);"
715
716 .IX Item "int (*\fBSSL_CTX_get_verify_callback\fR(\s-1SSL_CTX\s0 *ctx))(int ok, X509_STORE_CTX *ctx);"
717
718 .IX Item "int \fBSSL_CTX_get_verify_mode\fR(\s-1SSL_CTX\s0 *ctx);"
719
720 .IX Item "int \fBSSL_CTX_load_verify_locations\fR(\s-1SSL_CTX\s0 *ctx, char *CAfile, char *CApath);"
721
722 .IX Item "long \fBSSL_CTX_need_tmp_RSA\fR(\s-1SSL_CTX\s0 *ctx);"
723
724 .IX Item "\s-1SSL_CTX\s0 *\fBSSL_CTX_new\fR(\s-1SSL_METHOD\s0 *meth);"
725
726 .IX Item "int \fBSSL_CTX_remove_session\fR(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *c);"
727
728 .IX Item "int \fBSSL_CTX_sess_accept\fR(\s-1SSL_CTX\s0 *ctx);"
729
730 .IX Item "int \fBSSL_CTX_sess_accept_good\fR(\s-1SSL_CTX\s0 *ctx);"
731
732 .IX Item "int \fBSSL_CTX_sess_accept_renegotiate\fR(\s-1SSL_CTX\s0 *ctx);"
733
734 .IX Item "int \fBSSL_CTX_sess_cache_full\fR(\s-1SSL_CTX\s0 *ctx);"
735
736 .IX Item "int \fBSSL_CTX_sess_cb_hits\fR(\s-1SSL_CTX\s0 *ctx);"
737
738 .IX Item "int \fBSSL_CTX_sess_connect\fR(\s-1SSL_CTX\s0 *ctx);"
739
740 .IX Item "int \fBSSL_CTX_sess_connect_good\fR(\s-1SSL_CTX\s0 *ctx);"
741
742 .IX Item "int \fBSSL_CTX_sess_connect_renegotiate\fR(\s-1SSL_CTX\s0 *ctx);"
743
744 .IX Item "int \fBSSL_CTX_sess_get_cache_size\fR(\s-1SSL_CTX\s0 *ctx);"
745
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);"
747
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);"
749
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);"
751
752 .IX Item "int \fBSSL_CTX_sess_hits\fR(\s-1SSL_CTX\s0 *ctx);"
753
754 .IX Item "int \fBSSL_CTX_sess_misses\fR(\s-1SSL_CTX\s0 *ctx);"
755
756 .IX Item "int \fBSSL_CTX_sess_number\fR(\s-1SSL_CTX\s0 *ctx);"
757
758 .IX Item "void \fBSSL_CTX_sess_set_cache_size\fR(\s-1SSL_CTX\s0 *ctx,t);"
759
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));"
761
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));"
763
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));"
765
766 .IX Item "int \fBSSL_CTX_sess_timeouts\fR(\s-1SSL_CTX\s0 *ctx);"
767
768 .IX Item "\s-1LHASH\s0 *\fBSSL_CTX_sessions\fR(\s-1SSL_CTX\s0 *ctx);"
769
770 .IX Item "void \fBSSL_CTX_set_app_data\fR(\s-1SSL_CTX\s0 *ctx, void *arg);"
771
772 .IX Item "void \fBSSL_CTX_set_cert_store\fR(\s-1SSL_CTX\s0 *ctx, X509_STORE *cs);"
773
774 .IX Item "void \fBSSL_CTX_set_cert_verify_cb\fR(\s-1SSL_CTX\s0 *ctx, int (*cb)(), char *arg)"
775
776 .IX Item "int \fBSSL_CTX_set_cipher_list\fR(\s-1SSL_CTX\s0 *ctx, char *str);"
777
778 .IX Item "void \fBSSL_CTX_set_client_CA_list\fR(\s-1SSL_CTX\s0 *ctx, \s-1STACK\s0 *list);"
779
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));"
781
782 .IX Item "void \fBSSL_CTX_set_default_passwd_cb\fR(\s-1SSL_CTX\s0 *ctx, int (*cb);(void))"
783
784 .IX Item "void \fBSSL_CTX_set_default_read_ahead\fR(\s-1SSL_CTX\s0 *ctx, int m);"
785
786 .IX Item "int \fBSSL_CTX_set_default_verify_paths\fR(\s-1SSL_CTX\s0 *ctx);"
787
788 .IX Item "int \fBSSL_CTX_set_ex_data\fR(\s-1SSL_CTX\s0 *s, int idx, char *arg);"
789
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));"
791
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));"
793
794 .IX Item "void \fBSSL_CTX_set_msg_callback_arg\fR(\s-1SSL_CTX\s0 *ctx, void *arg);"
795
796 .IX Item "void \fBSSL_CTX_set_options\fR(\s-1SSL_CTX\s0 *ctx, unsigned long op);"
797
798 .IX Item "void \fBSSL_CTX_set_quiet_shutdown\fR(\s-1SSL_CTX\s0 *ctx, int mode);"
799
800 .IX Item "void \fBSSL_CTX_set_session_cache_mode\fR(\s-1SSL_CTX\s0 *ctx, int mode);"
801
802 .IX Item "int \fBSSL_CTX_set_ssl_version\fR(\s-1SSL_CTX\s0 *ctx, \s-1SSL_METHOD\s0 *meth);"
803
804 .IX Item "void \fBSSL_CTX_set_timeout\fR(\s-1SSL_CTX\s0 *ctx, long t);"
805
806 .IX Item "long \fBSSL_CTX_set_tmp_dh\fR(\s-1SSL_CTX\s0* ctx, \s-1DH\s0 *dh);"
807
808 .IX Item "long \fBSSL_CTX_set_tmp_dh_callback\fR(\s-1SSL_CTX\s0 *ctx, \s-1DH\s0 *(*cb)(void));"
809
810 .IX Item "long \fBSSL_CTX_set_tmp_rsa\fR(\s-1SSL_CTX\s0 *ctx, \s-1RSA\s0 *rsa);"
811
812 .IX Item "SSL_CTX_set_tmp_rsa_callback"
813
814 .IX Item "SSL_set_tmp_rsa_callback"
815
816 .IX Item "void \fBSSL_CTX_set_verify\fR(\s-1SSL_CTX\s0 *ctx, int mode, int (*cb);(void))"
817
818 .IX Item "int \fBSSL_CTX_use_PrivateKey\fR(\s-1SSL_CTX\s0 *ctx, \s-1EVP_PKEY\s0 *pkey);"
819
820 .IX Item "int \fBSSL_CTX_use_PrivateKey_ASN1\fR(int type, \s-1SSL_CTX\s0 *ctx, unsigned char *d, long len);"
821
822 .IX Item "int \fBSSL_CTX_use_PrivateKey_file\fR(\s-1SSL_CTX\s0 *ctx, char *file, int type);"
823
824 .IX Item "int \fBSSL_CTX_use_RSAPrivateKey\fR(\s-1SSL_CTX\s0 *ctx, \s-1RSA\s0 *rsa);"
825
826 .IX Item "int \fBSSL_CTX_use_RSAPrivateKey_ASN1\fR(\s-1SSL_CTX\s0 *ctx, unsigned char *d, long len);"
827
828 .IX Item "int \fBSSL_CTX_use_RSAPrivateKey_file\fR(\s-1SSL_CTX\s0 *ctx, char *file, int type);"
829
830 .IX Item "int \fBSSL_CTX_use_certificate\fR(\s-1SSL_CTX\s0 *ctx, X509 *x);"
831
832 .IX Item "int \fBSSL_CTX_use_certificate_ASN1\fR(\s-1SSL_CTX\s0 *ctx, int len, unsigned char *d);"
833
834 .IX Item "int \fBSSL_CTX_use_certificate_file\fR(\s-1SSL_CTX\s0 *ctx, char *file, int type);"
835
836 .IX Subsection "\s-1DEALING\s0 \s-1WITH\s0 \s-1SESSIONS\s0"
837
838 .IX Item "int \fBSSL_SESSION_cmp\fR(\s-1SSL_SESSION\s0 *a, \s-1SSL_SESSION\s0 *b);"
839
840 .IX Item "void \fBSSL_SESSION_free\fR(\s-1SSL_SESSION\s0 *ss);"
841
842 .IX Item "char *\fBSSL_SESSION_get_app_data\fR(\s-1SSL_SESSION\s0 *s);"
843
844 .IX Item "char *\fBSSL_SESSION_get_ex_data\fR(\s-1SSL_SESSION\s0 *s, int idx);"
845
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))"
847
848 .IX Item "long \fBSSL_SESSION_get_time\fR(\s-1SSL_SESSION\s0 *s);"
849
850 .IX Item "long \fBSSL_SESSION_get_timeout\fR(\s-1SSL_SESSION\s0 *s);"
851
852 .IX Item "unsigned long \fBSSL_SESSION_hash\fR(\s-1SSL_SESSION\s0 *a);"
853
854 .IX Item "\s-1SSL_SESSION\s0 *\fBSSL_SESSION_new\fR(void);"
855
856 .IX Item "int \fBSSL_SESSION_print\fR(\s-1BIO\s0 *bp, \s-1SSL_SESSION\s0 *x);"
857
858 .IX Item "int \fBSSL_SESSION_print_fp\fR(\s-1FILE\s0 *fp, \s-1SSL_SESSION\s0 *x);"
859
860 .IX Item "void \fBSSL_SESSION_set_app_data\fR(\s-1SSL_SESSION\s0 *s, char *a);"
861
862 .IX Item "int \fBSSL_SESSION_set_ex_data\fR(\s-1SSL_SESSION\s0 *s, int idx, char *arg);"
863
864 .IX Item "long \fBSSL_SESSION_set_time\fR(\s-1SSL_SESSION\s0 *s, long t);"
865
866 .IX Item "long \fBSSL_SESSION_set_timeout\fR(\s-1SSL_SESSION\s0 *s, long t);"
867
868 .IX Subsection "\s-1DEALING\s0 \s-1WITH\s0 \s-1CONNECTIONS\s0"
869
870 .IX Item "int \fBSSL_accept\fR(\s-1SSL\s0 *ssl);"
871
872 .IX Item "int \fBSSL_add_dir_cert_subjects_to_stack\fR(\s-1STACK\s0 *stack, const char *dir);"
873
874 .IX Item "int \fBSSL_add_file_cert_subjects_to_stack\fR(\s-1STACK\s0 *stack, const char *file);"
875
876 .IX Item "int \fBSSL_add_client_CA\fR(\s-1SSL\s0 *ssl, X509 *x);"
877
878 .IX Item "char *\fBSSL_alert_desc_string\fR(int value);"
879
880 .IX Item "char *\fBSSL_alert_desc_string_long\fR(int value);"
881
882 .IX Item "char *\fBSSL_alert_type_string\fR(int value);"
883
884 .IX Item "char *\fBSSL_alert_type_string_long\fR(int value);"
885
886 .IX Item "int \fBSSL_check_private_key\fR(\s-1SSL\s0 *ssl);"
887
888 .IX Item "void \fBSSL_clear\fR(\s-1SSL\s0 *ssl);"
889
890 .IX Item "long \fBSSL_clear_num_renegotiations\fR(\s-1SSL\s0 *ssl);"
891
892 .IX Item "int \fBSSL_connect\fR(\s-1SSL\s0 *ssl);"
893
894 .IX Item "void \fBSSL_copy_session_id\fR(\s-1SSL\s0 *t, \s-1SSL\s0 *f);"
895
896 .IX Item "long \fBSSL_ctrl\fR(\s-1SSL\s0 *ssl, int cmd, long larg, char *parg);"
897
898 .IX Item "int \fBSSL_do_handshake\fR(\s-1SSL\s0 *ssl);"
899
900 .IX Item "\s-1SSL\s0 *\fBSSL_dup\fR(\s-1SSL\s0 *ssl);"
901
902 .IX Item "\s-1STACK\s0 *\fBSSL_dup_CA_list\fR(\s-1STACK\s0 *sk);"
903
904 .IX Item "void \fBSSL_free\fR(\s-1SSL\s0 *ssl);"
905
906 .IX Item "\s-1SSL_CTX\s0 *\fBSSL_get_SSL_CTX\fR(\s-1SSL\s0 *ssl);"
907
908 .IX Item "char *\fBSSL_get_app_data\fR(\s-1SSL\s0 *ssl);"
909
910 .IX Item "X509 *\fBSSL_get_certificate\fR(\s-1SSL\s0 *ssl);"
911
912 .IX Item "const char *\fBSSL_get_cipher\fR(\s-1SSL\s0 *ssl);"
913
914 .IX Item "int \fBSSL_get_cipher_bits\fR(\s-1SSL\s0 *ssl, int *alg_bits);"
915
916 .IX Item "char *\fBSSL_get_cipher_list\fR(\s-1SSL\s0 *ssl, int n);"
917
918 .IX Item "char *\fBSSL_get_cipher_name\fR(\s-1SSL\s0 *ssl);"
919
920 .IX Item "char *\fBSSL_get_cipher_version\fR(\s-1SSL\s0 *ssl);"
921
922 .IX Item "\s-1STACK\s0 *\fBSSL_get_ciphers\fR(\s-1SSL\s0 *ssl);"
923
924 .IX Item "\s-1STACK\s0 *\fBSSL_get_client_CA_list\fR(\s-1SSL\s0 *ssl);"
925
926 .IX Item "\s-1SSL_CIPHER\s0 *\fBSSL_get_current_cipher\fR(\s-1SSL\s0 *ssl);"
927
928 .IX Item "long \fBSSL_get_default_timeout\fR(\s-1SSL\s0 *ssl);"
929
930 .IX Item "int \fBSSL_get_error\fR(\s-1SSL\s0 *ssl, int i);"
931
932 .IX Item "char *\fBSSL_get_ex_data\fR(\s-1SSL\s0 *ssl, int idx);"
933
934 .IX Item "int \fBSSL_get_ex_data_X509_STORE_CTX_idx\fR(void);"
935
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))"
937
938 .IX Item "int \fBSSL_get_fd\fR(\s-1SSL\s0 *ssl);"
939
940 .IX Item "void (*\fBSSL_get_info_callback\fR(\s-1SSL\s0 *ssl);)(void)"
941
942 .IX Item "\s-1STACK\s0 *\fBSSL_get_peer_cert_chain\fR(\s-1SSL\s0 *ssl);"
943
944 .IX Item "X509 *\fBSSL_get_peer_certificate\fR(\s-1SSL\s0 *ssl);"
945
946 .IX Item "\s-1EVP_PKEY\s0 *\fBSSL_get_privatekey\fR(\s-1SSL\s0 *ssl);"
947
948 .IX Item "int \fBSSL_get_quiet_shutdown\fR(\s-1SSL\s0 *ssl);"
949
950 .IX Item "\s-1BIO\s0 *\fBSSL_get_rbio\fR(\s-1SSL\s0 *ssl);"
951
952 .IX Item "int \fBSSL_get_read_ahead\fR(\s-1SSL\s0 *ssl);"
953
954 .IX Item "\s-1SSL_SESSION\s0 *\fBSSL_get_session\fR(\s-1SSL\s0 *ssl);"
955
956 .IX Item "char *\fBSSL_get_shared_ciphers\fR(\s-1SSL\s0 *ssl, char *buf, int len);"
957
958 .IX Item "int \fBSSL_get_shutdown\fR(\s-1SSL\s0 *ssl);"
959
960 .IX Item "\s-1SSL_METHOD\s0 *\fBSSL_get_ssl_method\fR(\s-1SSL\s0 *ssl);"
961
962 .IX Item "int \fBSSL_get_state\fR(\s-1SSL\s0 *ssl);"
963
964 .IX Item "long \fBSSL_get_time\fR(\s-1SSL\s0 *ssl);"
965
966 .IX Item "long \fBSSL_get_timeout\fR(\s-1SSL\s0 *ssl);"
967
968 .IX Item "int (*\fBSSL_get_verify_callback\fR(\s-1SSL\s0 *ssl);)(void)"
969
970 .IX Item "int \fBSSL_get_verify_mode\fR(\s-1SSL\s0 *ssl);"
971
972 .IX Item "long \fBSSL_get_verify_result\fR(\s-1SSL\s0 *ssl);"
973
974 .IX Item "char *\fBSSL_get_version\fR(\s-1SSL\s0 *ssl);"
975
976 .IX Item "\s-1BIO\s0 *\fBSSL_get_wbio\fR(\s-1SSL\s0 *ssl);"
977
978 .IX Item "int \fBSSL_in_accept_init\fR(\s-1SSL\s0 *ssl);"
979
980 .IX Item "int \fBSSL_in_before\fR(\s-1SSL\s0 *ssl);"
981
982 .IX Item "int \fBSSL_in_connect_init\fR(\s-1SSL\s0 *ssl);"
983
984 .IX Item "int \fBSSL_in_init\fR(\s-1SSL\s0 *ssl);"
985
986 .IX Item "int \fBSSL_is_init_finished\fR(\s-1SSL\s0 *ssl);"
987
988 .IX Item "\s-1STACK\s0 *\fBSSL_load_client_CA_file\fR(char *file);"
989
990 .IX Item "void \fBSSL_load_error_strings\fR(void);"
991
992 .IX Item "\s-1SSL\s0 *\fBSSL_new\fR(\s-1SSL_CTX\s0 *ctx);"
993
994 .IX Item "long \fBSSL_num_renegotiations\fR(\s-1SSL\s0 *ssl);"
995
996 .IX Item "int \fBSSL_peek\fR(\s-1SSL\s0 *ssl, void *buf, int num);"
997
998 .IX Item "int \fBSSL_pending\fR(\s-1SSL\s0 *ssl);"
999
1000 .IX Item "int \fBSSL_read\fR(\s-1SSL\s0 *ssl, void *buf, int num);"
1001
1002 .IX Item "int \fBSSL_renegotiate\fR(\s-1SSL\s0 *ssl);"
1003
1004 .IX Item "char *\fBSSL_rstate_string\fR(\s-1SSL\s0 *ssl);"
1005
1006 .IX Item "char *\fBSSL_rstate_string_long\fR(\s-1SSL\s0 *ssl);"
1007
1008 .IX Item "long \fBSSL_session_reused\fR(\s-1SSL\s0 *ssl);"
1009
1010 .IX Item "void \fBSSL_set_accept_state\fR(\s-1SSL\s0 *ssl);"
1011
1012 .IX Item "void \fBSSL_set_app_data\fR(\s-1SSL\s0 *ssl, char *arg);"
1013
1014 .IX Item "void \fBSSL_set_bio\fR(\s-1SSL\s0 *ssl, \s-1BIO\s0 *rbio, \s-1BIO\s0 *wbio);"
1015
1016 .IX Item "int \fBSSL_set_cipher_list\fR(\s-1SSL\s0 *ssl, char *str);"
1017
1018 .IX Item "void \fBSSL_set_client_CA_list\fR(\s-1SSL\s0 *ssl, \s-1STACK\s0 *list);"
1019
1020 .IX Item "void \fBSSL_set_connect_state\fR(\s-1SSL\s0 *ssl);"
1021
1022 .IX Item "int \fBSSL_set_ex_data\fR(\s-1SSL\s0 *ssl, int idx, char *arg);"
1023
1024 .IX Item "int \fBSSL_set_fd\fR(\s-1SSL\s0 *ssl, int fd);"
1025
1026 .IX Item "void \fBSSL_set_info_callback\fR(\s-1SSL\s0 *ssl, void (*cb);(void))"
1027
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));"
1029
1030 .IX Item "void \fBSSL_set_msg_callback_arg\fR(\s-1SSL\s0 *ctx, void *arg);"
1031
1032 .IX Item "void \fBSSL_set_options\fR(\s-1SSL\s0 *ssl, unsigned long op);"
1033
1034 .IX Item "void \fBSSL_set_quiet_shutdown\fR(\s-1SSL\s0 *ssl, int mode);"
1035
1036 .IX Item "void \fBSSL_set_read_ahead\fR(\s-1SSL\s0 *ssl, int yes);"
1037
1038 .IX Item "int \fBSSL_set_rfd\fR(\s-1SSL\s0 *ssl, int fd);"
1039
1040 .IX Item "int \fBSSL_set_session\fR(\s-1SSL\s0 *ssl, \s-1SSL_SESSION\s0 *session);"
1041
1042 .IX Item "void \fBSSL_set_shutdown\fR(\s-1SSL\s0 *ssl, int mode);"
1043
1044 .IX Item "int \fBSSL_set_ssl_method\fR(\s-1SSL\s0 *ssl, \s-1SSL_METHOD\s0 *meth);"
1045
1046 .IX Item "void \fBSSL_set_time\fR(\s-1SSL\s0 *ssl, long t);"
1047
1048 .IX Item "void \fBSSL_set_timeout\fR(\s-1SSL\s0 *ssl, long t);"
1049
1050 .IX Item "void \fBSSL_set_verify\fR(\s-1SSL\s0 *ssl, int mode, int (*callback);(void))"
1051
1052 .IX Item "void \fBSSL_set_verify_result\fR(\s-1SSL\s0 *ssl, long arg);"
1053
1054 .IX Item "int \fBSSL_set_wfd\fR(\s-1SSL\s0 *ssl, int fd);"
1055
1056 .IX Item "int \fBSSL_shutdown\fR(\s-1SSL\s0 *ssl);"
1057
1058 .IX Item "int \fBSSL_state\fR(\s-1SSL\s0 *ssl);"
1059
1060 .IX Item "char *\fBSSL_state_string\fR(\s-1SSL\s0 *ssl);"
1061
1062 .IX Item "char *\fBSSL_state_string_long\fR(\s-1SSL\s0 *ssl);"
1063
1064 .IX Item "long \fBSSL_total_renegotiations\fR(\s-1SSL\s0 *ssl);"
1065
1066 .IX Item "int \fBSSL_use_PrivateKey\fR(\s-1SSL\s0 *ssl, \s-1EVP_PKEY\s0 *pkey);"
1067
1068 .IX Item "int \fBSSL_use_PrivateKey_ASN1\fR(int type, \s-1SSL\s0 *ssl, unsigned char *d, long len);"
1069
1070 .IX Item "int \fBSSL_use_PrivateKey_file\fR(\s-1SSL\s0 *ssl, char *file, int type);"
1071
1072 .IX Item "int \fBSSL_use_RSAPrivateKey\fR(\s-1SSL\s0 *ssl, \s-1RSA\s0 *rsa);"
1073
1074 .IX Item "int \fBSSL_use_RSAPrivateKey_ASN1\fR(\s-1SSL\s0 *ssl, unsigned char *d, long len);"
1075
1076 .IX Item "int \fBSSL_use_RSAPrivateKey_file\fR(\s-1SSL\s0 *ssl, char *file, int type);"
1077
1078 .IX Item "int \fBSSL_use_certificate\fR(\s-1SSL\s0 *ssl, X509 *x);"
1079
1080 .IX Item "int \fBSSL_use_certificate_ASN1\fR(\s-1SSL\s0 *ssl, int len, unsigned char *d);"
1081
1082 .IX Item "int \fBSSL_use_certificate_file\fR(\s-1SSL\s0 *ssl, char *file, int type);"
1083
1084 .IX Item "int \fBSSL_version\fR(\s-1SSL\s0 *ssl);"
1085
1086 .IX Item "int \fBSSL_want\fR(\s-1SSL\s0 *ssl);"
1087
1088 .IX Item "int \fBSSL_want_nothing\fR(\s-1SSL\s0 *ssl);"
1089
1090 .IX Item "int \fBSSL_want_read\fR(\s-1SSL\s0 *ssl);"
1091
1092 .IX Item "int \fBSSL_want_write\fR(\s-1SSL\s0 *ssl);"
1093
1094 .IX Item "int \fBSSL_want_x509_lookup\fR(s);"
1095
1096 .IX Item "int \fBSSL_write\fR(\s-1SSL\s0 *ssl, const void *buf, int num);"
1097
1098 .IX Header "SEE ALSO"
1099
1100 .IX Header "HISTORY"
1101