### ALL ### Follow the porting instructions here: https://wiki.tizen.org/Security/Tizen_5.X_Migration_from_OpenSSL_1.0.2_to_OpenSSL_1.1.1_guide Especially the section "EVP_CIPHER_CTX became opaque". The changes here will match changes for most classes in OpenSSL. Most notable: Declaration: - EVP_CIPHER_CTX evp; + EVP_CIPHER_CTX *evp; Initialization & cleanup: - EVP_CIPHER_CTX_init(&evp); + evp = EVP_CIPHER_CTX_new(); + EVP_CIPHER_CTX_free(evp); /* do not forget to free after usage or error */ Function calling: - EVP_CipherInit(&evp, EVP_des_cbc(), k1, NULL, enc); + EVP_CipherInit(evp, EVP_des_cbc(), k1, NULL, enc); Note the change to using a pointer instead of directly. For encoding/decoding, the init() step is stil needed. - EVP_EncodeInit(&m_evpCtx); + m_evpCtx = EVP_ENCODE_CTX_new(); + EVP_EncodeInit(m_evpCtx); More changes: X509_EXTENSION *ext = X509_get_ext(peer, i); const unsigned char *data; - data = ext->value->data; + data = ASN1_STRING_get0_data(X509_EXTENSION_get_data(ext)); - ext_data = meth->d2i(NULL, &data, ext->value->length); + ext_data = meth->d2i(NULL, &data, ASN1_STRING_length(X509_EXTENSION_get_data(ext))); xmlsec.h(99): warning C4005: 'XMLSEC_CRYPTO': macro redefinition /** * XMLSEC_CRYPTO: * * Macro. Deprecated. Defined for backward compatibility only. Do not use * in your code and use xmlSecGetDefaultCrypto() function instead. * * Returns the default crypto engine. */ #define XMLSEC_CRYPTO (xmlSecGetDefaultCrypto()) ### WINDOWS ### ws2_32.lib will need to replace wsock32.lib when linking, or be added to link if not there. ZLIB_WINAPI may be defined with some OSS (like curl), this causes link errors and should be removed. ### LINUX ### Linux will likley need to link with -lpthread Some apps may need -lrt