Changeset 5c163e5 for lib/ssl_openssl.c


Ignore:
Timestamp:
2018-05-25T02:15:12Z (6 years ago)
Author:
Eneas U de Queiroz <cote2004-github@…>
Branches:
master
Children:
17cc2fe
Parents:
896bea2
Message:

Openssl 1.1 support

This adds openssl 1.1.0 support.

Signed-off-by: Eneas U de Queiroz <cote2004-github@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lib/ssl_openssl.c

    r896bea2 r5c163e5  
    6565        const SSL_METHOD *meth;
    6666
     67#if OPENSSL_VERSION_NUMBER < 0x10100000L
    6768        SSL_library_init();
    6869
     
    7071        ssl_ctx = SSL_CTX_new(meth);
    7172        SSL_CTX_set_options(ssl_ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3);
     73#else
     74        meth = TLS_client_method();
     75        ssl_ctx = SSL_CTX_new(meth);
     76        SSL_CTX_set_min_proto_version(ssl_ctx, TLS1_VERSION);
     77#endif
    7278
    7379        initialized = TRUE;
     
    301307{
    302308        int output_length = 0;
    303         EVP_CIPHER_CTX ctx;
     309        EVP_CIPHER_CTX *ctx;
    304310
    305311        *res = g_new0(unsigned char, 72);
    306312
    307313        /* Don't set key or IV because we will modify the parameters */
    308         EVP_CIPHER_CTX_init(&ctx);
    309         EVP_CipherInit_ex(&ctx, EVP_des_ede3_cbc(), NULL, NULL, NULL, 1);
    310         EVP_CIPHER_CTX_set_key_length(&ctx, key_len);
    311         EVP_CIPHER_CTX_set_padding(&ctx, 0);
     314        ctx = EVP_CIPHER_CTX_new();
     315        EVP_CipherInit_ex(ctx, EVP_des_ede3_cbc(), NULL, NULL, NULL, 1);
     316        EVP_CIPHER_CTX_set_key_length(ctx, key_len);
     317        EVP_CIPHER_CTX_set_padding(ctx, 0);
    312318        /* We finished modifying parameters so now we can set key and IV */
    313         EVP_CipherInit_ex(&ctx, NULL, NULL, key, iv, 1);
    314         EVP_CipherUpdate(&ctx, *res, &output_length, input, input_len);
    315         EVP_CipherFinal_ex(&ctx, *res, &output_length);
    316         EVP_CIPHER_CTX_cleanup(&ctx);
     319        EVP_CipherInit_ex(ctx, NULL, NULL, key, iv, 1);
     320        EVP_CipherUpdate(ctx, *res, &output_length, input, input_len);
     321        EVP_CipherFinal_ex(ctx, *res, &output_length);
     322        EVP_CIPHER_CTX_free(ctx);
    317323        //EVP_cleanup();
    318324
Note: See TracChangeset for help on using the changeset viewer.