1 | =pod
|
---|
2 |
|
---|
3 | =head1 NAME
|
---|
4 |
|
---|
5 | OPENSSL_init_ssl - OpenSSL (libssl and libcrypto) initialisation
|
---|
6 |
|
---|
7 | =head1 SYNOPSIS
|
---|
8 |
|
---|
9 | #include <openssl/ssl.h>
|
---|
10 |
|
---|
11 | int OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
|
---|
12 |
|
---|
13 | =head1 DESCRIPTION
|
---|
14 |
|
---|
15 | During normal operation OpenSSL (libssl and libcrypto) will allocate various
|
---|
16 | resources at start up that must, subsequently, be freed on close down of the
|
---|
17 | library. Additionally some resources are allocated on a per thread basis (if the
|
---|
18 | application is multi-threaded), and these resources must be freed prior to the
|
---|
19 | thread closing.
|
---|
20 |
|
---|
21 | As of version 1.1.0 OpenSSL will automatically allocate all resources that it
|
---|
22 | needs so no explicit initialisation is required. Similarly it will also
|
---|
23 | automatically deinitialise as required.
|
---|
24 |
|
---|
25 | However, there may be situations when explicit initialisation is desirable or
|
---|
26 | needed, for example when some nondefault initialisation is required. The
|
---|
27 | function OPENSSL_init_ssl() can be used for this purpose. Calling
|
---|
28 | this function will explicitly initialise BOTH libcrypto and libssl. To
|
---|
29 | explicitly initialise ONLY libcrypto see the
|
---|
30 | L<OPENSSL_init_crypto(3)> function.
|
---|
31 |
|
---|
32 | Numerous internal OpenSSL functions call OPENSSL_init_ssl().
|
---|
33 | Therefore, in order to perform nondefault initialisation,
|
---|
34 | OPENSSL_init_ssl() MUST be called by application code prior to
|
---|
35 | any other OpenSSL function calls.
|
---|
36 |
|
---|
37 | The B<opts> parameter specifies which aspects of libssl and libcrypto should be
|
---|
38 | initialised. Valid options for libcrypto are described on the
|
---|
39 | L<OPENSSL_init_crypto(3)> page. In addition to any libcrypto
|
---|
40 | specific option the following libssl options can also be used:
|
---|
41 |
|
---|
42 | =over 4
|
---|
43 |
|
---|
44 | =item OPENSSL_INIT_NO_LOAD_SSL_STRINGS
|
---|
45 |
|
---|
46 | Suppress automatic loading of the libssl error strings. This option is
|
---|
47 | not a default option. Once selected subsequent calls to
|
---|
48 | OPENSSL_init_ssl() with the option
|
---|
49 | B<OPENSSL_INIT_LOAD_SSL_STRINGS> will be ignored.
|
---|
50 |
|
---|
51 | =item OPENSSL_INIT_LOAD_SSL_STRINGS
|
---|
52 |
|
---|
53 | Automatic loading of the libssl error strings. This option is a
|
---|
54 | default option. Once selected subsequent calls to
|
---|
55 | OPENSSL_init_ssl() with the option
|
---|
56 | B<OPENSSL_INIT_LOAD_SSL_STRINGS> will be ignored.
|
---|
57 |
|
---|
58 | =back
|
---|
59 |
|
---|
60 | OPENSSL_init_ssl() takes a B<settings> parameter which can be used to
|
---|
61 | set parameter values. See L<OPENSSL_init_crypto(3)> for details.
|
---|
62 |
|
---|
63 | =head1 RETURN VALUES
|
---|
64 |
|
---|
65 | The function OPENSSL_init_ssl() returns 1 on success or 0 on error.
|
---|
66 |
|
---|
67 | =head1 SEE ALSO
|
---|
68 |
|
---|
69 | L<OPENSSL_init_crypto(3)>
|
---|
70 |
|
---|
71 | =head1 HISTORY
|
---|
72 |
|
---|
73 | The OPENSSL_init_ssl() function was added in OpenSSL 1.1.0.
|
---|
74 |
|
---|
75 | =head1 COPYRIGHT
|
---|
76 |
|
---|
77 | Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.
|
---|
78 |
|
---|
79 | Licensed under the OpenSSL license (the "License"). You may not use
|
---|
80 | this file except in compliance with the License. You can obtain a copy
|
---|
81 | in the file LICENSE in the source distribution or at
|
---|
82 | L<https://www.openssl.org/source/license.html>.
|
---|
83 |
|
---|
84 | =cut
|
---|