openssl/doc/ssl/SSL_library_init.pod

55 lines
1.5 KiB
Plaintext
Raw Normal View History

=pod
=head1 NAME
SSL_library_init, OpenSSL_add_ssl_algorithms, SSLeay_add_ssl_algorithms
- initialize SSL library by registering algorithms
=head1 SYNOPSIS
#include <openssl/ssl.h>
int SSL_library_init(void);
#define OpenSSL_add_ssl_algorithms() SSL_library_init()
#define SSLeay_add_ssl_algorithms() SSL_library_init()
=head1 DESCRIPTION
SSL_library_init() registers the available SSL/TLS ciphers and digests.
OpenSSL_add_ssl_algorithms() and SSLeay_add_ssl_algorithms() are synonyms
for SSL_library_init().
=head1 NOTES
SSL_library_init() must be called before any other action takes place.
SSL_library_init() is not reentrant.
=head1 WARNING
SSL_library_init() mainly adds ciphers and digests used directly by SSL/TLS.
In some cases this is not sufficient and errors about unknown algorithms
will occur: for example when an attempt is made to use a certificate using
SHA256. This can be resolved by also calling OpenSSL_add_all_algorithms().
=head1 EXAMPLES
A typical TLS/SSL application will start with the library initialization,
will provide readable error messages and will seed the PRNG.
SSL_load_error_strings(); /* readable error messages */
SSL_library_init(); /* initialize library */
actions_to_seed_PRNG();
=head1 RETURN VALUES
SSL_library_init() always returns "1", so it is safe to discard the return
value.
=head1 SEE ALSO
L<ssl(3)|ssl(3)>, L<SSL_load_error_strings(3)|SSL_load_error_strings(3)>,
L<RAND_add(3)|RAND_add(3)>
=cut