diff options
author | slontis <shane.lontis@oracle.com> | 2021-09-02 16:50:45 +1000 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2021-09-03 12:31:59 +0200 |
commit | d7b5f06ede163851d39f5a8b507bd0670deeaa21 (patch) | |
tree | 887c6f2748ed401755a999e4535cb6a56c112c53 /test/evp_libctx_test.c | |
parent | 21a0d9f3edda78d27d12cd7704de9e32976393ba (diff) | |
download | openssl-new-d7b5f06ede163851d39f5a8b507bd0670deeaa21.tar.gz |
Add KEM dupctx test
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/16495)
Diffstat (limited to 'test/evp_libctx_test.c')
-rw-r--r-- | test/evp_libctx_test.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/test/evp_libctx_test.c b/test/evp_libctx_test.c index bfbbafdbab..e3eac8a068 100644 --- a/test/evp_libctx_test.c +++ b/test/evp_libctx_test.c @@ -525,7 +525,7 @@ static int kem_rsa_gen_recover(void) int ret = 0; EVP_PKEY *pub = NULL; EVP_PKEY *priv = NULL; - EVP_PKEY_CTX *sctx = NULL, *rctx = NULL; + EVP_PKEY_CTX *sctx = NULL, *rctx = NULL, *dctx = NULL; unsigned char secret[256] = { 0, }; unsigned char ct[256] = { 0, }; unsigned char unwrap[256] = { 0, }; @@ -536,11 +536,12 @@ static int kem_rsa_gen_recover(void) && TEST_ptr(sctx = EVP_PKEY_CTX_new_from_pkey(libctx, pub, NULL)) && TEST_int_eq(EVP_PKEY_encapsulate_init(sctx, NULL), 1) && TEST_int_eq(EVP_PKEY_CTX_set_kem_op(sctx, "RSASVE"), 1) - && TEST_int_eq(EVP_PKEY_encapsulate(sctx, NULL, &ctlen, NULL, + && TEST_ptr(dctx = EVP_PKEY_CTX_dup(sctx)) + && TEST_int_eq(EVP_PKEY_encapsulate(dctx, NULL, &ctlen, NULL, &secretlen), 1) && TEST_int_eq(ctlen, secretlen) && TEST_int_eq(ctlen, bits / 8) - && TEST_int_eq(EVP_PKEY_encapsulate(sctx, ct, &ctlen, secret, + && TEST_int_eq(EVP_PKEY_encapsulate(dctx, ct, &ctlen, secret, &secretlen), 1) && TEST_ptr(rctx = EVP_PKEY_CTX_new_from_pkey(libctx, priv, NULL)) && TEST_int_eq(EVP_PKEY_decapsulate_init(rctx, NULL), 1) @@ -553,6 +554,7 @@ static int kem_rsa_gen_recover(void) EVP_PKEY_free(pub); EVP_PKEY_free(priv); EVP_PKEY_CTX_free(rctx); + EVP_PKEY_CTX_free(dctx); EVP_PKEY_CTX_free(sctx); return ret; } |