Skip to content

Commit

Permalink
Fix OpenSSL initialization #299 (#300)
Browse files Browse the repository at this point in the history
  • Loading branch information
josusky committed Mar 4, 2024
1 parent 0ce327a commit d03ad5f
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions src/vmime/net/tls/openssl/OpenSSLInitializer.cpp
Expand Up @@ -115,10 +115,18 @@ void OpenSSLInitializer::initialize() {
OPENSSL_config(NULL);
#endif

#if OPENSSL_VERSION_NUMBER >= 0x30000000L
static const bool isFIPSenabled = EVP_default_properties_is_fips_enabled(nullptr) == 1;
#else
static const bool isFIPSenabled = FIPS_mode() == 1;
#endif

#if OPENSSL_VERSION_NUMBER >=0x10100000L
OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS | OPENSSL_INIT_ADD_ALL_DIGESTS |
OPENSSL_INIT_LOAD_CONFIG | OPENSSL_INIT_ENGINE_OPENSSL | OPENSSL_INIT_ENGINE_ALL_BUILTIN , NULL);
OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS, NULL);
vmime_uint64 flags = OPENSSL_INIT_LOAD_SSL_STRINGS | OPENSSL_INIT_LOAD_CONFIG;
if (!isFIPSenabled) {
flags |= OPENSSL_INIT_ENGINE_OPENSSL | OPENSSL_INIT_ENGINE_ALL_BUILTIN;
}
OPENSSL_init_ssl(flags, NULL);
#endif

#if OPENSSL_VERSION_NUMBER < 0x10100000L
Expand Down

0 comments on commit d03ad5f

Please sign in to comment.