From 07e7cdd4f00151709a0396fea797c4d8d57c8950 Mon Sep 17 00:00:00 2001 From: Love Hornquist Astrand Date: Thu, 23 Sep 2010 11:11:00 -0700 Subject: [PATCH] Support PADDING_NONE for encryption too --- lib/hx509/crypto.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/hx509/crypto.c b/lib/hx509/crypto.c index 52098b326..c2e5e7074 100644 --- a/lib/hx509/crypto.c +++ b/lib/hx509/crypto.c @@ -2487,12 +2487,17 @@ hx509_crypto_encrypt(hx509_crypto crypto, goto out; } - if (EVP_CIPHER_block_size(crypto->c) == 1) { + assert(crypto->flags & PADDING_FLAGS); + if (crypto->flags & PADDING_NONE) { padsize = 0; - } else { - int bsize = EVP_CIPHER_block_size(crypto->c); - padsize = bsize - (length % bsize); + } else if (crypto->flags & PADDING_PKCS7) { + if (EVP_CIPHER_block_size(crypto->c) == 1) { + } else { + int bsize = EVP_CIPHER_block_size(crypto->c); + padsize = bsize - (length % bsize); + } } + (*ciphertext)->length = length + padsize; (*ciphertext)->data = malloc(length + padsize); if ((*ciphertext)->data == NULL) {