EVP_OpenInit (3)
Leading comments
Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) Standard preamble: ========================================================================
NAME
EVP_OpenInit, EVP_OpenUpdate, EVP_OpenFinal - EVP envelope decryptionSYNOPSIS
#include <openssl/evp.h> int EVP_OpenInit(EVP_CIPHER_CTX *ctx,EVP_CIPHER *type,unsigned char *ek, int ekl,unsigned char *iv,EVP_PKEY *priv); int EVP_OpenUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, unsigned char *in, int inl); int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);
DESCRIPTION
TheEVP_OpenInit() initializes a cipher context ctx for decryption with cipher type. It decrypts the encrypted symmetric key of length ekl bytes passed in the ek parameter using the private key priv. The
EVP_OpenUpdate() and EVP_OpenFinal() have exactly the same properties as the EVP_DecryptUpdate() and EVP_DecryptFinal() routines, as documented on the EVP_EncryptInit(3) manual page.
NOTES
It is possible to call EVP_OpenInit() twice in the same way as EVP_DecryptInit(). The first call should have priv set toIf the cipher passed in the type parameter is a variable length cipher then the key length will be set to the value of the recovered key length. If the cipher is a fixed length cipher then the recovered key length must match the fixed cipher length.
RETURN VALUES
EVP_OpenInit() returns 0 on error or a non zero integer (actually the recovered secret key size) if successful.EVP_OpenUpdate() returns 1 for success or 0 for failure.
EVP_OpenFinal() returns 0 if the decrypt failed or 1 for success.