Commit f918c330 authored by Richard Levitte's avatar Richard Levitte
Browse files

For CFB and OFB modes, always create the encryption key.

parent 7f52f77e
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -88,7 +88,9 @@ IMPLEMENT_BLOCK_CIPHER(aes_256, ks, AES, EVP_AES_KEY,
static int aes_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
static int aes_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
		   const unsigned char *iv, int enc) {
		   const unsigned char *iv, int enc) {


	if (enc) 
	if ((ctx->cipher->flags & EVP_CIPH_MODE) == EVP_CIPH_CFB_MODE
	    || (ctx->cipher->flags & EVP_CIPH_MODE) == EVP_CIPH_OFB_MODE
	    || enc) 
		AES_set_encrypt_key(key, ctx->key_len * 8, ctx->cipher_data);
		AES_set_encrypt_key(key, ctx->key_len * 8, ctx->cipher_data);
	else
	else
		AES_set_decrypt_key(key, ctx->key_len * 8, ctx->cipher_data);
		AES_set_decrypt_key(key, ctx->key_len * 8, ctx->cipher_data);