1*f1a3c524Sschwarze.\" 2*f1a3c524Sschwarze.\" $OpenBSD: SSL_library_init.3,v 1.1 2016/11/05 15:32:20 schwarze Exp $ 3*f1a3c524Sschwarze.\" 4*f1a3c524Sschwarze.Dd $Mdocdate: November 5 2016 $ 5*f1a3c524Sschwarze.Dt SSL_LIBRARY_INIT 3 6*f1a3c524Sschwarze.Os 7*f1a3c524Sschwarze.Sh NAME 8*f1a3c524Sschwarze.Nm SSL_library_init , 9*f1a3c524Sschwarze.Nm OpenSSL_add_ssl_algorithms , 10*f1a3c524Sschwarze.Nm SSLeay_add_ssl_algorithms 11*f1a3c524Sschwarze.Nd initialize SSL library by registering algorithms 12*f1a3c524Sschwarze.Sh SYNOPSIS 13*f1a3c524Sschwarze.In openssl/ssl.h 14*f1a3c524Sschwarze.Ft int 15*f1a3c524Sschwarze.Fn SSL_library_init void 16*f1a3c524Sschwarze.Fd #define OpenSSL_add_ssl_algorithms() SSL_library_init() 17*f1a3c524Sschwarze.Fd #define SSLeay_add_ssl_algorithms() SSL_library_init() 18*f1a3c524Sschwarze.Sh DESCRIPTION 19*f1a3c524Sschwarze.Fn SSL_library_init 20*f1a3c524Sschwarzeregisters the available SSL/TLS ciphers and digests. 21*f1a3c524Sschwarze.Pp 22*f1a3c524Sschwarze.Fn OpenSSL_add_ssl_algorithms 23*f1a3c524Sschwarzeand 24*f1a3c524Sschwarze.Fn SSLeay_add_ssl_algorithms 25*f1a3c524Sschwarzeare synonyms for 26*f1a3c524Sschwarze.Fn SSL_library_init . 27*f1a3c524Sschwarze.Sh NOTES 28*f1a3c524Sschwarze.Fn SSL_library_init 29*f1a3c524Sschwarzemust be called before any other action takes place. 30*f1a3c524Sschwarze.Fn SSL_library_init 31*f1a3c524Sschwarzeis not reentrant. 32*f1a3c524Sschwarze.Sh WARNING 33*f1a3c524Sschwarze.Fn SSL_library_init 34*f1a3c524Sschwarzeadds ciphers and digests used directly and indirectly by SSL/TLS. 35*f1a3c524Sschwarze.Sh RETURN VALUES 36*f1a3c524Sschwarze.Fn SSL_library_init 37*f1a3c524Sschwarzealways returns 1, so it is safe to discard the return value. 38*f1a3c524Sschwarze.Sh EXAMPLES 39*f1a3c524SschwarzeA typical TLS/SSL application will start with the library initialization, and 40*f1a3c524Sschwarzeprovide readable error messages. 41*f1a3c524Sschwarze.Bd -literal 42*f1a3c524SschwarzeSSL_load_error_strings(); /* readable error messages */ 43*f1a3c524SschwarzeSSL_library_init(); /* initialize library */ 44*f1a3c524Sschwarze.Ed 45*f1a3c524Sschwarze.Sh NOTES 46*f1a3c524SschwarzeOpenSSL 0.9.8o and 1.0.0a and later added SHA2 algorithms to 47*f1a3c524Sschwarze.Fn SSL_library_init . 48*f1a3c524SschwarzeApplications which need to use SHA2 in earlier versions of OpenSSL should call 49*f1a3c524Sschwarze.Fn OpenSSL_add_all_algorithms 50*f1a3c524Sschwarzeas well. 51*f1a3c524Sschwarze.Sh SEE ALSO 52*f1a3c524Sschwarze.Xr RAND_add 3 , 53*f1a3c524Sschwarze.Xr ssl 3 , 54*f1a3c524Sschwarze.Xr SSL_load_error_strings 3 55