lib: rsa: use actual OpenSSL 1.1.0 EVP MD API
authorYann Droneaud <ydroneaud@opteya.com>
Tue, 1 Mar 2022 15:12:34 +0000 (16:12 +0100)
committerTom Rini <trini@konsulko.com>
Fri, 4 Mar 2022 20:20:07 +0000 (15:20 -0500)
Since OpenSSL 1.1.0, EVP_MD_CTX_create() is EVP_MD_CTX_new()
                     EVP_MD_CTX_destroy() is EVP_MD_CTX_free()
                     EVP_MD_CTX_init() is EVP_MD_CTX_reset()

As there's no need to reset a newly created EVP_MD_CTX, moreover
EVP_DigestSignInit() does the reset, thus call to EVP_MD_CTX_init()
can be dropped.
As there's no need to reset an EVP_MD_CTX before it's destroyed,
as it will be reset by EVP_MD_CTX_free(), call to EVP_MD_CTX_reset()
is not needed and can be dropped.

Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>
lib/rsa/rsa-sign.c

index 3e7b798..b2a2119 100644 (file)
@@ -383,12 +383,11 @@ static int rsa_sign_with_key(EVP_PKEY *pkey, struct padding_algo *padding_algo,
                goto err_alloc;
        }
 
-       context = EVP_MD_CTX_create();
+       context = EVP_MD_CTX_new();
        if (!context) {
                ret = rsa_err("EVP context creation failed");
                goto err_create;
        }
-       EVP_MD_CTX_init(context);
 
        ckey = EVP_PKEY_CTX_new(pkey, NULL);
        if (!ckey) {
@@ -425,8 +424,7 @@ static int rsa_sign_with_key(EVP_PKEY *pkey, struct padding_algo *padding_algo,
                goto err_sign;
        }
 
-       EVP_MD_CTX_reset(context);
-       EVP_MD_CTX_destroy(context);
+       EVP_MD_CTX_free(context);
 
        debug("Got signature: %zu bytes, expected %d\n", size, EVP_PKEY_size(pkey));
        *sigp = sig;
@@ -435,7 +433,7 @@ static int rsa_sign_with_key(EVP_PKEY *pkey, struct padding_algo *padding_algo,
        return 0;
 
 err_sign:
-       EVP_MD_CTX_destroy(context);
+       EVP_MD_CTX_free(context);
 err_create:
        free(sig);
 err_alloc: