diff options
author | robot-piglet <robot-piglet@yandex-team.com> | 2023-09-06 12:31:14 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2023-09-06 12:59:52 +0300 |
commit | 04a19cc6b675d2380241eaa4b6e584a07bbd4280 (patch) | |
tree | 072700370672dc35fc987c10419e5ab34f4ca7fd /contrib/libs/openssl/crypto/evp/p_dec.c | |
parent | 3a349a1a0cd42df29e4c2b2c950a8bd1d14345e3 (diff) | |
download | ydb-04a19cc6b675d2380241eaa4b6e584a07bbd4280.tar.gz |
Intermediate changes
Diffstat (limited to 'contrib/libs/openssl/crypto/evp/p_dec.c')
-rw-r--r-- | contrib/libs/openssl/crypto/evp/p_dec.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/contrib/libs/openssl/crypto/evp/p_dec.c b/contrib/libs/openssl/crypto/evp/p_dec.c new file mode 100644 index 0000000000..a150a26e09 --- /dev/null +++ b/contrib/libs/openssl/crypto/evp/p_dec.c @@ -0,0 +1,36 @@ +/* + * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include <stdio.h> +#include "internal/cryptlib.h" +#include <openssl/rsa.h> +#include <openssl/evp.h> +#include <openssl/objects.h> +#include <openssl/x509.h> + +int EVP_PKEY_decrypt_old(unsigned char *key, const unsigned char *ek, int ekl, + EVP_PKEY *priv) +{ + int ret = -1; + +#ifndef OPENSSL_NO_RSA + if (EVP_PKEY_id(priv) != EVP_PKEY_RSA) { +#endif + EVPerr(EVP_F_EVP_PKEY_DECRYPT_OLD, EVP_R_PUBLIC_KEY_NOT_RSA); +#ifndef OPENSSL_NO_RSA + goto err; + } + + ret = + RSA_private_decrypt(ekl, ek, key, EVP_PKEY_get0_RSA(priv), + RSA_PKCS1_PADDING); + err: +#endif + return ret; +} |