summaryrefslogtreecommitdiffstats
path: root/crypto/evp/evp_enc.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2005-12-02 13:46:39 +0000
committerDr. Stephen Henson <steve@openssl.org>2005-12-02 13:46:39 +0000
commitb40228a61d2f9b40fa6a834c9beaa8ee9dc490c1 (patch)
tree77e38605dd70f7a8774256752ba46b7ade06795b /crypto/evp/evp_enc.c
parentda5a0e8722077ab0621c77515fd634345f43ac11 (diff)
New functions to support opaque EVP_CIPHER_CTX handling.
Diffstat (limited to 'crypto/evp/evp_enc.c')
-rw-r--r--crypto/evp/evp_enc.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/crypto/evp/evp_enc.c b/crypto/evp/evp_enc.c
index 22cb6131be..f0b725def6 100644
--- a/crypto/evp/evp_enc.c
+++ b/crypto/evp/evp_enc.c
@@ -74,6 +74,13 @@ void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *ctx)
/* ctx->cipher=NULL; */
}
+EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void)
+ {
+ EVP_CIPHER_CTX *ctx=OPENSSL_malloc(sizeof *ctx);
+ if (ctx)
+ EVP_CIPHER_CTX_init(ctx);
+ return ctx;
+ }
int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
const unsigned char *key, const unsigned char *iv, int enc)
@@ -472,6 +479,15 @@ int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl)
return(1);
}
+void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *ctx)
+ {
+ if (ctx)
+ {
+ EVP_CIPHER_CTX_cleanup(ctx);
+ OPENSSL_free(ctx);
+ }
+ }
+
int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *c)
{
if (c->cipher != NULL)