SSL_library_init 3 2008-05-09 0.9.9-dev OpenSSL

### NAME

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

### LIBRARY

libcrypto, -lcrypto

### SYNOPSIS

     #include

     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 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() only registers ciphers. Another important initialization is the seeding of the PRNG (Pseudo Random Number Generator), which has to be performed separately.

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

### RETURN VALUES

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

### SEE ALSO

ssl(3), SSL_load_error_strings(3), RAND_add(3)