forked from wolfSSL/wolfssl
add test EVP_CIPHER_CTX_new/free
This commit is contained in:
committed by
Jacob Barthelmeh
parent
a774f26613
commit
c57803a4a5
@ -58,14 +58,17 @@ WOLFSSL_API int wolfSSL_EVP_DecryptInit_ex(WOLFSSL_EVP_CIPHER_CTX* ctx,
|
|||||||
WOLFSSL_API WOLFSSL_EVP_CIPHER_CTX *wolfSSL_EVP_CIPHER_CTX_new(void)
|
WOLFSSL_API WOLFSSL_EVP_CIPHER_CTX *wolfSSL_EVP_CIPHER_CTX_new(void)
|
||||||
{
|
{
|
||||||
WOLFSSL_EVP_CIPHER_CTX *ctx=XMALLOC(sizeof *ctx, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
WOLFSSL_EVP_CIPHER_CTX *ctx=XMALLOC(sizeof *ctx, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
if (ctx)
|
if (ctx){
|
||||||
|
WOLFSSL_ENTER("wolfSSL_EVP_CIPHER_CTX_new");
|
||||||
wolfSSL_EVP_CIPHER_CTX_init(ctx);
|
wolfSSL_EVP_CIPHER_CTX_init(ctx);
|
||||||
|
}
|
||||||
return ctx;
|
return ctx;
|
||||||
}
|
}
|
||||||
|
|
||||||
WOLFSSL_API void wolfSSL_EVP_CIPHER_CTX_free(WOLFSSL_EVP_CIPHER_CTX *ctx)
|
WOLFSSL_API void wolfSSL_EVP_CIPHER_CTX_free(WOLFSSL_EVP_CIPHER_CTX *ctx)
|
||||||
{
|
{
|
||||||
if (ctx) {
|
if (ctx) {
|
||||||
|
WOLFSSL_ENTER("wolfSSL_EVP_CIPHER_CTX_free");
|
||||||
wolfSSL_EVP_CIPHER_CTX_cleanup(ctx);
|
wolfSSL_EVP_CIPHER_CTX_cleanup(ctx);
|
||||||
XFREE(ctx, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
XFREE(ctx, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
}
|
}
|
||||||
@ -74,8 +77,10 @@ WOLFSSL_API void wolfSSL_EVP_CIPHER_CTX_free(WOLFSSL_EVP_CIPHER_CTX *ctx)
|
|||||||
WOLFSSL_API int wolfSSL_EVP_EncryptFinal(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
WOLFSSL_API int wolfSSL_EVP_EncryptFinal(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
||||||
unsigned char *out, int *outl)
|
unsigned char *out, int *outl)
|
||||||
{
|
{
|
||||||
if (ctx->enc)
|
if (ctx->enc){
|
||||||
|
WOLFSSL_ENTER("wolfSSL_EVP_EncryptFinal");
|
||||||
return wolfSSL_EVP_CipherFinal(ctx, out, outl);
|
return wolfSSL_EVP_CipherFinal(ctx, out, outl);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -83,8 +88,10 @@ WOLFSSL_API int wolfSSL_EVP_EncryptFinal(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
|||||||
WOLFSSL_API int wolfSSL_EVP_EncryptFinal_ex(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
WOLFSSL_API int wolfSSL_EVP_EncryptFinal_ex(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
||||||
unsigned char *out, int *outl)
|
unsigned char *out, int *outl)
|
||||||
{
|
{
|
||||||
if (ctx->enc)
|
if (ctx->enc){
|
||||||
|
WOLFSSL_ENTER("wolfSSL_EVP_EncryptFinal_ex");
|
||||||
return wolfSSL_EVP_CipherFinal(ctx, out, outl);
|
return wolfSSL_EVP_CipherFinal(ctx, out, outl);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -94,8 +101,10 @@ WOLFSSL_API int wolfSSL_EVP_DecryptFinal(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
|||||||
{
|
{
|
||||||
if (ctx->enc)
|
if (ctx->enc)
|
||||||
return 0;
|
return 0;
|
||||||
else
|
else{
|
||||||
|
WOLFSSL_ENTER("wolfSSL_EVP_DecryptFinal");
|
||||||
return wolfSSL_EVP_CipherFinal(ctx, out, outl);
|
return wolfSSL_EVP_CipherFinal(ctx, out, outl);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WOLFSSL_API int wolfSSL_EVP_DecryptFinal_ex(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
WOLFSSL_API int wolfSSL_EVP_DecryptFinal_ex(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
||||||
@ -103,8 +112,10 @@ WOLFSSL_API int wolfSSL_EVP_DecryptFinal_ex(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
|||||||
{
|
{
|
||||||
if (ctx->enc)
|
if (ctx->enc)
|
||||||
return 0;
|
return 0;
|
||||||
else
|
else{
|
||||||
|
WOLFSSL_ENTER("wolfSSL_EVP_CipherFinal_ex");
|
||||||
return wolfSSL_EVP_CipherFinal(ctx, out, outl);
|
return wolfSSL_EVP_CipherFinal(ctx, out, outl);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -7143,11 +7143,13 @@ int openssl_test(void)
|
|||||||
|
|
||||||
EVP_CIPHER_CTX en;
|
EVP_CIPHER_CTX en;
|
||||||
EVP_CIPHER_CTX de;
|
EVP_CIPHER_CTX de;
|
||||||
|
EVP_CIPHER_CTX *p_en;
|
||||||
|
EVP_CIPHER_CTX *p_de;
|
||||||
|
|
||||||
EVP_CIPHER_CTX_init(&en);
|
EVP_CIPHER_CTX_init(&en);
|
||||||
if (EVP_CipherInit(&en, EVP_aes_128_ctr(),
|
if (EVP_CipherInit(&en, EVP_aes_128_ctr(),
|
||||||
(unsigned char*)ctrKey, (unsigned char*)ctrIv, 0) == 0)
|
(unsigned char*)ctrKey, (unsigned char*)ctrIv, 0) == 0)
|
||||||
return OPENSSL_TEST_ERROR-361;
|
return -3300;
|
||||||
if (EVP_Cipher(&en, (byte*)cipherBuff, (byte*)ctrPlain, AES_BLOCK_SIZE*4) == 0)
|
if (EVP_Cipher(&en, (byte*)cipherBuff, (byte*)ctrPlain, AES_BLOCK_SIZE*4) == 0)
|
||||||
return -3301;
|
return -3301;
|
||||||
EVP_CIPHER_CTX_init(&de);
|
EVP_CIPHER_CTX_init(&de);
|
||||||
@ -7163,6 +7165,31 @@ int openssl_test(void)
|
|||||||
if (XMEMCMP(plainBuff, ctrPlain, AES_BLOCK_SIZE*4))
|
if (XMEMCMP(plainBuff, ctrPlain, AES_BLOCK_SIZE*4))
|
||||||
return -3305;
|
return -3305;
|
||||||
|
|
||||||
|
p_en = wolfSSL_EVP_CIPHER_CTX_new();
|
||||||
|
if(p_en == NULL)return -3390;
|
||||||
|
p_de = wolfSSL_EVP_CIPHER_CTX_new();
|
||||||
|
if(p_de == NULL)return -3391;
|
||||||
|
|
||||||
|
if (EVP_CipherInit(p_en, EVP_aes_128_ctr(),
|
||||||
|
(unsigned char*)ctrKey, (unsigned char*)ctrIv, 0) == 0)
|
||||||
|
return -3392;
|
||||||
|
if (EVP_Cipher(p_en, (byte*)cipherBuff, (byte*)ctrPlain, AES_BLOCK_SIZE*4) == 0)
|
||||||
|
return -3393;
|
||||||
|
if (EVP_CipherInit(p_de, EVP_aes_128_ctr(),
|
||||||
|
(unsigned char*)ctrKey, (unsigned char*)ctrIv, 0) == 0)
|
||||||
|
return -3394;
|
||||||
|
|
||||||
|
if (EVP_Cipher(p_de, (byte*)plainBuff, (byte*)cipherBuff, AES_BLOCK_SIZE*4) == 0)
|
||||||
|
return -3395;
|
||||||
|
|
||||||
|
wolfSSL_EVP_CIPHER_CTX_free(p_en);
|
||||||
|
wolfSSL_EVP_CIPHER_CTX_free(p_de);
|
||||||
|
|
||||||
|
if (XMEMCMP(cipherBuff, ctrCipher, AES_BLOCK_SIZE*4))
|
||||||
|
return -3396;
|
||||||
|
if (XMEMCMP(plainBuff, ctrPlain, AES_BLOCK_SIZE*4))
|
||||||
|
return -3397;
|
||||||
|
|
||||||
EVP_CIPHER_CTX_init(&en);
|
EVP_CIPHER_CTX_init(&en);
|
||||||
if (EVP_CipherInit(&en, EVP_aes_128_ctr(),
|
if (EVP_CipherInit(&en, EVP_aes_128_ctr(),
|
||||||
(unsigned char*)ctrKey, (unsigned char*)ctrIv, 0) == 0)
|
(unsigned char*)ctrKey, (unsigned char*)ctrIv, 0) == 0)
|
||||||
|
Reference in New Issue
Block a user