aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/evp/e_cbc_c.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2000-05-26 23:51:35 +0000
committerDr. Stephen Henson <steve@openssl.org>2000-05-26 23:51:35 +0000
commit7f0606016cbbec917b1fe094b84b062e87abe7da (patch)
tree7238920f63ab28f7babc823ca9e8f18903e25192 /crypto/evp/e_cbc_c.c
parent7b224903f4d4e2c74d1548b6f0ca8b0ba31113ad (diff)
downloadopenssl-7f0606016cbbec917b1fe094b84b062e87abe7da.tar.gz
Beginnings of EVP cipher overhaul. This should eventually
enhance and tidy up the EVP interface. This patch adds initial support for variable length ciphers and changes S/MIME code to use this. Some other library functions need modifying to support use of modified cipher parameters. Also need to change all the cipher functions that should return error codes, but currenly don't. And of course it needs extensive testing...
Diffstat (limited to 'crypto/evp/e_cbc_c.c')
-rw-r--r--crypto/evp/e_cbc_c.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/evp/e_cbc_c.c b/crypto/evp/e_cbc_c.c
index 6845b0b44c..4e8fda9e64 100644
--- a/crypto/evp/e_cbc_c.c
+++ b/crypto/evp/e_cbc_c.c
@@ -71,6 +71,7 @@ static EVP_CIPHER cast5_cbc_cipher=
{
NID_cast5_cbc,
8,EVP_CAST5_KEY_SIZE,8,
+ EVP_CIPH_CBC_MODE | EVP_CIPH_VARIABLE_LENGTH,
cast_cbc_init_key,
cast_cbc_cipher,
NULL,
@@ -78,6 +79,7 @@ static EVP_CIPHER cast5_cbc_cipher=
sizeof((((EVP_CIPHER_CTX *)NULL)->c.cast_ks)),
EVP_CIPHER_set_asn1_iv,
EVP_CIPHER_get_asn1_iv,
+ NULL
};
EVP_CIPHER *EVP_cast5_cbc(void)
@@ -92,7 +94,7 @@ static void cast_cbc_init_key(EVP_CIPHER_CTX *ctx, unsigned char *key,
memcpy(&(ctx->oiv[0]),iv,8);
memcpy(&(ctx->iv[0]),&(ctx->oiv[0]),8);
if (key != NULL)
- CAST_set_key(&(ctx->c.cast_ks),EVP_CAST5_KEY_SIZE,key);
+ CAST_set_key(&(ctx->c.cast_ks),EVP_CIPHER_CTX_key_length(ctx),key);
}
static void cast_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,