summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorschwarze <>2016-12-10 18:11:51 +0000
committerschwarze <>2016-12-10 18:11:51 +0000
commitc1d02822651c8b4d0f6fa8ca51ff8da0273b1ae1 (patch)
tree25bb89d1b34bc50cbf85af8907dbf6f4684dbd68 /src/lib
parentb769bcaecab85091f348cf5c186e7b820fe0489f (diff)
downloadopenbsd-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.31196
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 @@
11The OpenSSL 60The OpenSSL
12.Nm ssl 61.Nm ssl
13library implements the Transport Layer Security (TLS v1) protocols. 62library implements the Transport Layer Security (TLS v1) protocols.
14It provides a rich API which is documented here.
15.Pp 63.Pp
16At first the library must be initialized; see 64At 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
50Currently the OpenSSL 98Currently the OpenSSL
51.Nm ssl 99.Nm ssl
52library functions deals with the following data structures: 100library 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)
55That's a dispatch structure describing the internal 103That's a dispatch structure describing the internal
@@ -57,6 +105,9 @@ That's a dispatch structure describing the internal
57library methods/functions which implement the various protocol versions. 105library methods/functions which implement the various protocol versions.
58It's needed to create an 106It's needed to create an
59.Vt SSL_CTX . 107.Vt SSL_CTX .
108See
109.Xr TLS_method 3
110for constructors.
60.It Vt SSL_CIPHER No (SSL Cipher) 111.It Vt SSL_CIPHER No (SSL Cipher)
61This structure holds the algorithm information for a particular cipher which 112This structure holds the algorithm information for a particular cipher which
62is a core part of the SSL/TLS protocol. 113is 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
130The functions that the OpenSSL 181.Ss Ciphers
131.Nm ssl 182The following pages describe functions acting on
132library exports are documented below:
133.Ss DEALING WITH PROTOCOL METHODS
134Here we document the various API functions which deal with the SSL/TLS protocol
135methods defined in
136.Vt SSL_METHOD
137structures.
138.Bl -tag -width Ds
139.It Xo
140.Ft const SSL_METHOD *
141.Fn TLS_client_method void
142.Xc
143Constructor for the
144.Vt SSL_METHOD
145structure for a dedicated client.
146.It Xo
147.Ft const SSL_METHOD *
148.Fn TLS_server_method void
149.Xc
150Constructor for the
151.Vt SSL_METHOD
152structure for a dedicated server.
153.It Xo
154.Ft const SSL_METHOD *
155.Fn TLS_method void
156.Xc
157Constructor for the
158.Vt SSL_METHOD
159structure for combined client and server.
160.El
161.Ss DEALING WITH CIPHERS
162Here we document the various API functions which deal with the SSL/TLS ciphers
163defined in
164.Vt SSL_CIPHER 183.Vt SSL_CIPHER
165structures. 184objects:
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 189The following pages describe functions acting on
171Write a string to
172.Fa buf
173(with a maximum size of
174.Fa len )
175containing a human readable description of
176.Fa cipher .
177Returns
178.Fa buf .
179.It Xo
180.Ft int
181.Fn SSL_CIPHER_get_bits "SSL_CIPHER *cipher" "int *alg_bits"
182.Xc
183Determine the number of bits in
184.Fa cipher .
185Because of export crippled ciphers there are two bits:
186the bits the algorithm supports in general (stored to
187.Fa alg_bits )
188and 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
193Return the internal name of
194.Fa cipher
195as a string.
196These are the various strings defined by the
197.Dv SSL2_TXT_xxx ,
198.Dv SSL3_TXT_xxx
199and
200.Dv TLS1_TXT_xxx
201definitions in the header files.
202.It Xo
203.Ft char *
204.Fn SSL_CIPHER_get_version "SSL_CIPHER *cipher"
205.Xc
206Returns a string like
207Qq TLSv1
208which indicates the SSL/TLS protocol version to which
209.Fa cipher
210belongs (i.e., where it was defined in the specification the first time).
211.El
212.Ss DEALING WITH PROTOCOL CONTEXTS
213Here we document the various API functions which deal with the SSL/TLS
214protocol context defined in the
215.Vt SSL_CTX 190.Vt SSL_CTX
216structure. 191objects.
217.Bl -tag -width Ds 192Many of these pages also document variants providing similar
218.It Xo 193functionality 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, \
480size_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
528Sets the callback which will be called when a temporary private key is 195Constructors and destructors:
529required. 196.Xr SSL_CTX_new 3 ,
530The 197.Xr SSL_CTX_set_ssl_version 3 ,
531.Fa export 198.Xr SSL_CTX_free 3
532flag will be set if the reason for needing a temp key is that an export
533ciphersuite is in use, in which case,
534.Fa keylength
535will contain the required keylength in bits.
536.\" XXX using what?
537Generate 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
547The same as 200Configuration functions:
548.Fn SSL_CTX_set_tmp_rsa_callback ,
549except it operates on an
550.Vt SSL
551session 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
599Here we document the various API functions which deal with the SSL/TLS sessions
600defined in the
601.Vt SSL_SESSION
602structures.
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
671Here we document the various API functions which deal with the SSL/TLS
672connection defined in the
673.Vt SSL
674structure.
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, \
1003size_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
235Accessors:
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
241The following pages describe functions acting on
242.Vt SSL_SESSION
243objects.
244.Pp
245Constructors and destructors:
246.Xr SSL_SESSION_new 3 ,
247.Xr SSL_SESSION_free 3
248.Pp
249Accessors:
250.Xr SSL_SESSION_get_ex_new_index 3 ,
251.Xr SSL_SESSION_get_time 3
252.Pp
253Encoding and decoding:
254.Xr d2i_SSL_SESSION 3 ,
255.Xr PEM_read_SSL_SESSION 3 ,
256.Xr SSL_SESSION_print 3
257.Pp
258Use 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
264The following pages describe functions acting on
265.Vt SSL
266connection objects:
267.Pp
268Constructors 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
278I/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
288Accessors:
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
313Utility 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
1220The 322The
1221.Nm 323.Nm