diff options
author | Dr. David von Oheimb <David.von.Oheimb@siemens.com> | 2020-02-26 21:41:47 +0100 |
---|---|---|
committer | Dr. David von Oheimb <David.von.Oheimb@siemens.com> | 2020-03-10 16:09:44 +0100 |
commit | cfca56dfaee0518c2cd99a9c5cda29ad557380e1 (patch) | |
tree | ef1fcea4a5b97dd3629b6b990e717c9eefab9b65 /test | |
parent | 7269071e5eb54683353a1d2f8831a4ed03485b86 (diff) |
Fix handling of CMP msg senderKID and improve doc of related CTX functions
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
(Merged from https://github.com/openssl/openssl/pull/11142)
Diffstat (limited to 'test')
-rw-r--r-- | test/cmp_hdr_test.c | 13 | ||||
-rw-r--r-- | test/cmp_protect_test.c | 35 |
2 files changed, 36 insertions, 12 deletions
diff --git a/test/cmp_hdr_test.c b/test/cmp_hdr_test.c index 25d0dad9f6..feba118c44 100644 --- a/test/cmp_hdr_test.c +++ b/test/cmp_hdr_test.c @@ -397,7 +397,7 @@ static int execute_HDR_init_test(CMP_HDR_TEST_FIXTURE *fixture) return 1; } -static int test_HDR_init(void) +static int test_HDR_init_with_ref(void) { SETUP_TEST_FIXTURE(CMP_HDR_TEST_FIXTURE, set_up); unsigned char ref[CMP_TEST_REFVALUE_LENGTH]; @@ -431,14 +431,6 @@ static int test_HDR_init_with_subject(void) return result; } -static int test_HDR_init_no_ref_no_subject(void) -{ - SETUP_TEST_FIXTURE(CMP_HDR_TEST_FIXTURE, set_up); - fixture->expected = 0; - EXECUTE_TEST(execute_HDR_init_test, tear_down); - return result; -} - void cleanup_tests(void) { @@ -464,9 +456,8 @@ int setup_tests(void) /* also tests public function OSSL_CMP_HDR_get0_transactionID(): */ /* also tests public function OSSL_CMP_HDR_get0_recipNonce(): */ /* also tests internal function ossl_cmp_hdr_get_pvno(): */ - ADD_TEST(test_HDR_init); + ADD_TEST(test_HDR_init_with_ref); ADD_TEST(test_HDR_init_with_subject); - ADD_TEST(test_HDR_init_no_ref_no_subject); /* * TODO make sure that total number of tests (here currently 24) is shown, * also for other cmp_*text.c. Currently the test drivers always show 1. diff --git a/test/cmp_protect_test.c b/test/cmp_protect_test.c index 5d5df89abd..a506ec33ea 100644 --- a/test/cmp_protect_test.c +++ b/test/cmp_protect_test.c @@ -278,6 +278,38 @@ static int test_MSG_protect_no_key_no_secret(void) return result; } +static int test_MSG_protect_pbmac_no_sender(int with_ref) +{ + static unsigned char secret[] = { 47, 11, 8, 15 }; + static unsigned char ref[] = { 0xca, 0xfe, 0xba, 0xbe }; + + SETUP_TEST_FIXTURE(CMP_PROTECT_TEST_FIXTURE, set_up); + fixture->expected = with_ref; + if (!TEST_ptr(fixture->msg = OSSL_CMP_MSG_dup(ir_unprotected)) + || !SET_OPT_UNPROTECTED_SEND(fixture->cmp_ctx, 0) + || !ossl_cmp_hdr_set1_sender(fixture->msg->header, NULL) + || !OSSL_CMP_CTX_set1_secretValue(fixture->cmp_ctx, + secret, sizeof(secret)) + || (!OSSL_CMP_CTX_set1_referenceValue(fixture->cmp_ctx, + with_ref ? ref : NULL, + sizeof(ref)))) { + tear_down(fixture); + fixture = NULL; + } + EXECUTE_TEST(execute_MSG_protect_test, tear_down); + return result; +} + +static int test_MSG_protect_pbmac_no_sender_with_ref(void) +{ + return test_MSG_protect_pbmac_no_sender(1); +} + +static int test_MSG_protect_pbmac_no_sender_no_ref(void) +{ + return test_MSG_protect_pbmac_no_sender(0); +} + static int execute_MSG_add_extraCerts_test(CMP_PROTECT_TEST_FIXTURE *fixture) { return TEST_true(ossl_cmp_msg_add_extraCerts(fixture->cmp_ctx, @@ -511,7 +543,8 @@ int setup_tests(void) ADD_TEST(test_MSG_protect_certificate_based_without_cert); ADD_TEST(test_MSG_protect_unprotected_request); ADD_TEST(test_MSG_protect_no_key_no_secret); - + ADD_TEST(test_MSG_protect_pbmac_no_sender_with_ref); + ADD_TEST(test_MSG_protect_pbmac_no_sender_no_ref); ADD_TEST(test_MSG_add_extraCerts); #ifndef OPENSSL_NO_EC |