diff --git a/tests/api.c b/tests/api.c index ce7486102..33fdae9ae 100644 --- a/tests/api.c +++ b/tests/api.c @@ -36786,13 +36786,15 @@ static int test_wolfSSL_EVP_Cipher_extra(void) int ret = 0; EVP_CIPHER_CTX *evp = NULL; - + + int ilen = 0; int klen = 0; int i, j; const EVP_CIPHER *type; byte *iv; byte *key; + int ivlen; int keylen; #define RECORDS 16 @@ -36805,6 +36807,7 @@ static int test_wolfSSL_EVP_Cipher_extra(void) int outl, inl; iv = aes128_cbc_iv; + ivlen = sizeof(aes128_cbc_iv); key = aes128_cbc_key; keylen = sizeof(aes128_cbc_key); type = EVP_aes_128_cbc(); @@ -36820,6 +36823,10 @@ static int test_wolfSSL_EVP_Cipher_extra(void) if (klen > 0 && keylen != klen) { AssertIntNE(EVP_CIPHER_CTX_set_key_length(evp, keylen), 0); } + ilen = EVP_CIPHER_CTX_iv_length(evp); + if (ilen > 0 && ivlen != ilen) { + AssertIntNE(EVP_CIPHER_CTX_set_iv_length(evp, ivlen), 0); + } AssertIntNE((ret = EVP_CipherInit(evp, NULL, key, iv, 1)), 0); diff --git a/wolfssl/openssl/evp.h b/wolfssl/openssl/evp.h index 49491f417..ec1ffdfd3 100644 --- a/wolfssl/openssl/evp.h +++ b/wolfssl/openssl/evp.h @@ -831,6 +831,7 @@ typedef WOLFSSL_ASN1_PCTX ASN1_PCTX; #define EVP_CIPHER_CTX_iv_length wolfSSL_EVP_CIPHER_CTX_iv_length #define EVP_CIPHER_CTX_key_length wolfSSL_EVP_CIPHER_CTX_key_length #define EVP_CIPHER_CTX_set_key_length wolfSSL_EVP_CIPHER_CTX_set_key_length +#define EVP_CIPHER_CTX_set_iv_length wolfSSL_EVP_CIPHER_CTX_set_iv_length #define EVP_CIPHER_CTX_mode wolfSSL_EVP_CIPHER_CTX_mode #define EVP_CIPHER_CTX_cipher wolfSSL_EVP_CIPHER_CTX_cipher