Update per latest manual pages after running 'man-update'.
[dragonfly.git] / secure / lib / libssl / man / ssl.3
CommitLineData
a7d27d5a
JR
1.rn '' }`
2''' $RCSfile$$Revision$$Date$
3'''
4''' $Log$
5'''
6.de Sh
984263bc
MD
7.br
8.if t .Sp
9.ne 5
10.PP
11\fB\\$1\fR
12.PP
13..
a7d27d5a 14.de Sp
984263bc
MD
15.if t .sp .5v
16.if n .sp
17..
a7d27d5a 18.de Ip
984263bc
MD
19.br
20.ie \\n(.$>=3 .ne \\$3
21.el .ne 3
22.IP "\\$1" \\$2
23..
a7d27d5a 24.de Vb
984263bc
MD
25.ft CW
26.nf
27.ne \\$1
28..
a7d27d5a 29.de Ve
984263bc
MD
30.ft R
31
32.fi
33..
a7d27d5a
JR
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'''
984263bc 40.tr \(*W-|\(bv\*(Tr
984263bc 41.ie n \{\
a7d27d5a
JR
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' '
984263bc
MD
62'br\}
63.el\{\
a7d27d5a
JR
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
984263bc 79'br\}
a7d27d5a
JR
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"
984263bc 92..
a7d27d5a
JR
93.nr % 0
94.rr F
984263bc 95.\}
a7d27d5a
JR
96.TH ssl 3 "0.9.7d" "2/Sep/2004" "OpenSSL"
97.UC
98.if n .hy 0
984263bc 99.if n .na
a7d27d5a
JR
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
984263bc 112.bd B 3
a7d27d5a 113. \" fudge factors for nroff and troff
984263bc 114.if n \{\
a7d27d5a
JR
115. ds #H 0
116. ds #V .8m
117. ds #F .3m
118. ds #[ \f1
119. ds #] \fP
984263bc
MD
120.\}
121.if t \{\
a7d27d5a
JR
122. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
123. ds #V .6m
124. ds #F 0
125. ds #[ \&
126. ds #] \&
984263bc 127.\}
a7d27d5a 128. \" simple accents for nroff and troff
984263bc 129.if n \{\
a7d27d5a
JR
130. ds ' \&
131. ds ` \&
132. ds ^ \&
133. ds , \&
134. ds ~ ~
135. ds ? ?
136. ds ! !
137. ds /
138. ds q
984263bc
MD
139.\}
140.if t \{\
a7d27d5a
JR
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'
984263bc 150.\}
a7d27d5a 151. \" troff and (daisy-wheel) nroff accents
984263bc
MD
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'
a7d27d5a
JR
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'\*(#]
984263bc
MD
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
a7d27d5a
JR
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
984263bc
MD
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'
a7d27d5a 170. \" for low resolution devices (crt and lpr)
984263bc
MD
171.if \n(.H>23 .if \n(.V>19 \
172\{\
a7d27d5a
JR
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
984263bc
MD
188.\}
189.rm #[ #] #H #V #F C
984263bc 190.SH "NAME"
a7d27d5a 191SSL \- OpenSSL SSL/TLS library
984263bc 192.SH "SYNOPSIS"
984263bc 193.SH "DESCRIPTION"
a7d27d5a
JR
194The OpenSSL \fBssl\fR library implements the Secure Sockets Layer (SSL v2/v3) and
195Transport Layer Security (TLS v1) protocols. It provides a rich API which is
984263bc
MD
196documented here.
197.PP
198At first the library must be initialized; see
199SSL_library_init(3).
200.PP
a7d27d5a
JR
201Then an \fBSSL_CTX\fR object is created as a framework to establish
202TLS/SSL enabled connections (see SSL_CTX_new(3)).
984263bc
MD
203Various options regarding certificates, algorithms etc. can be set
204in this object.
205.PP
206When a network connection has been created, it can be assigned to an
a7d27d5a 207\fBSSL\fR object. After the \fBSSL\fR object has been created using
984263bc
MD
208SSL_new(3), SSL_set_fd(3) or
209SSL_set_bio(3) can be used to associate the network
210connection with the object.
211.PP
a7d27d5a 212Then the TLS/SSL handshake is performed using
984263bc
MD
213SSL_accept(3) or SSL_connect(3)
214respectively.
215SSL_read(3) and SSL_write(3) are used
a7d27d5a 216to read and write data on the TLS/SSL connection.
984263bc 217SSL_shutdown(3) can be used to shut down the
a7d27d5a 218TLS/SSL connection.
984263bc 219.SH "DATA STRUCTURES"
984263bc
MD
220Currently the OpenSSL \fBssl\fR library functions deals with the following data
221structures:
222.Ip "\fB\s-1SSL_METHOD\s0\fR (\s-1SSL\s0 Method)" 4
984263bc
MD
223That's a dispatch structure describing the internal \fBssl\fR library
224methods/functions which implement the various protocol versions (SSLv1, SSLv2
225and 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
984263bc
MD
227This structure holds the algorithm information for a particular cipher which
228are a core part of the \s-1SSL/TLS\s0 protocol. The available ciphers are configured
229on a \fB\s-1SSL_CTX\s0\fR basis and the actually used ones are then part of the
a7d27d5a 230\fB\s-1SSL_SESSION\s0\fR.
984263bc 231.Ip "\fB\s-1SSL_CTX\s0\fR (\s-1SSL\s0 Context)" 4
984263bc
MD
232That's the global context structure which is created by a server or client
233once per program life-time and which holds mainly default values for the
a7d27d5a 234\fB\s-1SSL\s0\fR structures which are later created for the connections.
984263bc 235.Ip "\fB\s-1SSL_SESSION\s0\fR (\s-1SSL\s0 Session)" 4
984263bc
MD
236This is a structure containing the current \s-1TLS/SSL\s0 session details for a
237connection: \fB\s-1SSL_CIPHER\s0\fRs, client and server certificates, keys, etc.
238.Ip "\fB\s-1SSL\s0\fR (\s-1SSL\s0 Connection)" 4
984263bc
MD
239That's the main \s-1SSL/TLS\s0 structure which is created by a server or client per
240established connection. This actually is the core structure in the \s-1SSL\s0 \s-1API\s0.
241Under run-time the application usually deals with this structure which has
242links to mostly all other structures.
243.SH "HEADER FILES"
984263bc
MD
244Currently the OpenSSL \fBssl\fR library provides the following C header files
245containing the prototypes for the data structures and and functions:
246.Ip "\fBssl.h\fR" 4
984263bc
MD
247That's the common header file for the \s-1SSL/TLS\s0 \s-1API\s0. Include it into your
248program to make the \s-1API\s0 of the \fBssl\fR library available. It internally
249includes both more private \s-1SSL\s0 headers and headers from the \fBcrypto\fR library.
250Whenever you need hard-core details on the internals of the \s-1SSL\s0 \s-1API\s0, look
251inside this header file.
252.Ip "\fBssl2.h\fR" 4
984263bc 253That's the sub header file dealing with the SSLv2 protocol only.
a7d27d5a 254\fIUsually you don't have to include it explicitly because
984263bc
MD
255it's already included by ssl.h\fR.
256.Ip "\fBssl3.h\fR" 4
984263bc 257That's the sub header file dealing with the SSLv3 protocol only.
a7d27d5a 258\fIUsually you don't have to include it explicitly because
984263bc
MD
259it's already included by ssl.h\fR.
260.Ip "\fBssl23.h\fR" 4
984263bc
MD
261That's the sub header file dealing with the combined use of the SSLv2 and
262SSLv3 protocols.
a7d27d5a 263\fIUsually you don't have to include it explicitly because
984263bc
MD
264it's already included by ssl.h\fR.
265.Ip "\fBtls1.h\fR" 4
984263bc 266That's the sub header file dealing with the TLSv1 protocol only.
a7d27d5a 267\fIUsually you don't have to include it explicitly because
984263bc
MD
268it's already included by ssl.h\fR.
269.SH "API FUNCTIONS"
a7d27d5a 270Currently the OpenSSL \fBssl\fR library exports 214 API functions.
984263bc
MD
271They are documented in the following:
272.Sh "\s-1DEALING\s0 \s-1WITH\s0 \s-1PROTOCOL\s0 \s-1METHODS\s0"
984263bc
MD
273Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0
274protocol methods defined in \fB\s-1SSL_METHOD\s0\fR structures.
275.Ip "\s-1SSL_METHOD\s0 *\fBSSLv2_client_method\fR(void);" 4
984263bc
MD
276Constructor for the SSLv2 \s-1SSL_METHOD\s0 structure for a dedicated client.
277.Ip "\s-1SSL_METHOD\s0 *\fBSSLv2_server_method\fR(void);" 4
984263bc
MD
278Constructor for the SSLv2 \s-1SSL_METHOD\s0 structure for a dedicated server.
279.Ip "\s-1SSL_METHOD\s0 *\fBSSLv2_method\fR(void);" 4
984263bc
MD
280Constructor 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
984263bc
MD
282Constructor for the SSLv3 \s-1SSL_METHOD\s0 structure for a dedicated client.
283.Ip "\s-1SSL_METHOD\s0 *\fBSSLv3_server_method\fR(void);" 4
984263bc
MD
284Constructor for the SSLv3 \s-1SSL_METHOD\s0 structure for a dedicated server.
285.Ip "\s-1SSL_METHOD\s0 *\fBSSLv3_method\fR(void);" 4
984263bc
MD
286Constructor 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
984263bc
MD
288Constructor for the TLSv1 \s-1SSL_METHOD\s0 structure for a dedicated client.
289.Ip "\s-1SSL_METHOD\s0 *\fBTLSv1_server_method\fR(void);" 4
984263bc
MD
290Constructor for the TLSv1 \s-1SSL_METHOD\s0 structure for a dedicated server.
291.Ip "\s-1SSL_METHOD\s0 *\fBTLSv1_method\fR(void);" 4
984263bc
MD
292Constructor for the TLSv1 \s-1SSL_METHOD\s0 structure for combined client and server.
293.Sh "\s-1DEALING\s0 \s-1WITH\s0 \s-1CIPHERS\s0"
984263bc
MD
294Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0
295ciphers 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
984263bc
MD
297Write a string to \fIbuf\fR (with a maximum size of \fIlen\fR) containing a human
298readable description of \fIcipher\fR. Returns \fIbuf\fR.
299.Ip "int \fBSSL_CIPHER_get_bits\fR(\s-1SSL_CIPHER\s0 *cipher, int *alg_bits);" 4
984263bc
MD
300Determine the number of bits in \fIcipher\fR. Because of export crippled ciphers
301there are two bits: The bits the algorithm supports in general (stored to
a7d27d5a 302\fIalg_bits\fR) and the bits which are actually used (the return value).
984263bc 303.Ip "const char *\fBSSL_CIPHER_get_name\fR(\s-1SSL_CIPHER\s0 *cipher);" 4
984263bc
MD
304Return the internal name of \fIcipher\fR as a string. These are the various
305strings defined by the \fISSL2_TXT_xxx\fR, \fISSL3_TXT_xxx\fR and \fITLS1_TXT_xxx\fR
306definitions in the header files.
307.Ip "char *\fBSSL_CIPHER_get_version\fR(\s-1SSL_CIPHER\s0 *cipher);" 4
a7d27d5a
JR
308Returns 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
984263bc
MD
310in the specification the first time).
311.Sh "\s-1DEALING\s0 \s-1WITH\s0 \s-1PROTOCOL\s0 \s-1CONTEXTS\s0"
984263bc
MD
312Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0
313protocol 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
984263bc 315.Ip "long \fBSSL_CTX_add_extra_chain_cert\fR(\s-1SSL_CTX\s0 *ctx, X509 *x509);" 4
984263bc 316.Ip "int \fBSSL_CTX_add_session\fR(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *c);" 4
984263bc 317.Ip "int \fBSSL_CTX_check_private_key\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 318.Ip "long \fBSSL_CTX_ctrl\fR(\s-1SSL_CTX\s0 *ctx, int cmd, long larg, char *parg);" 4
984263bc 319.Ip "void \fBSSL_CTX_flush_sessions\fR(\s-1SSL_CTX\s0 *s, long t);" 4
984263bc 320.Ip "void \fBSSL_CTX_free\fR(\s-1SSL_CTX\s0 *a);" 4
984263bc 321.Ip "char *\fBSSL_CTX_get_app_data\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 322.Ip "X509_STORE *\fBSSL_CTX_get_cert_store\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 323.Ip "\s-1STACK\s0 *\fBSSL_CTX_get_client_CA_list\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 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
984263bc 325.Ip "char *\fBSSL_CTX_get_ex_data\fR(\s-1SSL_CTX\s0 *s, int idx);" 4
984263bc 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
984263bc 327.Ip "void (*\fBSSL_CTX_get_info_callback\fR(\s-1SSL_CTX\s0 *ctx))(\s-1SSL\s0 *ssl, int cb, int ret);" 4
984263bc 328.Ip "int \fBSSL_CTX_get_quiet_shutdown\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 329.Ip "int \fBSSL_CTX_get_session_cache_mode\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 330.Ip "long \fBSSL_CTX_get_timeout\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 331.Ip "int (*\fBSSL_CTX_get_verify_callback\fR(\s-1SSL_CTX\s0 *ctx))(int ok, X509_STORE_CTX *ctx);" 4
984263bc 332.Ip "int \fBSSL_CTX_get_verify_mode\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 333.Ip "int \fBSSL_CTX_load_verify_locations\fR(\s-1SSL_CTX\s0 *ctx, char *CAfile, char *CApath);" 4
984263bc 334.Ip "long \fBSSL_CTX_need_tmp_RSA\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 335.Ip "\s-1SSL_CTX\s0 *\fBSSL_CTX_new\fR(\s-1SSL_METHOD\s0 *meth);" 4
984263bc 336.Ip "int \fBSSL_CTX_remove_session\fR(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *c);" 4
984263bc 337.Ip "int \fBSSL_CTX_sess_accept\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 338.Ip "int \fBSSL_CTX_sess_accept_good\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 339.Ip "int \fBSSL_CTX_sess_accept_renegotiate\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 340.Ip "int \fBSSL_CTX_sess_cache_full\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 341.Ip "int \fBSSL_CTX_sess_cb_hits\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 342.Ip "int \fBSSL_CTX_sess_connect\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 343.Ip "int \fBSSL_CTX_sess_connect_good\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 344.Ip "int \fBSSL_CTX_sess_connect_renegotiate\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 345.Ip "int \fBSSL_CTX_sess_get_cache_size\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 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
984263bc 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
984263bc 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
984263bc 349.Ip "int \fBSSL_CTX_sess_hits\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 350.Ip "int \fBSSL_CTX_sess_misses\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 351.Ip "int \fBSSL_CTX_sess_number\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 352.Ip "void \fBSSL_CTX_sess_set_cache_size\fR(\s-1SSL_CTX\s0 *ctx,t);" 4
984263bc 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
984263bc 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
984263bc 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
984263bc 356.Ip "int \fBSSL_CTX_sess_timeouts\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 357.Ip "\s-1LHASH\s0 *\fBSSL_CTX_sessions\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 358.Ip "void \fBSSL_CTX_set_app_data\fR(\s-1SSL_CTX\s0 *ctx, void *arg);" 4
984263bc 359.Ip "void \fBSSL_CTX_set_cert_store\fR(\s-1SSL_CTX\s0 *ctx, X509_STORE *cs);" 4
984263bc 360.Ip "void \fBSSL_CTX_set_cert_verify_cb\fR(\s-1SSL_CTX\s0 *ctx, int (*cb)(), char *arg)" 4
984263bc 361.Ip "int \fBSSL_CTX_set_cipher_list\fR(\s-1SSL_CTX\s0 *ctx, char *str);" 4
984263bc 362.Ip "void \fBSSL_CTX_set_client_CA_list\fR(\s-1SSL_CTX\s0 *ctx, \s-1STACK\s0 *list);" 4
984263bc 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
984263bc 364.Ip "void \fBSSL_CTX_set_default_passwd_cb\fR(\s-1SSL_CTX\s0 *ctx, int (*cb);(void))" 4
984263bc 365.Ip "void \fBSSL_CTX_set_default_read_ahead\fR(\s-1SSL_CTX\s0 *ctx, int m);" 4
984263bc 366.Ip "int \fBSSL_CTX_set_default_verify_paths\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 367.Ip "int \fBSSL_CTX_set_ex_data\fR(\s-1SSL_CTX\s0 *s, int idx, char *arg);" 4
984263bc 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
984263bc 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
984263bc 370.Ip "void \fBSSL_CTX_set_msg_callback_arg\fR(\s-1SSL_CTX\s0 *ctx, void *arg);" 4
984263bc 371.Ip "void \fBSSL_CTX_set_options\fR(\s-1SSL_CTX\s0 *ctx, unsigned long op);" 4
984263bc 372.Ip "void \fBSSL_CTX_set_quiet_shutdown\fR(\s-1SSL_CTX\s0 *ctx, int mode);" 4
984263bc 373.Ip "void \fBSSL_CTX_set_session_cache_mode\fR(\s-1SSL_CTX\s0 *ctx, int mode);" 4
984263bc 374.Ip "int \fBSSL_CTX_set_ssl_version\fR(\s-1SSL_CTX\s0 *ctx, \s-1SSL_METHOD\s0 *meth);" 4
984263bc 375.Ip "void \fBSSL_CTX_set_timeout\fR(\s-1SSL_CTX\s0 *ctx, long t);" 4
a7d27d5a 376.Ip "long \fBSSL_CTX_set_tmp_dh\fR(\s-1SSL_CTX\s0* ctx, \s-1DH\s0 *dh);" 4
984263bc 377.Ip "long \fBSSL_CTX_set_tmp_dh_callback\fR(\s-1SSL_CTX\s0 *ctx, \s-1DH\s0 *(*cb)(void));" 4
984263bc 378.Ip "long \fBSSL_CTX_set_tmp_rsa\fR(\s-1SSL_CTX\s0 *ctx, \s-1RSA\s0 *rsa);" 4
984263bc 379.Ip "SSL_CTX_set_tmp_rsa_callback" 4
a7d27d5a 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
984263bc
MD
381.Sp
382Sets the callback which will be called when a temporary private key is
a7d27d5a 383required. The \fB\f(CWexport\fR\fR flag will be set if the reason for needing
984263bc 384a temp key is that an export ciphersuite is in use, in which case,
a7d27d5a 385\fB\f(CWkeylength\fR\fR will contain the required keylength in bits. Generate a key of
984263bc
MD
386appropriate size (using ???) and return it.
387.Ip "SSL_set_tmp_rsa_callback" 4
984263bc
MD
388long \fBSSL_set_tmp_rsa_callback\fR(\s-1SSL\s0 *ssl, \s-1RSA\s0 *(*cb)(\s-1SSL\s0 *ssl, int export, int keylength));
389.Sp
390The same as \fBSSL_CTX_set_tmp_rsa_callback\fR, except it operates on an \s-1SSL\s0
391session instead of a context.
392.Ip "void \fBSSL_CTX_set_verify\fR(\s-1SSL_CTX\s0 *ctx, int mode, int (*cb);(void))" 4
984263bc 393.Ip "int \fBSSL_CTX_use_PrivateKey\fR(\s-1SSL_CTX\s0 *ctx, \s-1EVP_PKEY\s0 *pkey);" 4
984263bc 394.Ip "int \fBSSL_CTX_use_PrivateKey_ASN1\fR(int type, \s-1SSL_CTX\s0 *ctx, unsigned char *d, long len);" 4
984263bc 395.Ip "int \fBSSL_CTX_use_PrivateKey_file\fR(\s-1SSL_CTX\s0 *ctx, char *file, int type);" 4
984263bc 396.Ip "int \fBSSL_CTX_use_RSAPrivateKey\fR(\s-1SSL_CTX\s0 *ctx, \s-1RSA\s0 *rsa);" 4
984263bc 397.Ip "int \fBSSL_CTX_use_RSAPrivateKey_ASN1\fR(\s-1SSL_CTX\s0 *ctx, unsigned char *d, long len);" 4
984263bc 398.Ip "int \fBSSL_CTX_use_RSAPrivateKey_file\fR(\s-1SSL_CTX\s0 *ctx, char *file, int type);" 4
984263bc 399.Ip "int \fBSSL_CTX_use_certificate\fR(\s-1SSL_CTX\s0 *ctx, X509 *x);" 4
984263bc 400.Ip "int \fBSSL_CTX_use_certificate_ASN1\fR(\s-1SSL_CTX\s0 *ctx, int len, unsigned char *d);" 4
984263bc 401.Ip "int \fBSSL_CTX_use_certificate_file\fR(\s-1SSL_CTX\s0 *ctx, char *file, int type);" 4
984263bc 402.Sh "\s-1DEALING\s0 \s-1WITH\s0 \s-1SESSIONS\s0"
984263bc
MD
403Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0
404sessions 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
984263bc 406.Ip "void \fBSSL_SESSION_free\fR(\s-1SSL_SESSION\s0 *ss);" 4
984263bc 407.Ip "char *\fBSSL_SESSION_get_app_data\fR(\s-1SSL_SESSION\s0 *s);" 4
984263bc 408.Ip "char *\fBSSL_SESSION_get_ex_data\fR(\s-1SSL_SESSION\s0 *s, int idx);" 4
984263bc 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
984263bc 410.Ip "long \fBSSL_SESSION_get_time\fR(\s-1SSL_SESSION\s0 *s);" 4
984263bc 411.Ip "long \fBSSL_SESSION_get_timeout\fR(\s-1SSL_SESSION\s0 *s);" 4
984263bc 412.Ip "unsigned long \fBSSL_SESSION_hash\fR(\s-1SSL_SESSION\s0 *a);" 4
984263bc 413.Ip "\s-1SSL_SESSION\s0 *\fBSSL_SESSION_new\fR(void);" 4
984263bc 414.Ip "int \fBSSL_SESSION_print\fR(\s-1BIO\s0 *bp, \s-1SSL_SESSION\s0 *x);" 4
984263bc 415.Ip "int \fBSSL_SESSION_print_fp\fR(\s-1FILE\s0 *fp, \s-1SSL_SESSION\s0 *x);" 4
984263bc 416.Ip "void \fBSSL_SESSION_set_app_data\fR(\s-1SSL_SESSION\s0 *s, char *a);" 4
984263bc 417.Ip "int \fBSSL_SESSION_set_ex_data\fR(\s-1SSL_SESSION\s0 *s, int idx, char *arg);" 4
984263bc 418.Ip "long \fBSSL_SESSION_set_time\fR(\s-1SSL_SESSION\s0 *s, long t);" 4
984263bc 419.Ip "long \fBSSL_SESSION_set_timeout\fR(\s-1SSL_SESSION\s0 *s, long t);" 4
984263bc 420.Sh "\s-1DEALING\s0 \s-1WITH\s0 \s-1CONNECTIONS\s0"
984263bc
MD
421Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0
422connection defined in the \fB\s-1SSL\s0\fR structure.
423.Ip "int \fBSSL_accept\fR(\s-1SSL\s0 *ssl);" 4
984263bc 424.Ip "int \fBSSL_add_dir_cert_subjects_to_stack\fR(\s-1STACK\s0 *stack, const char *dir);" 4
984263bc 425.Ip "int \fBSSL_add_file_cert_subjects_to_stack\fR(\s-1STACK\s0 *stack, const char *file);" 4
984263bc 426.Ip "int \fBSSL_add_client_CA\fR(\s-1SSL\s0 *ssl, X509 *x);" 4
984263bc 427.Ip "char *\fBSSL_alert_desc_string\fR(int value);" 4
984263bc 428.Ip "char *\fBSSL_alert_desc_string_long\fR(int value);" 4
984263bc 429.Ip "char *\fBSSL_alert_type_string\fR(int value);" 4
984263bc 430.Ip "char *\fBSSL_alert_type_string_long\fR(int value);" 4
984263bc 431.Ip "int \fBSSL_check_private_key\fR(\s-1SSL\s0 *ssl);" 4
984263bc 432.Ip "void \fBSSL_clear\fR(\s-1SSL\s0 *ssl);" 4
984263bc 433.Ip "long \fBSSL_clear_num_renegotiations\fR(\s-1SSL\s0 *ssl);" 4
984263bc 434.Ip "int \fBSSL_connect\fR(\s-1SSL\s0 *ssl);" 4
984263bc 435.Ip "void \fBSSL_copy_session_id\fR(\s-1SSL\s0 *t, \s-1SSL\s0 *f);" 4
984263bc 436.Ip "long \fBSSL_ctrl\fR(\s-1SSL\s0 *ssl, int cmd, long larg, char *parg);" 4
984263bc 437.Ip "int \fBSSL_do_handshake\fR(\s-1SSL\s0 *ssl);" 4
984263bc 438.Ip "\s-1SSL\s0 *\fBSSL_dup\fR(\s-1SSL\s0 *ssl);" 4
984263bc 439.Ip "\s-1STACK\s0 *\fBSSL_dup_CA_list\fR(\s-1STACK\s0 *sk);" 4
984263bc 440.Ip "void \fBSSL_free\fR(\s-1SSL\s0 *ssl);" 4
984263bc 441.Ip "\s-1SSL_CTX\s0 *\fBSSL_get_SSL_CTX\fR(\s-1SSL\s0 *ssl);" 4
984263bc 442.Ip "char *\fBSSL_get_app_data\fR(\s-1SSL\s0 *ssl);" 4
984263bc 443.Ip "X509 *\fBSSL_get_certificate\fR(\s-1SSL\s0 *ssl);" 4
984263bc 444.Ip "const char *\fBSSL_get_cipher\fR(\s-1SSL\s0 *ssl);" 4
984263bc 445.Ip "int \fBSSL_get_cipher_bits\fR(\s-1SSL\s0 *ssl, int *alg_bits);" 4
984263bc 446.Ip "char *\fBSSL_get_cipher_list\fR(\s-1SSL\s0 *ssl, int n);" 4
984263bc 447.Ip "char *\fBSSL_get_cipher_name\fR(\s-1SSL\s0 *ssl);" 4
984263bc 448.Ip "char *\fBSSL_get_cipher_version\fR(\s-1SSL\s0 *ssl);" 4
984263bc 449.Ip "\s-1STACK\s0 *\fBSSL_get_ciphers\fR(\s-1SSL\s0 *ssl);" 4
984263bc 450.Ip "\s-1STACK\s0 *\fBSSL_get_client_CA_list\fR(\s-1SSL\s0 *ssl);" 4
984263bc 451.Ip "\s-1SSL_CIPHER\s0 *\fBSSL_get_current_cipher\fR(\s-1SSL\s0 *ssl);" 4
984263bc 452.Ip "long \fBSSL_get_default_timeout\fR(\s-1SSL\s0 *ssl);" 4
984263bc 453.Ip "int \fBSSL_get_error\fR(\s-1SSL\s0 *ssl, int i);" 4
984263bc 454.Ip "char *\fBSSL_get_ex_data\fR(\s-1SSL\s0 *ssl, int idx);" 4
984263bc 455.Ip "int \fBSSL_get_ex_data_X509_STORE_CTX_idx\fR(void);" 4
984263bc 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
984263bc 457.Ip "int \fBSSL_get_fd\fR(\s-1SSL\s0 *ssl);" 4
984263bc 458.Ip "void (*\fBSSL_get_info_callback\fR(\s-1SSL\s0 *ssl);)(void)" 4
984263bc 459.Ip "\s-1STACK\s0 *\fBSSL_get_peer_cert_chain\fR(\s-1SSL\s0 *ssl);" 4
984263bc 460.Ip "X509 *\fBSSL_get_peer_certificate\fR(\s-1SSL\s0 *ssl);" 4
984263bc 461.Ip "\s-1EVP_PKEY\s0 *\fBSSL_get_privatekey\fR(\s-1SSL\s0 *ssl);" 4
984263bc 462.Ip "int \fBSSL_get_quiet_shutdown\fR(\s-1SSL\s0 *ssl);" 4
984263bc 463.Ip "\s-1BIO\s0 *\fBSSL_get_rbio\fR(\s-1SSL\s0 *ssl);" 4
984263bc 464.Ip "int \fBSSL_get_read_ahead\fR(\s-1SSL\s0 *ssl);" 4
984263bc 465.Ip "\s-1SSL_SESSION\s0 *\fBSSL_get_session\fR(\s-1SSL\s0 *ssl);" 4
984263bc 466.Ip "char *\fBSSL_get_shared_ciphers\fR(\s-1SSL\s0 *ssl, char *buf, int len);" 4
984263bc 467.Ip "int \fBSSL_get_shutdown\fR(\s-1SSL\s0 *ssl);" 4
984263bc 468.Ip "\s-1SSL_METHOD\s0 *\fBSSL_get_ssl_method\fR(\s-1SSL\s0 *ssl);" 4
984263bc 469.Ip "int \fBSSL_get_state\fR(\s-1SSL\s0 *ssl);" 4
984263bc 470.Ip "long \fBSSL_get_time\fR(\s-1SSL\s0 *ssl);" 4
984263bc 471.Ip "long \fBSSL_get_timeout\fR(\s-1SSL\s0 *ssl);" 4
984263bc 472.Ip "int (*\fBSSL_get_verify_callback\fR(\s-1SSL\s0 *ssl);)(void)" 4
984263bc 473.Ip "int \fBSSL_get_verify_mode\fR(\s-1SSL\s0 *ssl);" 4
984263bc 474.Ip "long \fBSSL_get_verify_result\fR(\s-1SSL\s0 *ssl);" 4
984263bc 475.Ip "char *\fBSSL_get_version\fR(\s-1SSL\s0 *ssl);" 4
984263bc 476.Ip "\s-1BIO\s0 *\fBSSL_get_wbio\fR(\s-1SSL\s0 *ssl);" 4
984263bc 477.Ip "int \fBSSL_in_accept_init\fR(\s-1SSL\s0 *ssl);" 4
984263bc 478.Ip "int \fBSSL_in_before\fR(\s-1SSL\s0 *ssl);" 4
984263bc 479.Ip "int \fBSSL_in_connect_init\fR(\s-1SSL\s0 *ssl);" 4
984263bc 480.Ip "int \fBSSL_in_init\fR(\s-1SSL\s0 *ssl);" 4
984263bc 481.Ip "int \fBSSL_is_init_finished\fR(\s-1SSL\s0 *ssl);" 4
984263bc 482.Ip "\s-1STACK\s0 *\fBSSL_load_client_CA_file\fR(char *file);" 4
984263bc 483.Ip "void \fBSSL_load_error_strings\fR(void);" 4
984263bc 484.Ip "\s-1SSL\s0 *\fBSSL_new\fR(\s-1SSL_CTX\s0 *ctx);" 4
984263bc 485.Ip "long \fBSSL_num_renegotiations\fR(\s-1SSL\s0 *ssl);" 4
984263bc 486.Ip "int \fBSSL_peek\fR(\s-1SSL\s0 *ssl, void *buf, int num);" 4
984263bc 487.Ip "int \fBSSL_pending\fR(\s-1SSL\s0 *ssl);" 4
984263bc 488.Ip "int \fBSSL_read\fR(\s-1SSL\s0 *ssl, void *buf, int num);" 4
984263bc 489.Ip "int \fBSSL_renegotiate\fR(\s-1SSL\s0 *ssl);" 4
984263bc 490.Ip "char *\fBSSL_rstate_string\fR(\s-1SSL\s0 *ssl);" 4
984263bc 491.Ip "char *\fBSSL_rstate_string_long\fR(\s-1SSL\s0 *ssl);" 4
984263bc 492.Ip "long \fBSSL_session_reused\fR(\s-1SSL\s0 *ssl);" 4
984263bc 493.Ip "void \fBSSL_set_accept_state\fR(\s-1SSL\s0 *ssl);" 4
984263bc 494.Ip "void \fBSSL_set_app_data\fR(\s-1SSL\s0 *ssl, char *arg);" 4
984263bc 495.Ip "void \fBSSL_set_bio\fR(\s-1SSL\s0 *ssl, \s-1BIO\s0 *rbio, \s-1BIO\s0 *wbio);" 4
984263bc 496.Ip "int \fBSSL_set_cipher_list\fR(\s-1SSL\s0 *ssl, char *str);" 4
984263bc 497.Ip "void \fBSSL_set_client_CA_list\fR(\s-1SSL\s0 *ssl, \s-1STACK\s0 *list);" 4
984263bc 498.Ip "void \fBSSL_set_connect_state\fR(\s-1SSL\s0 *ssl);" 4
984263bc 499.Ip "int \fBSSL_set_ex_data\fR(\s-1SSL\s0 *ssl, int idx, char *arg);" 4
984263bc 500.Ip "int \fBSSL_set_fd\fR(\s-1SSL\s0 *ssl, int fd);" 4
984263bc 501.Ip "void \fBSSL_set_info_callback\fR(\s-1SSL\s0 *ssl, void (*cb);(void))" 4
984263bc 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
984263bc 503.Ip "void \fBSSL_set_msg_callback_arg\fR(\s-1SSL\s0 *ctx, void *arg);" 4
984263bc 504.Ip "void \fBSSL_set_options\fR(\s-1SSL\s0 *ssl, unsigned long op);" 4
984263bc 505.Ip "void \fBSSL_set_quiet_shutdown\fR(\s-1SSL\s0 *ssl, int mode);" 4
984263bc 506.Ip "void \fBSSL_set_read_ahead\fR(\s-1SSL\s0 *ssl, int yes);" 4
984263bc 507.Ip "int \fBSSL_set_rfd\fR(\s-1SSL\s0 *ssl, int fd);" 4
984263bc 508.Ip "int \fBSSL_set_session\fR(\s-1SSL\s0 *ssl, \s-1SSL_SESSION\s0 *session);" 4
984263bc 509.Ip "void \fBSSL_set_shutdown\fR(\s-1SSL\s0 *ssl, int mode);" 4
984263bc 510.Ip "int \fBSSL_set_ssl_method\fR(\s-1SSL\s0 *ssl, \s-1SSL_METHOD\s0 *meth);" 4
984263bc 511.Ip "void \fBSSL_set_time\fR(\s-1SSL\s0 *ssl, long t);" 4
984263bc 512.Ip "void \fBSSL_set_timeout\fR(\s-1SSL\s0 *ssl, long t);" 4
984263bc 513.Ip "void \fBSSL_set_verify\fR(\s-1SSL\s0 *ssl, int mode, int (*callback);(void))" 4
984263bc 514.Ip "void \fBSSL_set_verify_result\fR(\s-1SSL\s0 *ssl, long arg);" 4
984263bc 515.Ip "int \fBSSL_set_wfd\fR(\s-1SSL\s0 *ssl, int fd);" 4
984263bc 516.Ip "int \fBSSL_shutdown\fR(\s-1SSL\s0 *ssl);" 4
984263bc 517.Ip "int \fBSSL_state\fR(\s-1SSL\s0 *ssl);" 4
984263bc 518.Ip "char *\fBSSL_state_string\fR(\s-1SSL\s0 *ssl);" 4
984263bc 519.Ip "char *\fBSSL_state_string_long\fR(\s-1SSL\s0 *ssl);" 4
984263bc 520.Ip "long \fBSSL_total_renegotiations\fR(\s-1SSL\s0 *ssl);" 4
984263bc 521.Ip "int \fBSSL_use_PrivateKey\fR(\s-1SSL\s0 *ssl, \s-1EVP_PKEY\s0 *pkey);" 4
984263bc 522.Ip "int \fBSSL_use_PrivateKey_ASN1\fR(int type, \s-1SSL\s0 *ssl, unsigned char *d, long len);" 4
984263bc 523.Ip "int \fBSSL_use_PrivateKey_file\fR(\s-1SSL\s0 *ssl, char *file, int type);" 4
984263bc 524.Ip "int \fBSSL_use_RSAPrivateKey\fR(\s-1SSL\s0 *ssl, \s-1RSA\s0 *rsa);" 4
984263bc 525.Ip "int \fBSSL_use_RSAPrivateKey_ASN1\fR(\s-1SSL\s0 *ssl, unsigned char *d, long len);" 4
984263bc 526.Ip "int \fBSSL_use_RSAPrivateKey_file\fR(\s-1SSL\s0 *ssl, char *file, int type);" 4
984263bc 527.Ip "int \fBSSL_use_certificate\fR(\s-1SSL\s0 *ssl, X509 *x);" 4
984263bc 528.Ip "int \fBSSL_use_certificate_ASN1\fR(\s-1SSL\s0 *ssl, int len, unsigned char *d);" 4
984263bc 529.Ip "int \fBSSL_use_certificate_file\fR(\s-1SSL\s0 *ssl, char *file, int type);" 4
984263bc 530.Ip "int \fBSSL_version\fR(\s-1SSL\s0 *ssl);" 4
984263bc 531.Ip "int \fBSSL_want\fR(\s-1SSL\s0 *ssl);" 4
984263bc 532.Ip "int \fBSSL_want_nothing\fR(\s-1SSL\s0 *ssl);" 4
984263bc 533.Ip "int \fBSSL_want_read\fR(\s-1SSL\s0 *ssl);" 4
984263bc 534.Ip "int \fBSSL_want_write\fR(\s-1SSL\s0 *ssl);" 4
984263bc 535.Ip "int \fBSSL_want_x509_lookup\fR(s);" 4
984263bc 536.Ip "int \fBSSL_write\fR(\s-1SSL\s0 *ssl, const void *buf, int num);" 4
984263bc 537.SH "SEE ALSO"
984263bc
MD
538openssl(1), crypto(3),
539SSL_accept(3), SSL_clear(3),
540SSL_connect(3),
541SSL_CIPHER_get_name(3),
542SSL_COMP_add_compression_method(3),
543SSL_CTX_add_extra_chain_cert(3),
544SSL_CTX_add_session(3),
545SSL_CTX_ctrl(3),
546SSL_CTX_flush_sessions(3),
547SSL_CTX_get_ex_new_index(3),
548SSL_CTX_get_verify_mode(3),
549SSL_CTX_load_verify_locations(3)
550SSL_CTX_new(3),
551SSL_CTX_sess_number(3),
552SSL_CTX_sess_set_cache_size(3),
553SSL_CTX_sess_set_get_cb(3),
554SSL_CTX_sessions(3),
555SSL_CTX_set_cert_store(3),
556SSL_CTX_set_cert_verify_callback(3),
557SSL_CTX_set_cipher_list(3),
558SSL_CTX_set_client_CA_list(3),
559SSL_CTX_set_client_cert_cb(3),
560SSL_CTX_set_default_passwd_cb(3),
561SSL_CTX_set_generate_session_id(3),
562SSL_CTX_set_info_callback(3),
563SSL_CTX_set_max_cert_list(3),
564SSL_CTX_set_mode(3),
565SSL_CTX_set_msg_callback(3),
566SSL_CTX_set_options(3),
567SSL_CTX_set_quiet_shutdown(3),
568SSL_CTX_set_session_cache_mode(3),
569SSL_CTX_set_session_id_context(3),
570SSL_CTX_set_ssl_version(3),
571SSL_CTX_set_timeout(3),
572SSL_CTX_set_tmp_rsa_callback(3),
573SSL_CTX_set_tmp_dh_callback(3),
574SSL_CTX_set_verify(3),
575SSL_CTX_use_certificate(3),
576SSL_alert_type_string(3),
577SSL_do_handshake(3),
578SSL_get_SSL_CTX(3),
579SSL_get_ciphers(3),
580SSL_get_client_CA_list(3),
581SSL_get_default_timeout(3),
582SSL_get_error(3),
583SSL_get_ex_data_X509_STORE_CTX_idx(3),
584SSL_get_ex_new_index(3),
585SSL_get_fd(3),
586SSL_get_peer_cert_chain(3),
587SSL_get_rbio(3),
588SSL_get_session(3),
589SSL_get_verify_result(3),
590SSL_get_version(3),
591SSL_library_init(3),
592SSL_load_client_CA_file(3),
593SSL_new(3),
594SSL_pending(3),
595SSL_read(3),
596SSL_rstate_string(3),
597SSL_session_reused(3),
598SSL_set_bio(3),
599SSL_set_connect_state(3),
600SSL_set_fd(3),
601SSL_set_session(3),
602SSL_set_shutdown(3),
603SSL_shutdown(3),
604SSL_state_string(3),
605SSL_want(3),
606SSL_write(3),
607SSL_SESSION_free(3),
608SSL_SESSION_get_ex_new_index(3),
609SSL_SESSION_get_time(3),
610d2i_SSL_SESSION(3)
611.SH "HISTORY"
984263bc 612The ssl(3) document appeared in OpenSSL 0.9.2
a7d27d5a
JR
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