SSL_library_init man page

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


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


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


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


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


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.


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(3), SSL_load_error_strings(3), RAND_add(3)

Referenced By


Explore man page connections for SSL_library_init(3).

OpenSSL 1.0.2j 2016-09-26