diff options
author | schwarze <> | 2016-12-10 18:11:51 +0000 |
---|---|---|
committer | schwarze <> | 2016-12-10 18:11:51 +0000 |
commit | c1d02822651c8b4d0f6fa8ca51ff8da0273b1ae1 (patch) | |
tree | 25bb89d1b34bc50cbf85af8907dbf6f4684dbd68 /src/lib | |
parent | b769bcaecab85091f348cf5c186e7b820fe0489f (diff) | |
download | openbsd-c1d02822651c8b4d0f6fa8ca51ff8da0273b1ae1.tar.gz openbsd-c1d02822651c8b4d0f6fa8ca51ff8da0273b1ae1.tar.bz2 openbsd-c1d02822651c8b4d0f6fa8ca51ff8da0273b1ae1.zip |
Add Copyright and license.
Delete all the function prototypes.
They are all available from their individual manual pages.
Here, they were incomplete and nothing but a maintenance nightmare.
Add several missing cross reference, such that
this page now references all libssl manual pages.
Delete a sentence that said nothing and correct a typo.
Now all libssl manuals have proper Copyright notices and licenses,
and i have merged all improvements from OpenSSL that i could find.
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libssl/man/ssl.3 | 1196 |
1 files changed, 149 insertions, 1047 deletions
diff --git a/src/lib/libssl/man/ssl.3 b/src/lib/libssl/man/ssl.3 index 283340e228..563e2bce13 100644 --- a/src/lib/libssl/man/ssl.3 +++ b/src/lib/libssl/man/ssl.3 | |||
@@ -1,7 +1,56 @@ | |||
1 | .\" $OpenBSD: ssl.3,v 1.4 2016/12/10 18:11:51 schwarze Exp $ | ||
2 | .\" OpenSSL e330f55d Nov 11 00:51:04 2016 +0100 | ||
1 | .\" | 3 | .\" |
2 | .\" $OpenBSD: ssl.3,v 1.3 2016/12/01 16:02:14 schwarze Exp $ | 4 | .\" This file was written by Ralf S. Engelschall <rse@openssl.org>, |
5 | .\" Ben Laurie <ben@openssl.org>, and Ulf Moeller <ulf@openssl.org>. | ||
6 | .\" Copyright (c) 1998-2002, 2005, 2013, 2015 The OpenSSL Project. | ||
7 | .\" All rights reserved. | ||
3 | .\" | 8 | .\" |
4 | .Dd $Mdocdate: December 1 2016 $ | 9 | .\" Redistribution and use in source and binary forms, with or without |
10 | .\" modification, are permitted provided that the following conditions | ||
11 | .\" are met: | ||
12 | .\" | ||
13 | .\" 1. Redistributions of source code must retain the above copyright | ||
14 | .\" notice, this list of conditions and the following disclaimer. | ||
15 | .\" | ||
16 | .\" 2. Redistributions in binary form must reproduce the above copyright | ||
17 | .\" notice, this list of conditions and the following disclaimer in | ||
18 | .\" the documentation and/or other materials provided with the | ||
19 | .\" distribution. | ||
20 | .\" | ||
21 | .\" 3. All advertising materials mentioning features or use of this | ||
22 | .\" software must display the following acknowledgment: | ||
23 | .\" "This product includes software developed by the OpenSSL Project | ||
24 | .\" for use in the OpenSSL Toolkit. (http://www.openssl.org/)" | ||
25 | .\" | ||
26 | .\" 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to | ||
27 | .\" endorse or promote products derived from this software without | ||
28 | .\" prior written permission. For written permission, please contact | ||
29 | .\" openssl-core@openssl.org. | ||
30 | .\" | ||
31 | .\" 5. Products derived from this software may not be called "OpenSSL" | ||
32 | .\" nor may "OpenSSL" appear in their names without prior written | ||
33 | .\" permission of the OpenSSL Project. | ||
34 | .\" | ||
35 | .\" 6. Redistributions of any form whatsoever must retain the following | ||
36 | .\" acknowledgment: | ||
37 | .\" "This product includes software developed by the OpenSSL Project | ||
38 | .\" for use in the OpenSSL Toolkit (http://www.openssl.org/)" | ||
39 | .\" | ||
40 | .\" THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY | ||
41 | .\" EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
42 | .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | ||
43 | .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR | ||
44 | .\" ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
45 | .\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
46 | .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
47 | .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
48 | .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | ||
49 | .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
50 | .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED | ||
51 | .\" OF THE POSSIBILITY OF SUCH DAMAGE. | ||
52 | .\" | ||
53 | .Dd $Mdocdate: December 10 2016 $ | ||
5 | .Dt SSL 3 | 54 | .Dt SSL 3 |
6 | .Os | 55 | .Os |
7 | .Sh NAME | 56 | .Sh NAME |
@@ -11,7 +60,6 @@ | |||
11 | The OpenSSL | 60 | The OpenSSL |
12 | .Nm ssl | 61 | .Nm ssl |
13 | library implements the Transport Layer Security (TLS v1) protocols. | 62 | library implements the Transport Layer Security (TLS v1) protocols. |
14 | It provides a rich API which is documented here. | ||
15 | .Pp | 63 | .Pp |
16 | At first the library must be initialized; see | 64 | At first the library must be initialized; see |
17 | .Xr SSL_library_init 3 . | 65 | .Xr SSL_library_init 3 . |
@@ -49,7 +97,7 @@ can be used to shut down the TLS/SSL connection. | |||
49 | .Sh DATA STRUCTURES | 97 | .Sh DATA STRUCTURES |
50 | Currently the OpenSSL | 98 | Currently the OpenSSL |
51 | .Nm ssl | 99 | .Nm ssl |
52 | library functions deals with the following data structures: | 100 | library functions deal with the following data structures: |
53 | .Bl -tag -width Ds | 101 | .Bl -tag -width Ds |
54 | .It Vt SSL_METHOD No (SSL Method) | 102 | .It Vt SSL_METHOD No (SSL Method) |
55 | That's a dispatch structure describing the internal | 103 | That's a dispatch structure describing the internal |
@@ -57,6 +105,9 @@ That's a dispatch structure describing the internal | |||
57 | library methods/functions which implement the various protocol versions. | 105 | library methods/functions which implement the various protocol versions. |
58 | It's needed to create an | 106 | It's needed to create an |
59 | .Vt SSL_CTX . | 107 | .Vt SSL_CTX . |
108 | See | ||
109 | .Xr TLS_method 3 | ||
110 | for constructors. | ||
60 | .It Vt SSL_CIPHER No (SSL Cipher) | 111 | .It Vt SSL_CIPHER No (SSL Cipher) |
61 | This structure holds the algorithm information for a particular cipher which | 112 | This structure holds the algorithm information for a particular cipher which |
62 | is a core part of the SSL/TLS protocol. | 113 | is a core part of the SSL/TLS protocol. |
@@ -127,1041 +178,34 @@ by | |||
127 | .Ef | 178 | .Ef |
128 | .El | 179 | .El |
129 | .Sh API FUNCTIONS | 180 | .Sh API FUNCTIONS |
130 | The functions that the OpenSSL | 181 | .Ss Ciphers |
131 | .Nm ssl | 182 | The following pages describe functions acting on |
132 | library exports are documented below: | ||
133 | .Ss DEALING WITH PROTOCOL METHODS | ||
134 | Here we document the various API functions which deal with the SSL/TLS protocol | ||
135 | methods defined in | ||
136 | .Vt SSL_METHOD | ||
137 | structures. | ||
138 | .Bl -tag -width Ds | ||
139 | .It Xo | ||
140 | .Ft const SSL_METHOD * | ||
141 | .Fn TLS_client_method void | ||
142 | .Xc | ||
143 | Constructor for the | ||
144 | .Vt SSL_METHOD | ||
145 | structure for a dedicated client. | ||
146 | .It Xo | ||
147 | .Ft const SSL_METHOD * | ||
148 | .Fn TLS_server_method void | ||
149 | .Xc | ||
150 | Constructor for the | ||
151 | .Vt SSL_METHOD | ||
152 | structure for a dedicated server. | ||
153 | .It Xo | ||
154 | .Ft const SSL_METHOD * | ||
155 | .Fn TLS_method void | ||
156 | .Xc | ||
157 | Constructor for the | ||
158 | .Vt SSL_METHOD | ||
159 | structure for combined client and server. | ||
160 | .El | ||
161 | .Ss DEALING WITH CIPHERS | ||
162 | Here we document the various API functions which deal with the SSL/TLS ciphers | ||
163 | defined in | ||
164 | .Vt SSL_CIPHER | 183 | .Vt SSL_CIPHER |
165 | structures. | 184 | objects: |
166 | .Bl -tag -width Ds | 185 | .Xr SSL_get_ciphers 3 , |
167 | .It Xo | 186 | .Xr SSL_get_current_cipher 3 , |
168 | .Ft char * | 187 | .Xr SSL_CIPHER_get_name 3 |
169 | .Fn SSL_CIPHER_description "SSL_CIPHER *cipher" "char *buf" "int len" | 188 | .Ss Protocol contexts |
170 | .Xc | 189 | The following pages describe functions acting on |
171 | Write a string to | ||
172 | .Fa buf | ||
173 | (with a maximum size of | ||
174 | .Fa len ) | ||
175 | containing a human readable description of | ||
176 | .Fa cipher . | ||
177 | Returns | ||
178 | .Fa buf . | ||
179 | .It Xo | ||
180 | .Ft int | ||
181 | .Fn SSL_CIPHER_get_bits "SSL_CIPHER *cipher" "int *alg_bits" | ||
182 | .Xc | ||
183 | Determine the number of bits in | ||
184 | .Fa cipher . | ||
185 | Because of export crippled ciphers there are two bits: | ||
186 | the bits the algorithm supports in general (stored to | ||
187 | .Fa alg_bits ) | ||
188 | and the bits which are actually used (the return value). | ||
189 | .It Xo | ||
190 | .Ft const char * | ||
191 | .Fn SSL_CIPHER_get_name "SSL_CIPHER *cipher" | ||
192 | .Xc | ||
193 | Return the internal name of | ||
194 | .Fa cipher | ||
195 | as a string. | ||
196 | These are the various strings defined by the | ||
197 | .Dv SSL2_TXT_xxx , | ||
198 | .Dv SSL3_TXT_xxx | ||
199 | and | ||
200 | .Dv TLS1_TXT_xxx | ||
201 | definitions in the header files. | ||
202 | .It Xo | ||
203 | .Ft char * | ||
204 | .Fn SSL_CIPHER_get_version "SSL_CIPHER *cipher" | ||
205 | .Xc | ||
206 | Returns a string like | ||
207 | Qq TLSv1 | ||
208 | which indicates the SSL/TLS protocol version to which | ||
209 | .Fa cipher | ||
210 | belongs (i.e., where it was defined in the specification the first time). | ||
211 | .El | ||
212 | .Ss DEALING WITH PROTOCOL CONTEXTS | ||
213 | Here we document the various API functions which deal with the SSL/TLS | ||
214 | protocol context defined in the | ||
215 | .Vt SSL_CTX | 190 | .Vt SSL_CTX |
216 | structure. | 191 | objects. |
217 | .Bl -tag -width Ds | 192 | Many of these pages also document variants providing similar |
218 | .It Xo | 193 | functionality for individual connection objects. |
219 | .Ft int | ||
220 | .Fn SSL_CTX_add_client_CA "SSL_CTX *ctx" "X509 *x" | ||
221 | .Xc | ||
222 | .It Xo | ||
223 | .Ft long | ||
224 | .Fn SSL_CTX_add_extra_chain_cert "SSL_CTX *ctx" "X509 *x509" | ||
225 | .Xc | ||
226 | .It Xo | ||
227 | .Ft int | ||
228 | .Fn SSL_CTX_add_session "SSL_CTX *ctx" "SSL_SESSION *c" | ||
229 | .Xc | ||
230 | .It Xo | ||
231 | .Ft int | ||
232 | .Fn SSL_CTX_check_private_key "const SSL_CTX *ctx" | ||
233 | .Xc | ||
234 | .It Xo | ||
235 | .Ft long | ||
236 | .Fn SSL_CTX_ctrl "SSL_CTX *ctx" "int cmd" "long larg" "char *parg" | ||
237 | .Xc | ||
238 | .It Xo | ||
239 | .Ft void | ||
240 | .Fn SSL_CTX_flush_sessions "SSL_CTX *s" "long t" | ||
241 | .Xc | ||
242 | .It Xo | ||
243 | .Ft void | ||
244 | .Fn SSL_CTX_free "SSL_CTX *a" | ||
245 | .Xc | ||
246 | .It Xo | ||
247 | .Ft char * | ||
248 | .Fn SSL_CTX_get_app_data "SSL_CTX *ctx" | ||
249 | .Xc | ||
250 | .It Xo | ||
251 | .Ft X509_STORE * | ||
252 | .Fn SSL_CTX_get_cert_store "SSL_CTX *ctx" | ||
253 | .Xc | ||
254 | .It Xo | ||
255 | .Ft STACK * | ||
256 | .Fn SSL_CTX_get_client_CA_list "const SSL_CTX *ctx" | ||
257 | .Xc | ||
258 | .It Xo | ||
259 | .Ft int | ||
260 | .Fn "(*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx))" | ||
261 | .Fa "SSL *ssl" "X509 **x509" "EVP_PKEY **pkey" | ||
262 | .Xc | ||
263 | .It Xo | ||
264 | .Ft char * | ||
265 | .Fn SSL_CTX_get_ex_data "const SSL_CTX *s" "int idx" | ||
266 | .Xc | ||
267 | .It Xo | ||
268 | .Ft int | ||
269 | .Fo SSL_CTX_get_ex_new_index | ||
270 | .Fa "long argl" | ||
271 | .Fa "void *argp" | ||
272 | .Fa "CRYPTO_EX_new *new_func" | ||
273 | .Fa "CRYPTO_EX_dup *dup_func" | ||
274 | .Fa "CRYPTO_EX_free *free_func" | ||
275 | .Fc | ||
276 | .Xc | ||
277 | .It Xo | ||
278 | .Ft void | ||
279 | .Fo "(*SSL_CTX_get_info_callback(const SSL_CTX *ctx))" | ||
280 | .Fa "SSL *ssl" | ||
281 | .Fa "int cb" | ||
282 | .Fa "int ret" | ||
283 | .Fc | ||
284 | .Xc | ||
285 | .It Xo | ||
286 | .Ft int | ||
287 | .Fn SSL_CTX_get_quiet_shutdown "const SSL_CTX *ctx" | ||
288 | .Xc | ||
289 | .It Xo | ||
290 | .Ft int | ||
291 | .Fn SSL_CTX_get_session_cache_mode "SSL_CTX *ctx" | ||
292 | .Xc | ||
293 | .It Xo | ||
294 | .Ft long | ||
295 | .Fn SSL_CTX_get_timeout "const SSL_CTX *ctx" | ||
296 | .Xc | ||
297 | .It Xo | ||
298 | .Ft int | ||
299 | .Fo "(*SSL_CTX_get_verify_callback(const SSL_CTX *ctx))" | ||
300 | .Fa "int ok" | ||
301 | .Fa "X509_STORE_CTX *ctx" | ||
302 | .Fc | ||
303 | .Xc | ||
304 | .It Xo | ||
305 | .Ft int | ||
306 | .Fn SSL_CTX_get_verify_mode "SSL_CTX *ctx" | ||
307 | .Xc | ||
308 | .It Xo | ||
309 | .Ft int | ||
310 | .Fn SSL_CTX_load_verify_locations "SSL_CTX *ctx" "char *CAfile" "char *CApath" | ||
311 | .Xc | ||
312 | .It Xo | ||
313 | .Ft long | ||
314 | .Fn SSL_CTX_need_tmp_RSA "SSL_CTX *ctx" | ||
315 | .Xc | ||
316 | .It Xo | ||
317 | .Ft SSL_CTX * | ||
318 | .Fn SSL_CTX_new "const SSL_METHOD *meth" | ||
319 | .Xc | ||
320 | .It Xo | ||
321 | .Ft int | ||
322 | .Fn SSL_CTX_remove_session "SSL_CTX *ctx" "SSL_SESSION *c" | ||
323 | .Xc | ||
324 | .It Xo | ||
325 | .Ft int | ||
326 | .Fn SSL_CTX_sess_accept "SSL_CTX *ctx" | ||
327 | .Xc | ||
328 | .It Xo | ||
329 | .Ft int | ||
330 | .Fn SSL_CTX_sess_accept_good "SSL_CTX *ctx" | ||
331 | .Xc | ||
332 | .It Xo | ||
333 | .Ft int | ||
334 | .Fn SSL_CTX_sess_accept_renegotiate "SSL_CTX *ctx" | ||
335 | .Xc | ||
336 | .It Xo | ||
337 | .Ft int | ||
338 | .Fn SSL_CTX_sess_cache_full "SSL_CTX *ctx" | ||
339 | .Xc | ||
340 | .It Xo | ||
341 | .Ft int | ||
342 | .Fn SSL_CTX_sess_cb_hits "SSL_CTX *ctx" | ||
343 | .Xc | ||
344 | .It Xo | ||
345 | .Ft int | ||
346 | .Fn SSL_CTX_sess_connect "SSL_CTX *ctx" | ||
347 | .Xc | ||
348 | .It Xo | ||
349 | .Ft int | ||
350 | .Fn SSL_CTX_sess_connect_good "SSL_CTX *ctx" | ||
351 | .Xc | ||
352 | .It Xo | ||
353 | .Ft int | ||
354 | .Fn SSL_CTX_sess_connect_renegotiate "SSL_CTX *ctx" | ||
355 | .Xc | ||
356 | .It Xo | ||
357 | .Ft int | ||
358 | .Fn SSL_CTX_sess_get_cache_size "SSL_CTX *ctx" | ||
359 | .Xc | ||
360 | .It Xo | ||
361 | .Ft SSL_SESSION * | ||
362 | .Fo "(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx))" | ||
363 | .Fa "SSL *ssl" | ||
364 | .Fa "unsigned char *data" | ||
365 | .Fa "int len" | ||
366 | .Fa "int *copy" | ||
367 | .Fc | ||
368 | .Xc | ||
369 | .It Xo | ||
370 | .Ft int | ||
371 | .Fn "(*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx))" "SSL *ssl" "SSL_SESSION *sess" | ||
372 | .Xc | ||
373 | .It Xo | ||
374 | .Ft void | ||
375 | .Fo "(*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx))" | ||
376 | .Fa "SSL_CTX *ctx" | ||
377 | .Fa "SSL_SESSION *sess" | ||
378 | .Fc | ||
379 | .Xc | ||
380 | .It Xo | ||
381 | .Ft int | ||
382 | .Fn SSL_CTX_sess_hits "SSL_CTX *ctx" | ||
383 | .Xc | ||
384 | .It Xo | ||
385 | .Ft int | ||
386 | .Fn SSL_CTX_sess_misses "SSL_CTX *ctx" | ||
387 | .Xc | ||
388 | .It Xo | ||
389 | .Ft int | ||
390 | .Fn SSL_CTX_sess_number "SSL_CTX *ctx" | ||
391 | .Xc | ||
392 | .It Xo | ||
393 | .Ft void | ||
394 | .Fn SSL_CTX_sess_set_cache_size "SSL_CTX *ctx" "long t" | ||
395 | .Xc | ||
396 | .It Xo | ||
397 | .Ft void | ||
398 | .Fo SSL_CTX_sess_set_get_cb | ||
399 | .Fa "SSL_CTX *ctx" | ||
400 | .Fa "SSL_SESSION *(*cb)(SSL *ssl, unsigned char *data, int len, int *copy)" | ||
401 | .Fc | ||
402 | .Xc | ||
403 | .It Xo | ||
404 | .Ft void | ||
405 | .Fo SSL_CTX_sess_set_new_cb | ||
406 | .Fa "SSL_CTX *ctx" | ||
407 | .Fa "int (*cb)(SSL *ssl, SSL_SESSION *sess)" | ||
408 | .Fc | ||
409 | .Xc | ||
410 | .It Xo | ||
411 | .Ft void | ||
412 | .Fo SSL_CTX_sess_set_remove_cb | ||
413 | .Fa "SSL_CTX *ctx" | ||
414 | .Fa "void (*cb)(SSL_CTX *ctx, SSL_SESSION *sess)" | ||
415 | .Fc | ||
416 | .Xc | ||
417 | .It Xo | ||
418 | .Ft int | ||
419 | .Fn SSL_CTX_sess_timeouts "SSL_CTX *ctx" | ||
420 | .Xc | ||
421 | .It Xo | ||
422 | .Ft LHASH * | ||
423 | .Fn SSL_CTX_sessions "SSL_CTX *ctx" | ||
424 | .Xc | ||
425 | .It Xo | ||
426 | .Ft void | ||
427 | .Fn SSL_CTX_set_app_data "SSL_CTX *ctx" "void *arg" | ||
428 | .Xc | ||
429 | .It Xo | ||
430 | .Ft void | ||
431 | .Fn SSL_CTX_set_cert_store "SSL_CTX *ctx" "X509_STORE *cs" | ||
432 | .Xc | ||
433 | .It Xo | ||
434 | .Ft void | ||
435 | .Fn SSL_CTX_set_cert_verify_cb "SSL_CTX *ctx" "int (*cb)()" "char *arg" | ||
436 | .Xc | ||
437 | .It Xo | ||
438 | .Ft int | ||
439 | .Fn SSL_CTX_set_cipher_list "SSL_CTX *ctx" "char *str" | ||
440 | .Xc | ||
441 | .It Xo | ||
442 | .Ft void | ||
443 | .Fn SSL_CTX_set_client_CA_list "SSL_CTX *ctx" "STACK *list" | ||
444 | .Xc | ||
445 | .It Xo | ||
446 | .Ft void | ||
447 | .Fo SSL_CTX_set_client_cert_cb | ||
448 | .Fa "SSL_CTX *ctx" | ||
449 | .Fa "int (*cb)(SSL *ssl, X509 **x509, EVP_PKEY **pkey)" | ||
450 | .Fc | ||
451 | .Xc | ||
452 | .It Xo | ||
453 | .Ft void | ||
454 | .Fn SSL_CTX_set_default_passwd_cb "SSL_CTX *ctx" "pem_password_cb *cb" | ||
455 | .Xc | ||
456 | .It Xo | ||
457 | .Ft void | ||
458 | .Fn SSL_CTX_set_default_read_ahead "SSL_CTX *ctx" "int m" | ||
459 | .Xc | ||
460 | .It Xo | ||
461 | .Ft int | ||
462 | .Fn SSL_CTX_set_default_verify_paths "SSL_CTX *ctx" | ||
463 | .Xc | ||
464 | .It Xo | ||
465 | .Ft int | ||
466 | .Fn SSL_CTX_set_ex_data "SSL_CTX *s" "int idx" "char *arg" | ||
467 | .Xc | ||
468 | .It Xo | ||
469 | .Ft void | ||
470 | .Fo SSL_CTX_set_info_callback | ||
471 | .Fa "SSL_CTX *ctx" | ||
472 | .Fa "void (*cb)(SSL *ssl, int cb, int ret)" | ||
473 | .Fc | ||
474 | .Xc | ||
475 | .It Xo | ||
476 | .Ft void | ||
477 | .Fo SSL_CTX_set_msg_callback | ||
478 | .Fa "SSL_CTX *ctx" | ||
479 | .Fa "void (*cb)(int write_p, int version, int content_type, const void *buf, \ | ||
480 | size_t len, SSL *ssl, void *arg)" | ||
481 | .Fc | ||
482 | .Xc | ||
483 | .It Xo | ||
484 | .Ft void | ||
485 | .Fn SSL_CTX_set_msg_callback_arg "SSL_CTX *ctx" "void *arg" | ||
486 | .Xc | ||
487 | .It Xo | ||
488 | .Ft void | ||
489 | .Fn SSL_CTX_set_options "SSL_CTX *ctx" "unsigned long op" | ||
490 | .Xc | ||
491 | .It Xo | ||
492 | .Ft void | ||
493 | .Fn SSL_CTX_set_quiet_shutdown "SSL_CTX *ctx" "int mode" | ||
494 | .Xc | ||
495 | .It Xo | ||
496 | .Ft void | ||
497 | .Fn SSL_CTX_set_session_cache_mode "SSL_CTX *ctx" "int mode" | ||
498 | .Xc | ||
499 | .It Xo | ||
500 | .Ft int | ||
501 | .Fn SSL_CTX_set_ssl_version "SSL_CTX *ctx" "const SSL_METHOD *meth" | ||
502 | .Xc | ||
503 | .It Xo | ||
504 | .Ft void | ||
505 | .Fn SSL_CTX_set_timeout "SSL_CTX *ctx" "long t" | ||
506 | .Xc | ||
507 | .It Xo | ||
508 | .Ft long | ||
509 | .Fn SSL_CTX_set_tmp_dh "SSL_CTX* ctx" "DH *dh" | ||
510 | .Xc | ||
511 | .It Xo | ||
512 | .Ft long | ||
513 | .Fn SSL_CTX_set_tmp_dh_callback "SSL_CTX *ctx" "DH *(*cb)(void)" | ||
514 | .Xc | ||
515 | .It Xo | ||
516 | .Ft long | ||
517 | .Fn SSL_CTX_set_tmp_rsa "SSL_CTX *ctx" "RSA *rsa" | ||
518 | .Xc | ||
519 | .It Xo | ||
520 | .Fn SSL_CTX_set_tmp_rsa_callback | ||
521 | .Xc | ||
522 | .Ft long | ||
523 | .Fo SSL_CTX_set_tmp_rsa_callback | ||
524 | .Fa "SSL_CTX *ctx" | ||
525 | .Fa "RSA *(*cb)(SSL *ssl, int export, int keylength)" | ||
526 | .Fc | ||
527 | .Pp | 194 | .Pp |
528 | Sets the callback which will be called when a temporary private key is | 195 | Constructors and destructors: |
529 | required. | 196 | .Xr SSL_CTX_new 3 , |
530 | The | 197 | .Xr SSL_CTX_set_ssl_version 3 , |
531 | .Fa export | 198 | .Xr SSL_CTX_free 3 |
532 | flag will be set if the reason for needing a temp key is that an export | ||
533 | ciphersuite is in use, in which case, | ||
534 | .Fa keylength | ||
535 | will contain the required keylength in bits. | ||
536 | .\" XXX using what? | ||
537 | Generate a key of appropriate size (using ???) and return it. | ||
538 | .It Xo | ||
539 | .Fn SSL_set_tmp_rsa_callback | ||
540 | .Xc | ||
541 | .Ft long | ||
542 | .Fo SSL_set_tmp_rsa_callback | ||
543 | .Fa "SSL *ssl" | ||
544 | .Fa "RSA *(*cb)(SSL *ssl, int export, int keylength)" | ||
545 | .Fc | ||
546 | .Pp | 199 | .Pp |
547 | The same as | 200 | Configuration functions: |
548 | .Fn SSL_CTX_set_tmp_rsa_callback , | ||
549 | except it operates on an | ||
550 | .Vt SSL | ||
551 | session instead of a context. | ||
552 | .It Xo | ||
553 | .Ft void | ||
554 | .Fn SSL_CTX_set_verify "SSL_CTX *ctx" "int mode" "int (*cb)(void)" | ||
555 | .Xc | ||
556 | .It Xo | ||
557 | .Ft int | ||
558 | .Fn SSL_CTX_use_PrivateKey "SSL_CTX *ctx" "EVP_PKEY *pkey" | ||
559 | .Xc | ||
560 | .It Xo | ||
561 | .Ft int | ||
562 | .Fo SSL_CTX_use_PrivateKey_ASN1 | ||
563 | .Fa "int type" | ||
564 | .Fa "SSL_CTX *ctx" | ||
565 | .Fa "unsigned char *d" | ||
566 | .Fa "long len" | ||
567 | .Fc | ||
568 | .Xc | ||
569 | .It Xo | ||
570 | .Ft int | ||
571 | .Fn SSL_CTX_use_PrivateKey_file "SSL_CTX *ctx" "char *file" "int type" | ||
572 | .Xc | ||
573 | .It Xo | ||
574 | .Ft int | ||
575 | .Fn SSL_CTX_use_RSAPrivateKey "SSL_CTX *ctx" "RSA *rsa" | ||
576 | .Xc | ||
577 | .It Xo | ||
578 | .Ft int | ||
579 | .Fn SSL_CTX_use_RSAPrivateKey_ASN1 "SSL_CTX *ctx" "unsigned char *d" "long len" | ||
580 | .Xc | ||
581 | .It Xo | ||
582 | .Ft int | ||
583 | .Fn SSL_CTX_use_RSAPrivateKey_file "SSL_CTX *ctx" "char *file" "int type" | ||
584 | .Xc | ||
585 | .It Xo | ||
586 | .Ft int | ||
587 | .Fn SSL_CTX_use_certificate "SSL_CTX *ctx" "X509 *x" | ||
588 | .Xc | ||
589 | .It Xo | ||
590 | .Ft int | ||
591 | .Fn SSL_CTX_use_certificate_ASN1 "SSL_CTX *ctx" "int len" "unsigned char *d" | ||
592 | .Xc | ||
593 | .It Xo | ||
594 | .Ft int | ||
595 | .Fn SSL_CTX_use_certificate_file "SSL_CTX *ctx" "char *file" "int type" | ||
596 | .Xc | ||
597 | .El | ||
598 | .Ss DEALING WITH SESSIONS | ||
599 | Here we document the various API functions which deal with the SSL/TLS sessions | ||
600 | defined in the | ||
601 | .Vt SSL_SESSION | ||
602 | structures. | ||
603 | .Bl -tag -width Ds | ||
604 | .It Xo | ||
605 | .Ft int | ||
606 | .Fn SSL_SESSION_cmp "const SSL_SESSION *a" "const SSL_SESSION *b" | ||
607 | .Xc | ||
608 | .It Xo | ||
609 | .Ft void | ||
610 | .Fn SSL_SESSION_free "SSL_SESSION *ss" | ||
611 | .Xc | ||
612 | .It Xo | ||
613 | .Ft char * | ||
614 | .Fn SSL_SESSION_get_app_data "SSL_SESSION *s" | ||
615 | .Xc | ||
616 | .It Xo | ||
617 | .Ft char * | ||
618 | .Fn SSL_SESSION_get_ex_data "const SSL_SESSION *s" "int idx" | ||
619 | .Xc | ||
620 | .It Xo | ||
621 | .Ft int | ||
622 | .Fo SSL_SESSION_get_ex_new_index | ||
623 | .Fa "long argl" | ||
624 | .Fa "char *argp" | ||
625 | .Fa "int (*new_func)(void)" | ||
626 | .Fa "int (*dup_func)(void), void (*free_func)(void)" | ||
627 | .Fc | ||
628 | .Xc | ||
629 | .It Xo | ||
630 | .Ft long | ||
631 | .Fn SSL_SESSION_get_time "const SSL_SESSION *s" | ||
632 | .Xc | ||
633 | .It Xo | ||
634 | .Ft long | ||
635 | .Fn SSL_SESSION_get_timeout "const SSL_SESSION *s" | ||
636 | .Xc | ||
637 | .It Xo | ||
638 | .Ft unsigned long | ||
639 | .Fn SSL_SESSION_hash "const SSL_SESSION *a" | ||
640 | .Xc | ||
641 | .It Xo | ||
642 | .Ft SSL_SESSION * | ||
643 | .Fn SSL_SESSION_new void | ||
644 | .Xc | ||
645 | .It Xo | ||
646 | .Ft int | ||
647 | .Fn SSL_SESSION_print "BIO *bp" "const SSL_SESSION *x" | ||
648 | .Xc | ||
649 | .It Xo | ||
650 | .Ft int | ||
651 | .Fn SSL_SESSION_print_fp "FILE *fp" "const SSL_SESSION *x" | ||
652 | .Xc | ||
653 | .It Xo | ||
654 | .Ft void | ||
655 | .Fn SSL_SESSION_set_app_data "SSL_SESSION *s" "char *a" | ||
656 | .Xc | ||
657 | .It Xo | ||
658 | .Ft int | ||
659 | .Fn SSL_SESSION_set_ex_data "SSL_SESSION *s" "int idx" "char *arg" | ||
660 | .Xc | ||
661 | .It Xo | ||
662 | .Ft long | ||
663 | .Fn SSL_SESSION_set_time "SSL_SESSION *s" "long t" | ||
664 | .Xc | ||
665 | .It Xo | ||
666 | .Ft long | ||
667 | .Fn SSL_SESSION_set_timeout "SSL_SESSION *s" "long t" | ||
668 | .Xc | ||
669 | .El | ||
670 | .Ss DEALING WITH CONNECTIONS | ||
671 | Here we document the various API functions which deal with the SSL/TLS | ||
672 | connection defined in the | ||
673 | .Vt SSL | ||
674 | structure. | ||
675 | .Bl -tag -width Ds | ||
676 | .It Xo | ||
677 | .Ft int | ||
678 | .Fn SSL_accept "SSL *ssl" | ||
679 | .Xc | ||
680 | .It Xo | ||
681 | .Ft int | ||
682 | .Fn SSL_add_dir_cert_subjects_to_stack "STACK *stack" "const char *dir" | ||
683 | .Xc | ||
684 | .It Xo | ||
685 | .Ft int | ||
686 | .Fn SSL_add_file_cert_subjects_to_stack "STACK *stack" "const char *file" | ||
687 | .Xc | ||
688 | .It Xo | ||
689 | .Ft int | ||
690 | .Fn SSL_add_client_CA "SSL *ssl" "X509 *x" | ||
691 | .Xc | ||
692 | .It Xo | ||
693 | .Ft char * | ||
694 | .Fn SSL_alert_desc_string "int value" | ||
695 | .Xc | ||
696 | .It Xo | ||
697 | .Ft char * | ||
698 | .Fn SSL_alert_desc_string_long "int value" | ||
699 | .Xc | ||
700 | .It Xo | ||
701 | .Ft char * | ||
702 | .Fn SSL_alert_type_string "int value" | ||
703 | .Xc | ||
704 | .It Xo | ||
705 | .Ft char * | ||
706 | .Fn SSL_alert_type_string_long "int value" | ||
707 | .Xc | ||
708 | .It Xo | ||
709 | .Ft int | ||
710 | .Fn SSL_check_private_key "const SSL *ssl" | ||
711 | .Xc | ||
712 | .It Xo | ||
713 | .Ft void | ||
714 | .Fn SSL_clear "SSL *ssl" | ||
715 | .Xc | ||
716 | .It Xo | ||
717 | .Ft long | ||
718 | .Fn SSL_clear_num_renegotiations "SSL *ssl" | ||
719 | .Xc | ||
720 | .It Xo | ||
721 | .Ft int | ||
722 | .Fn SSL_connect "SSL *ssl" | ||
723 | .Xc | ||
724 | .It Xo | ||
725 | .Ft void | ||
726 | .Fn SSL_copy_session_id "SSL *t" "const SSL *f" | ||
727 | .Xc | ||
728 | .It Xo | ||
729 | .Ft long | ||
730 | .Fn SSL_ctrl "SSL *ssl" "int cmd" "long larg" "char *parg" | ||
731 | .Xc | ||
732 | .It Xo | ||
733 | .Ft int | ||
734 | .Fn SSL_do_handshake "SSL *ssl" | ||
735 | .Xc | ||
736 | .It Xo | ||
737 | .Ft SSL * | ||
738 | .Fn SSL_dup "SSL *ssl" | ||
739 | .Xc | ||
740 | .It Xo | ||
741 | .Ft STACK * | ||
742 | .Fn SSL_dup_CA_list "STACK *sk" | ||
743 | .Xc | ||
744 | .It Xo | ||
745 | .Ft void | ||
746 | .Fn SSL_free "SSL *ssl" | ||
747 | .Xc | ||
748 | .It Xo | ||
749 | .Ft SSL_CTX * | ||
750 | .Fn SSL_get_SSL_CTX "const SSL *ssl" | ||
751 | .Xc | ||
752 | .It Xo | ||
753 | .Ft char * | ||
754 | .Fn SSL_get_app_data "SSL *ssl" | ||
755 | .Xc | ||
756 | .It Xo | ||
757 | .Ft X509 * | ||
758 | .Fn SSL_get_certificate "const SSL *ssl" | ||
759 | .Xc | ||
760 | .It Xo | ||
761 | .Ft const char * | ||
762 | .Fn SSL_get_cipher "const SSL *ssl" | ||
763 | .Xc | ||
764 | .It Xo | ||
765 | .Ft int | ||
766 | .Fn SSL_get_cipher_bits "const SSL *ssl" "int *alg_bits" | ||
767 | .Xc | ||
768 | .It Xo | ||
769 | .Ft char * | ||
770 | .Fn SSL_get_cipher_list "const SSL *ssl" "int n" | ||
771 | .Xc | ||
772 | .It Xo | ||
773 | .Ft char * | ||
774 | .Fn SSL_get_cipher_name "const SSL *ssl" | ||
775 | .Xc | ||
776 | .It Xo | ||
777 | .Ft char * | ||
778 | .Fn SSL_get_cipher_version "const SSL *ssl" | ||
779 | .Xc | ||
780 | .It Xo | ||
781 | .Ft STACK * | ||
782 | .Fn SSL_get_ciphers "const SSL *ssl" | ||
783 | .Xc | ||
784 | .It Xo | ||
785 | .Ft STACK * | ||
786 | .Fn SSL_get_client_CA_list "const SSL *ssl" | ||
787 | .Xc | ||
788 | .It Xo | ||
789 | .Ft SSL_CIPHER * | ||
790 | .Fn SSL_get_current_cipher "SSL *ssl" | ||
791 | .Xc | ||
792 | .It Xo | ||
793 | .Ft long | ||
794 | .Fn SSL_get_default_timeout "const SSL *ssl" | ||
795 | .Xc | ||
796 | .It Xo | ||
797 | .Ft int | ||
798 | .Fn SSL_get_error "const SSL *ssl" "int i" | ||
799 | .Xc | ||
800 | .It Xo | ||
801 | .Ft char * | ||
802 | .Fn SSL_get_ex_data "const SSL *ssl" "int idx" | ||
803 | .Xc | ||
804 | .It Xo | ||
805 | .Ft int | ||
806 | .Fn SSL_get_ex_data_X509_STORE_CTX_idx void | ||
807 | .Xc | ||
808 | .It Xo | ||
809 | .Ft int | ||
810 | .Fo SSL_get_ex_new_index | ||
811 | .Fa "long argl" | ||
812 | .Fa "char *argp" | ||
813 | .Fa "int (*new_func)(void)" | ||
814 | .Fa "int (*dup_func)(void)" | ||
815 | .Fa "void (*free_func)(void)" | ||
816 | .Fc | ||
817 | .Xc | ||
818 | .It Xo | ||
819 | .Ft int | ||
820 | .Fn SSL_get_fd "const SSL *ssl" | ||
821 | .Xc | ||
822 | .It Xo | ||
823 | .Ft void | ||
824 | .Fn "(*SSL_get_info_callback(const SSL *ssl))" | ||
825 | .Xc | ||
826 | .It Xo | ||
827 | .Ft STACK * | ||
828 | .Fn SSL_get_peer_cert_chain "const SSL *ssl" | ||
829 | .Xc | ||
830 | .It Xo | ||
831 | .Ft X509 * | ||
832 | .Fn SSL_get_peer_certificate "const SSL *ssl" | ||
833 | .Xc | ||
834 | .It Xo | ||
835 | .Ft EVP_PKEY * | ||
836 | .Fn SSL_get_privatekey "SSL *ssl" | ||
837 | .Xc | ||
838 | .It Xo | ||
839 | .Ft int | ||
840 | .Fn SSL_get_quiet_shutdown "const SSL *ssl" | ||
841 | .Xc | ||
842 | .It Xo | ||
843 | .Ft BIO * | ||
844 | .Fn SSL_get_rbio "const SSL *ssl" | ||
845 | .Xc | ||
846 | .It Xo | ||
847 | .Ft int | ||
848 | .Fn SSL_get_read_ahead "const SSL *ssl" | ||
849 | .Xc | ||
850 | .It Xo | ||
851 | .Ft SSL_SESSION * | ||
852 | .Fn SSL_get_session "const SSL *ssl" | ||
853 | .Xc | ||
854 | .It Xo | ||
855 | .Ft char * | ||
856 | .Fn SSL_get_shared_ciphers "const SSL *ssl" "char *buf" "int len" | ||
857 | .Xc | ||
858 | .It Xo | ||
859 | .Ft int | ||
860 | .Fn SSL_get_shutdown "const SSL *ssl" | ||
861 | .Xc | ||
862 | .It Xo | ||
863 | .Ft const SSL_METHOD * | ||
864 | .Fn SSL_get_ssl_method "SSL *ssl" | ||
865 | .Xc | ||
866 | .It Xo | ||
867 | .Ft int | ||
868 | .Fn SSL_get_state "const SSL *ssl" | ||
869 | .Xc | ||
870 | .It Xo | ||
871 | .Ft long | ||
872 | .Fn SSL_get_time "const SSL *ssl" | ||
873 | .Xc | ||
874 | .It Xo | ||
875 | .Ft long | ||
876 | .Fn SSL_get_timeout "const SSL *ssl" | ||
877 | .Xc | ||
878 | .It Xo | ||
879 | .Ft int | ||
880 | .Fn "(*SSL_get_verify_callback(const SSL *ssl))" int "X509_STORE_CTX *" | ||
881 | .Xc | ||
882 | .It Xo | ||
883 | .Ft int | ||
884 | .Fn SSL_get_verify_mode "const SSL *ssl" | ||
885 | .Xc | ||
886 | .It Xo | ||
887 | .Ft long | ||
888 | .Fn SSL_get_verify_result "const SSL *ssl" | ||
889 | .Xc | ||
890 | .It Xo | ||
891 | .Ft char * | ||
892 | .Fn SSL_get_version "const SSL *ssl" | ||
893 | .Xc | ||
894 | .It Xo | ||
895 | .Ft BIO * | ||
896 | .Fn SSL_get_wbio "const SSL *ssl" | ||
897 | .Xc | ||
898 | .It Xo | ||
899 | .Ft int | ||
900 | .Fn SSL_in_accept_init "SSL *ssl" | ||
901 | .Xc | ||
902 | .It Xo | ||
903 | .Ft int | ||
904 | .Fn SSL_in_before "SSL *ssl" | ||
905 | .Xc | ||
906 | .It Xo | ||
907 | .Ft int | ||
908 | .Fn SSL_in_connect_init "SSL *ssl" | ||
909 | .Xc | ||
910 | .It Xo | ||
911 | .Ft int | ||
912 | .Fn SSL_in_init "SSL *ssl" | ||
913 | .Xc | ||
914 | .It Xo | ||
915 | .Ft int | ||
916 | .Fn SSL_is_init_finished "SSL *ssl" | ||
917 | .Xc | ||
918 | .It Xo | ||
919 | .Ft STACK * | ||
920 | .Fn SSL_load_client_CA_file "char *file" | ||
921 | .Xc | ||
922 | .It Xo | ||
923 | .Ft void | ||
924 | .Fn SSL_load_error_strings "void" | ||
925 | .Xc | ||
926 | .It Xo | ||
927 | .Ft SSL * | ||
928 | .Fn SSL_new "SSL_CTX *ctx" | ||
929 | .Xc | ||
930 | .It Xo | ||
931 | .Ft long | ||
932 | .Fn SSL_num_renegotiations "SSL *ssl" | ||
933 | .Xc | ||
934 | .It Xo | ||
935 | .Ft int | ||
936 | .Fn SSL_peek "SSL *ssl" "void *buf" "int num" | ||
937 | .Xc | ||
938 | .It Xo | ||
939 | .Ft int | ||
940 | .Fn SSL_pending "const SSL *ssl" | ||
941 | .Xc | ||
942 | .It Xo | ||
943 | .Ft int | ||
944 | .Fn SSL_read "SSL *ssl" "void *buf" "int num" | ||
945 | .Xc | ||
946 | .It Xo | ||
947 | .Ft int | ||
948 | .Fn SSL_renegotiate "SSL *ssl" | ||
949 | .Xc | ||
950 | .It Xo | ||
951 | .Ft char * | ||
952 | .Fn SSL_rstate_string "SSL *ssl" | ||
953 | .Xc | ||
954 | .It Xo | ||
955 | .Ft char * | ||
956 | .Fn SSL_rstate_string_long "SSL *ssl" | ||
957 | .Xc | ||
958 | .It Xo | ||
959 | .Ft long | ||
960 | .Fn SSL_session_reused "SSL *ssl" | ||
961 | .Xc | ||
962 | .It Xo | ||
963 | .Ft void | ||
964 | .Fn SSL_set_accept_state "SSL *ssl" | ||
965 | .Xc | ||
966 | .It Xo | ||
967 | .Ft void | ||
968 | .Fn SSL_set_app_data "SSL *ssl" "char *arg" | ||
969 | .Xc | ||
970 | .It Xo | ||
971 | .Ft void | ||
972 | .Fn SSL_set_bio "SSL *ssl" "BIO *rbio" "BIO *wbio" | ||
973 | .Xc | ||
974 | .It Xo | ||
975 | .Ft int | ||
976 | .Fn SSL_set_cipher_list "SSL *ssl" "char *str" | ||
977 | .Xc | ||
978 | .It Xo | ||
979 | .Ft void | ||
980 | .Fn SSL_set_client_CA_list "SSL *ssl" "STACK *list" | ||
981 | .Xc | ||
982 | .It Xo | ||
983 | .Ft void | ||
984 | .Fn SSL_set_connect_state "SSL *ssl" | ||
985 | .Xc | ||
986 | .It Xo | ||
987 | .Ft int | ||
988 | .Fn SSL_set_ex_data "SSL *ssl" "int idx" "char *arg" | ||
989 | .Xc | ||
990 | .It Xo | ||
991 | .Ft int | ||
992 | .Fn SSL_set_fd "SSL *ssl" "int fd" | ||
993 | .Xc | ||
994 | .It Xo | ||
995 | .Ft void | ||
996 | .Fn SSL_set_info_callback "SSL *ssl" "void (*cb)(void)" | ||
997 | .Xc | ||
998 | .It Xo | ||
999 | .Ft void | ||
1000 | .Fo SSL_set_msg_callback | ||
1001 | .Fa "SSL *ctx" | ||
1002 | .Fa "void (*cb)(int write_p, int version, int content_type, const void *buf, \ | ||
1003 | size_t len, SSL *ssl, void *arg)" | ||
1004 | .Fc | ||
1005 | .Xc | ||
1006 | .It Xo | ||
1007 | .Ft void | ||
1008 | .Fn SSL_set_msg_callback_arg "SSL *ctx" "void *arg" | ||
1009 | .Xc | ||
1010 | .It Xo | ||
1011 | .Ft void | ||
1012 | .Fn SSL_set_options "SSL *ssl" "unsigned long op" | ||
1013 | .Xc | ||
1014 | .It Xo | ||
1015 | .Ft void | ||
1016 | .Fn SSL_set_quiet_shutdown "SSL *ssl" "int mode" | ||
1017 | .Xc | ||
1018 | .It Xo | ||
1019 | .Ft void | ||
1020 | .Fn SSL_set_read_ahead "SSL *ssl" "int yes" | ||
1021 | .Xc | ||
1022 | .It Xo | ||
1023 | .Ft int | ||
1024 | .Fn SSL_set_rfd "SSL *ssl" "int fd" | ||
1025 | .Xc | ||
1026 | .It Xo | ||
1027 | .Ft int | ||
1028 | .Fn SSL_set_session "SSL *ssl" "SSL_SESSION *session" | ||
1029 | .Xc | ||
1030 | .It Xo | ||
1031 | .Ft void | ||
1032 | .Fn SSL_set_shutdown "SSL *ssl" "int mode" | ||
1033 | .Xc | ||
1034 | .It Xo | ||
1035 | .Ft int | ||
1036 | .Fn SSL_set_ssl_method "SSL *ssl" "const SSL_METHOD *meth" | ||
1037 | .Xc | ||
1038 | .It Xo | ||
1039 | .Ft void | ||
1040 | .Fn SSL_set_time "SSL *ssl" "long t" | ||
1041 | .Xc | ||
1042 | .It Xo | ||
1043 | .Ft void | ||
1044 | .Fn SSL_set_timeout "SSL *ssl" "long t" | ||
1045 | .Xc | ||
1046 | .It Xo | ||
1047 | .Ft void | ||
1048 | .Fn SSL_set_verify "SSL *ssl" "int mode" "int (*callback)(void)" | ||
1049 | .Xc | ||
1050 | .It Xo | ||
1051 | .Ft void | ||
1052 | .Fn SSL_set_verify_result "SSL *ssl" "long arg" | ||
1053 | .Xc | ||
1054 | .It Xo | ||
1055 | .Ft int | ||
1056 | .Fn SSL_set_wfd "SSL *ssl" "int fd" | ||
1057 | .Xc | ||
1058 | .It Xo | ||
1059 | .Ft int | ||
1060 | .Fn SSL_shutdown "SSL *ssl" | ||
1061 | .Xc | ||
1062 | .It Xo | ||
1063 | .Ft int | ||
1064 | .Fn SSL_state "const SSL *ssl" | ||
1065 | .Xc | ||
1066 | .It Xo | ||
1067 | .Ft char * | ||
1068 | .Fn SSL_state_string "const SSL *ssl" | ||
1069 | .Xc | ||
1070 | .It Xo | ||
1071 | .Ft char * | ||
1072 | .Fn SSL_state_string_long "const SSL *ssl" | ||
1073 | .Xc | ||
1074 | .It Xo | ||
1075 | .Ft long | ||
1076 | .Fn SSL_total_renegotiations "SSL *ssl" | ||
1077 | .Xc | ||
1078 | .It Xo | ||
1079 | .Ft int | ||
1080 | .Fn SSL_use_PrivateKey "SSL *ssl" "EVP_PKEY *pkey" | ||
1081 | .Xc | ||
1082 | .It Xo | ||
1083 | .Ft int | ||
1084 | .Fn SSL_use_PrivateKey_ASN1 "int type" "SSL *ssl" "unsigned char *d" "long len" | ||
1085 | .Xc | ||
1086 | .It Xo | ||
1087 | .Ft int | ||
1088 | .Fn SSL_use_PrivateKey_file "SSL *ssl" "char *file" "int type" | ||
1089 | .Xc | ||
1090 | .It Xo | ||
1091 | .Ft int | ||
1092 | .Fn SSL_use_RSAPrivateKey "SSL *ssl" "RSA *rsa" | ||
1093 | .Xc | ||
1094 | .It Xo | ||
1095 | .Ft int | ||
1096 | .Fn SSL_use_RSAPrivateKey_ASN1 "SSL *ssl" "unsigned char *d" "long len" | ||
1097 | .Xc | ||
1098 | .It Xo | ||
1099 | .Ft int | ||
1100 | .Fn SSL_use_RSAPrivateKey_file "SSL *ssl" "char *file" "int type" | ||
1101 | .Xc | ||
1102 | .It Xo | ||
1103 | .Ft int | ||
1104 | .Fn SSL_use_certificate "SSL *ssl" "X509 *x" | ||
1105 | .Xc | ||
1106 | .It Xo | ||
1107 | .Ft int | ||
1108 | .Fn SSL_use_certificate_ASN1 "SSL *ssl" "int len" "unsigned char *d" | ||
1109 | .Xc | ||
1110 | .It Xo | ||
1111 | .Ft int | ||
1112 | .Fn SSL_use_certificate_file "SSL *ssl" "char *file" "int type" | ||
1113 | .Xc | ||
1114 | .It Xo | ||
1115 | .Ft int | ||
1116 | .Fn SSL_version "const SSL *ssl" | ||
1117 | .Xc | ||
1118 | .It Xo | ||
1119 | .Ft int | ||
1120 | .Fn SSL_want "const SSL *ssl" | ||
1121 | .Xc | ||
1122 | .It Xo | ||
1123 | .Ft int | ||
1124 | .Fn SSL_want_nothing "const SSL *ssl" | ||
1125 | .Xc | ||
1126 | .It Xo | ||
1127 | .Ft int | ||
1128 | .Fn SSL_want_read "const SSL *ssl" | ||
1129 | .Xc | ||
1130 | .It Xo | ||
1131 | .Ft int | ||
1132 | .Fn SSL_want_write "const SSL *ssl" | ||
1133 | .Xc | ||
1134 | .It Xo | ||
1135 | .Ft int | ||
1136 | .Fn SSL_want_x509_lookup "const SSL *ssl" | ||
1137 | .Xc | ||
1138 | .It Xo | ||
1139 | .Ft int | ||
1140 | .Fn SSL_write "SSL *ssl" "const void *buf" "int num" | ||
1141 | .Xc | ||
1142 | .El | ||
1143 | .Sh SEE ALSO | ||
1144 | .Xr openssl 1 , | ||
1145 | .Xr crypto 3 , | ||
1146 | .Xr d2i_SSL_SESSION 3 , | ||
1147 | .Xr SSL_accept 3 , | ||
1148 | .Xr SSL_alert_type_string 3 , | ||
1149 | .Xr SSL_CIPHER_get_name 3 , | ||
1150 | .Xr SSL_clear 3 , | ||
1151 | .Xr SSL_COMP_add_compression_method 3 , | ||
1152 | .Xr SSL_connect 3 , | ||
1153 | .Xr SSL_CTX_add_extra_chain_cert 3 , | 201 | .Xr SSL_CTX_add_extra_chain_cert 3 , |
1154 | .Xr SSL_CTX_add_session 3 , | ||
1155 | .Xr SSL_CTX_ctrl 3 , | 202 | .Xr SSL_CTX_ctrl 3 , |
1156 | .Xr SSL_CTX_flush_sessions 3 , | 203 | .Xr SSL_CTX_flush_sessions 3 , |
1157 | .Xr SSL_CTX_get_ex_new_index 3 , | ||
1158 | .Xr SSL_CTX_get_verify_mode 3 , | 204 | .Xr SSL_CTX_get_verify_mode 3 , |
1159 | .Xr SSL_CTX_load_verify_locations 3 , | 205 | .Xr SSL_CTX_load_verify_locations 3 , |
1160 | .Xr SSL_CTX_new 3 , | ||
1161 | .Xr SSL_CTX_sess_number 3 , | ||
1162 | .Xr SSL_CTX_sess_set_cache_size 3 , | 206 | .Xr SSL_CTX_sess_set_cache_size 3 , |
1163 | .Xr SSL_CTX_sess_set_get_cb 3 , | 207 | .Xr SSL_CTX_sess_set_get_cb 3 , |
1164 | .Xr SSL_CTX_sessions 3 , | 208 | .Xr SSL_CTX_set_alpn_select_cb 3 , |
1165 | .Xr SSL_CTX_set_cert_store 3 , | 209 | .Xr SSL_CTX_set_cert_store 3 , |
1166 | .Xr SSL_CTX_set_cert_verify_callback 3 , | 210 | .Xr SSL_CTX_set_cert_verify_callback 3 , |
1167 | .Xr SSL_CTX_set_cipher_list 3 , | 211 | .Xr SSL_CTX_set_cipher_list 3 , |
@@ -1175,47 +219,105 @@ size_t len, SSL *ssl, void *arg)" | |||
1175 | .Xr SSL_CTX_set_msg_callback 3 , | 219 | .Xr SSL_CTX_set_msg_callback 3 , |
1176 | .Xr SSL_CTX_set_options 3 , | 220 | .Xr SSL_CTX_set_options 3 , |
1177 | .Xr SSL_CTX_set_quiet_shutdown 3 , | 221 | .Xr SSL_CTX_set_quiet_shutdown 3 , |
222 | .Xr SSL_CTX_set_read_ahead 3 , | ||
1178 | .Xr SSL_CTX_set_session_cache_mode 3 , | 223 | .Xr SSL_CTX_set_session_cache_mode 3 , |
1179 | .Xr SSL_CTX_set_session_id_context 3 , | 224 | .Xr SSL_CTX_set_session_id_context 3 , |
1180 | .Xr SSL_CTX_set_ssl_version 3 , | ||
1181 | .Xr SSL_CTX_set_timeout 3 , | 225 | .Xr SSL_CTX_set_timeout 3 , |
226 | .Xr SSL_CTX_set_tlsext_status_cb 3 , | ||
227 | .Xr SSL_CTX_set_tlsext_ticket_key_cb 3 , | ||
1182 | .Xr SSL_CTX_set_tmp_dh_callback 3 , | 228 | .Xr SSL_CTX_set_tmp_dh_callback 3 , |
1183 | .Xr SSL_CTX_set_tmp_rsa_callback 3 , | 229 | .Xr SSL_CTX_set_tmp_rsa_callback 3 , |
1184 | .Xr SSL_CTX_set_verify 3 , | 230 | .Xr SSL_CTX_set_verify 3 , |
1185 | .Xr SSL_CTX_use_certificate 3 , | 231 | .Xr SSL_CTX_use_certificate 3 , |
232 | .Xr SSL_set1_param 3 , | ||
233 | .Xr SSL_set_max_send_fragment 3 | ||
234 | .Pp | ||
235 | Accessors: | ||
236 | .Xr SSL_CTX_get_ex_new_index 3 , | ||
237 | .Xr SSL_CTX_sess_number 3 , | ||
238 | .Xr SSL_CTX_sessions 3 , | ||
239 | .Xr SSL_get_client_CA_list 3 | ||
240 | .Ss Sessions | ||
241 | The following pages describe functions acting on | ||
242 | .Vt SSL_SESSION | ||
243 | objects. | ||
244 | .Pp | ||
245 | Constructors and destructors: | ||
246 | .Xr SSL_SESSION_new 3 , | ||
247 | .Xr SSL_SESSION_free 3 | ||
248 | .Pp | ||
249 | Accessors: | ||
250 | .Xr SSL_SESSION_get_ex_new_index 3 , | ||
251 | .Xr SSL_SESSION_get_time 3 | ||
252 | .Pp | ||
253 | Encoding and decoding: | ||
254 | .Xr d2i_SSL_SESSION 3 , | ||
255 | .Xr PEM_read_SSL_SESSION 3 , | ||
256 | .Xr SSL_SESSION_print 3 | ||
257 | .Pp | ||
258 | Use by other objects: | ||
259 | .Xr SSL_CTX_add_session 3 , | ||
260 | .Xr SSL_set_session 3 , | ||
261 | .Xr SSL_get_session 3 | ||
262 | .El | ||
263 | .Ss Connections | ||
264 | The following pages describe functions acting on | ||
265 | .Vt SSL | ||
266 | connection objects: | ||
267 | .Pp | ||
268 | Constructors and destructors: | ||
269 | .Xr SSL_new 3 , | ||
270 | .Xr SSL_set_connect_state 3 , | ||
271 | .Xr SSL_dup 3 , | ||
272 | .Xr SSL_set_bio 3 , | ||
273 | .Xr SSL_set_fd 3 , | ||
274 | .Xr BIO_f_ssl 3 , | ||
275 | .Xr SSL_clear 3 , | ||
276 | .Xr SSL_free 3 | ||
277 | .Pp | ||
278 | I/O: | ||
279 | .Xr DTLSv1_listen 3 , | ||
280 | .Xr SSL_accept 3 , | ||
281 | .Xr SSL_connect 3 , | ||
1186 | .Xr SSL_do_handshake 3 , | 282 | .Xr SSL_do_handshake 3 , |
1187 | .Xr SSL_get_ciphers 3 , | 283 | .Xr SSL_read 3 , |
1188 | .Xr SSL_get_client_CA_list 3 , | 284 | .Xr SSL_renegotiate 3 , |
285 | .Xr SSL_shutdown 3 , | ||
286 | .Xr SSL_write 3 | ||
287 | .Pp | ||
288 | Accessors: | ||
289 | .Xr SSL_copy_session_id 3 , | ||
290 | .Xr SSL_get_SSL_CTX 3 , | ||
291 | .Xr SSL_get_certificate 3 , | ||
1189 | .Xr SSL_get_default_timeout 3 , | 292 | .Xr SSL_get_default_timeout 3 , |
1190 | .Xr SSL_get_error 3 , | 293 | .Xr SSL_get_error 3 , |
1191 | .Xr SSL_get_ex_data_X509_STORE_CTX_idx 3 , | 294 | .Xr SSL_get_ex_data_X509_STORE_CTX_idx 3 , |
1192 | .Xr SSL_get_ex_new_index 3 , | 295 | .Xr SSL_get_ex_new_index 3 , |
1193 | .Xr SSL_get_fd 3 , | 296 | .Xr SSL_get_fd 3 , |
1194 | .Xr SSL_get_peer_cert_chain 3 , | 297 | .Xr SSL_get_peer_cert_chain 3 , |
298 | .Xr SSL_get_peer_certificate 3 , | ||
1195 | .Xr SSL_get_rbio 3 , | 299 | .Xr SSL_get_rbio 3 , |
1196 | .Xr SSL_get_session 3 , | 300 | .Xr SSL_get_shared_ciphers 3 , |
1197 | .Xr SSL_get_SSL_CTX 3 , | 301 | .Xr SSL_get_state 3 , |
1198 | .Xr SSL_get_verify_result 3 , | 302 | .Xr SSL_get_verify_result 3 , |
1199 | .Xr SSL_get_version 3 , | 303 | .Xr SSL_get_version 3 , |
1200 | .Xr SSL_library_init 3 , | 304 | .Xr SSL_num_renegotiations 3 , |
1201 | .Xr SSL_load_client_CA_file 3 , | ||
1202 | .Xr SSL_new 3 , | ||
1203 | .Xr SSL_pending 3 , | 305 | .Xr SSL_pending 3 , |
1204 | .Xr SSL_read 3 , | ||
1205 | .Xr SSL_rstate_string 3 , | 306 | .Xr SSL_rstate_string 3 , |
1206 | .Xr SSL_SESSION_free 3 , | ||
1207 | .Xr SSL_SESSION_get_ex_new_index 3 , | ||
1208 | .Xr SSL_SESSION_get_time 3 , | ||
1209 | .Xr SSL_session_reused 3 , | 307 | .Xr SSL_session_reused 3 , |
1210 | .Xr SSL_set_bio 3 , | ||
1211 | .Xr SSL_set_connect_state 3 , | ||
1212 | .Xr SSL_set_fd 3 , | ||
1213 | .Xr SSL_set_session 3 , | ||
1214 | .Xr SSL_set_shutdown 3 , | 308 | .Xr SSL_set_shutdown 3 , |
1215 | .Xr SSL_shutdown 3 , | 309 | .Xr SSL_set_verify_result 3 , |
1216 | .Xr SSL_state_string 3 , | 310 | .Xr SSL_state_string 3 , |
1217 | .Xr SSL_want 3 , | 311 | .Xr SSL_want 3 |
1218 | .Xr SSL_write 3 | 312 | .Pp |
313 | Utility functions: | ||
314 | .Xr SSL_alert_type_string 3 , | ||
315 | .Xr SSL_dup_CA_list 3 , | ||
316 | .Xr SSL_load_client_CA_file 3 | ||
317 | .Sh SEE ALSO | ||
318 | .Xr openssl 1 , | ||
319 | .Xr crypto 3 , | ||
320 | .Xr SSL_load_error_strings 3 | ||
1219 | .Sh HISTORY | 321 | .Sh HISTORY |
1220 | The | 322 | The |
1221 | .Nm | 323 | .Nm |