void bind_to_key_and_certificate(void) {
SSL_CTX *old_ctx, *new_ctx;
- if (!(new_ctx = SSL_CTX_new(SSLv23_server_method()))) {
+ if (!(new_ctx = SSL_CTX_new(TLS_server_method()))) {
syslog(LOG_WARNING, "SSL_CTX_new failed: %s", ERR_reason_error_string(ERR_get_error()));
return;
}
// Initialize ssl engine, load certs and initialize openssl internals
void init_ssl(void) {
- // Initialize SSL transport layer
- SSL_library_init();
+ // Initialize the OpenSSL library
SSL_load_error_strings();
+ ERR_load_crypto_strings();
+ OpenSSL_add_all_algorithms();
+ SSL_library_init();
// Now try to bind to the key and certificate.
bind_to_key_and_certificate();