aboutsummaryrefslogtreecommitdiffhomepage
path: root/tdutils/td/utils/crypto.cpp
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2021-07-02 23:34:24 +0300
committerlevlam <levlam@telegram.org>2021-07-02 23:34:24 +0300
commit3ead565d675c0317abcfdb70b28eac3bb5659425 (patch)
treef1680319b6a23dbe01e72eb0d37082b5d6cadf3d /tdutils/td/utils/crypto.cpp
parent8b5a55c79800eb03b67bebb4e0b8e405df698428 (diff)
Improve OpenSSL 3.0 support.
Diffstat (limited to 'tdutils/td/utils/crypto.cpp')
-rw-r--r--tdutils/td/utils/crypto.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/tdutils/td/utils/crypto.cpp b/tdutils/td/utils/crypto.cpp
index 7b033ad0b..51dae8377 100644
--- a/tdutils/td/utils/crypto.cpp
+++ b/tdutils/td/utils/crypto.cpp
@@ -888,15 +888,11 @@ static void hmac_impl(const char *digest, Slice key, Slice message, MutableSlice
EVP_MAC_CTX *ctx = EVP_MAC_CTX_new(hmac);
LOG_IF(FATAL, ctx == nullptr);
- OSSL_PARAM params[3];
+ OSSL_PARAM params[2];
params[0] = OSSL_PARAM_construct_utf8_string(OSSL_MAC_PARAM_DIGEST, const_cast<char *>(digest), 0);
- params[1] =
- OSSL_PARAM_construct_octet_string(OSSL_MAC_PARAM_KEY, const_cast<unsigned char *>(key.ubegin()), key.size());
- params[2] = OSSL_PARAM_construct_end();
+ params[1] = OSSL_PARAM_construct_end();
- int res = EVP_MAC_CTX_set_params(ctx, params);
- LOG_IF(FATAL, res != 1);
- res = EVP_MAC_init(ctx);
+ int res = EVP_MAC_init(ctx, const_cast<unsigned char *>(key.ubegin()), key.size(), params);
LOG_IF(FATAL, res != 1);
res = EVP_MAC_update(ctx, message.ubegin(), message.size());
LOG_IF(FATAL, res != 1);