- NAME
- SYNOPSIS
- DESCRIPTION
- NOTES
- WARNING
- EXAMPLES
- RETURN VALUES
- NOTES
- SEE ALSO

# NAME

SSL_library_init, OpenSSL_add_ssl_algorithms, SSLeay_add_ssl_algorithms - initialize SSL library by registering algorithms

# 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()

# 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().

# NOTES

`SSL_library_init()` must be called before any other action takes place. `SSL_library_init()` is not reentrant.

# WARNING

`SSL_library_init()` adds ciphers and digests used directly and indirectly by SSL/TLS.

# EXAMPLES

A typical TLS/SSL application will start with the library initialization, and provide readable error messages.

     SSL_load_error_strings();                /* readable error messages */
     SSL_library_init();                      /* initialize library */

# RETURN VALUES

`SSL_library_init()` always returns ``1'', so it is safe to discard the return value.

# NOTES

OpenSSL 0.9.8o and 1.0.0a and later added SHA2 algorithms to SSL_library_init(). Applications which need to use SHA2 in earlier versions of OpenSSL should call `OpenSSL_add_all_algorithms()` as well.

# SEE ALSO

ssl, SSL_load_error_strings, RAND_add