From 4e62f1a3af36512a1f5e1273d2dc54e3ce7f5fca Mon Sep 17 00:00:00 2001 From: Pauli Date: Fri, 7 Jan 2022 11:46:33 +1100 Subject: Add context dup functions for digests and ciphers Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/17529) --- crypto/evp/evp_enc.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'crypto/evp/evp_enc.c') diff --git a/crypto/evp/evp_enc.c b/crypto/evp/evp_enc.c index 519cab3f2b..1c02cafa16 100644 --- a/crypto/evp/evp_enc.c +++ b/crypto/evp/evp_enc.c @@ -1346,6 +1346,17 @@ int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key) #endif /* FIPS_MODULE */ } +EVP_CIPHER_CTX *EVP_CIPHER_CTX_dup(const EVP_CIPHER_CTX *in) +{ + EVP_CIPHER_CTX *out = EVP_CIPHER_CTX_new(); + + if (out != NULL && !EVP_CIPHER_CTX_copy(out, in)) { + EVP_CIPHER_CTX_free(out); + out = NULL; + } + return out; +} + int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in) { if ((in == NULL) || (in->cipher == NULL)) { -- cgit v1.2.3