From 98b183d3c65e56b0f21f4e77b2cd3d2aa62374f2 Mon Sep 17 00:00:00 2001 From: "Dr. David von Oheimb" Date: Thu, 14 Jul 2022 17:11:22 +0200 Subject: [PATCH] cmsapitest.c: add test case for CMS_EnvelopedData_decrypt() Reviewed-by: Dmitry Belyavskiy Reviewed-by: Shane Lontis Reviewed-by: Tomas Mraz Reviewed-by: David von Oheimb (Merged from https://github.com/openssl/openssl/pull/18667) --- test/cmsapitest.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/test/cmsapitest.c b/test/cmsapitest.c index 460e4693c2a..df54edb43d0 100644 --- a/test/cmsapitest.c +++ b/test/cmsapitest.c @@ -13,7 +13,7 @@ #include #include #include -#include "../crypto/cms/cms_local.h" /* for access to cms->d.signedData */ +#include "../crypto/cms/cms_local.h" /* for d.signedData and d.envelopedData */ #include "testutil.h" @@ -29,6 +29,7 @@ static int test_encrypt_decrypt(const EVP_CIPHER *cipher) BIO *msgbio = BIO_new_mem_buf(msg, strlen(msg)); BIO *outmsgbio = BIO_new(BIO_s_mem()); CMS_ContentInfo* content = NULL; + BIO *contentbio = NULL; char buf[80]; if (!TEST_ptr(certstack) || !TEST_ptr(msgbio) || !TEST_ptr(outmsgbio)) @@ -45,6 +46,12 @@ static int test_encrypt_decrypt(const EVP_CIPHER *cipher) CMS_TEXT))) goto end; + if (!TEST_ptr(contentbio = + CMS_EnvelopedData_decrypt(content->d.envelopedData, + NULL, privkey, cert, NULL, + CMS_TEXT, NULL, NULL))) + goto end; + /* Check we got the message we first started with */ if (!TEST_int_eq(BIO_gets(outmsgbio, buf, sizeof(buf)), strlen(msg)) || !TEST_int_eq(strcmp(buf, msg), 0)) @@ -52,6 +59,7 @@ static int test_encrypt_decrypt(const EVP_CIPHER *cipher) testresult = 1; end: + BIO_free(contentbio); sk_X509_free(certstack); BIO_free(msgbio); BIO_free(outmsgbio); -- 2.47.2