If your problem is the migration from 1.0.2 to 1.1.1, I have attached my 
porting notes, if that helps.

-Tom 

-----Original Message-----
From: openssl-users <openssl-users-boun...@openssl.org> On Behalf Of Embedded 
Devel
Sent: Wednesday, March 24, 2021 8:02 PM
To: openssl-users@openssl.org
Subject: openssl development work / paid

I tried to get through this on my own, not being a openssl developer, made 
progress but still no joy

so we had an app that was written some 8-10 years ago, which worked fine for 
client/server tls

update to today, no longer functional, deprecations in openssl cause errors

it is not a large app, and i believe if someone were to resolve the openssl 
issues it would work again

whos up for making some money ?


Thanks

### 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

Reply via email to