diff options
author | Randall Spangler <rspangler@chromium.org> | 2010-07-19 10:35:40 -0700 |
---|---|---|
committer | Randall Spangler <rspangler@chromium.org> | 2010-07-19 10:35:40 -0700 |
commit | 87c13d806b1f58542b0fc0893144de45d31cabd2 (patch) | |
tree | 2b99c041f6be2e734a120de649026c0e3566a86f /tests | |
parent | 3e1081fb71385d72fd3a522599c35b516dda7a37 (diff) | |
download | vboot-87c13d806b1f58542b0fc0893144de45d31cabd2.tar.gz |
Added size param to VerifyData()
Also renamed verify preamble functions, now that they do not need the
'2' at the end to differentiate them from the now-deleted original
implementation.
BUG=4501
TEST=Ran make runtests; all pass.
Review URL: http://codereview.chromium.org/3027009
Diffstat (limited to 'tests')
-rw-r--r-- | tests/vboot_common2_tests.c | 64 | ||||
-rw-r--r-- | tests/vboot_common3_tests.c | 54 |
2 files changed, 62 insertions, 56 deletions
diff --git a/tests/vboot_common2_tests.c b/tests/vboot_common2_tests.c index f5815741..d03b60e3 100644 --- a/tests/vboot_common2_tests.c +++ b/tests/vboot_common2_tests.c @@ -45,23 +45,29 @@ static void VerifyDataTest(const VbPublicKey* public_key, const VbPrivateKey* private_key) { const uint8_t test_data[] = "This is some test data to sign."; + const uint64_t test_size = sizeof(test_data); VbSignature* sig; RSAPublicKey* rsa; - sig = CalculateSignature(test_data, sizeof(test_data), private_key); + sig = CalculateSignature(test_data, test_size, private_key); rsa = PublicKeyToRSA(public_key); TEST_NEQ(sig && rsa, 0, "VerifyData() prerequisites"); if (!sig || !rsa) return; - TEST_EQ(VerifyData(test_data, sig, rsa), 0, "VerifyData() ok"); + TEST_EQ(VerifyData(test_data, test_size, sig, rsa), 0, "VerifyData() ok"); sig->sig_size -= 16; - TEST_EQ(VerifyData(test_data, sig, rsa), 1, "VerifyData() wrong sig size"); + TEST_EQ(VerifyData(test_data, test_size, sig, rsa), 1, + "VerifyData() wrong sig size"); sig->sig_size += 16; + TEST_EQ(VerifyData(test_data, test_size - 1, sig, rsa), 1, + "VerifyData() input buffer too small"); + GetSignatureData(sig)[0] ^= 0x5A; - TEST_EQ(VerifyData(test_data, sig, rsa), 1, "VerifyData() wrong sig"); + TEST_EQ(VerifyData(test_data, test_size, sig, rsa), 1, + "VerifyData() wrong sig"); RSAPublicKeyFree(rsa); Free(sig); @@ -118,61 +124,61 @@ static void VerifyKernelPreambleTest(const VbPublicKey* public_key, rsa = PublicKeyToRSA(public_key); hdr = CreateKernelPreamble(0x1234, 0x100000, 0x300000, 0x4000, body_sig, 0, private_key); - TEST_NEQ(hdr && rsa, 0, "VerifyKernelPreamble2() prerequisites"); + TEST_NEQ(hdr && rsa, 0, "VerifyKernelPreamble() prerequisites"); if (!hdr) return; hsize = (unsigned) hdr->preamble_size; h = (VbKernelPreambleHeader*)Malloc(hsize + 16384); - TEST_EQ(VerifyKernelPreamble2(hdr, hsize, rsa), 0, - "VerifyKernelPreamble2() ok using key"); - TEST_NEQ(VerifyKernelPreamble2(hdr, hsize - 1, rsa), 0, - "VerifyKernelPreamble2() size--"); - TEST_EQ(VerifyKernelPreamble2(hdr, hsize + 1, rsa), 0, - "VerifyKernelPreamble2() size++"); + TEST_EQ(VerifyKernelPreamble(hdr, hsize, rsa), 0, + "VerifyKernelPreamble() ok using key"); + TEST_NEQ(VerifyKernelPreamble(hdr, hsize - 1, rsa), 0, + "VerifyKernelPreamble() size--"); + TEST_EQ(VerifyKernelPreamble(hdr, hsize + 1, rsa), 0, + "VerifyKernelPreamble() size++"); /* Care about major version but not minor */ Memcpy(h, hdr, hsize); h->header_version_major++; ReSignKernelPreamble(h, private_key); - TEST_NEQ(VerifyKernelPreamble2(h, hsize, rsa), 0, - "VerifyKernelPreamble2() major++"); + TEST_NEQ(VerifyKernelPreamble(h, hsize, rsa), 0, + "VerifyKernelPreamble() major++"); Memcpy(h, hdr, hsize); h->header_version_major--; ReSignKernelPreamble(h, private_key); - TEST_NEQ(VerifyKernelPreamble2(h, hsize, rsa), 0, - "VerifyKernelPreamble2() major--"); + TEST_NEQ(VerifyKernelPreamble(h, hsize, rsa), 0, + "VerifyKernelPreamble() major--"); Memcpy(h, hdr, hsize); h->header_version_minor++; ReSignKernelPreamble(h, private_key); - TEST_EQ(VerifyKernelPreamble2(h, hsize, rsa), 0, - "VerifyKernelPreamble2() minor++"); + TEST_EQ(VerifyKernelPreamble(h, hsize, rsa), 0, + "VerifyKernelPreamble() minor++"); Memcpy(h, hdr, hsize); h->header_version_minor--; ReSignKernelPreamble(h, private_key); - TEST_EQ(VerifyKernelPreamble2(h, hsize, rsa), 0, - "VerifyKernelPreamble2() minor--"); + TEST_EQ(VerifyKernelPreamble(h, hsize, rsa), 0, + "VerifyKernelPreamble() minor--"); /* Check signature */ Memcpy(h, hdr, hsize); h->preamble_signature.sig_offset = hsize; ReSignKernelPreamble(h, private_key); - TEST_NEQ(VerifyKernelPreamble2(h, hsize, rsa), 0, - "VerifyKernelPreamble2() sig off end"); + TEST_NEQ(VerifyKernelPreamble(h, hsize, rsa), 0, + "VerifyKernelPreamble() sig off end"); Memcpy(h, hdr, hsize); h->preamble_signature.sig_size--; ReSignKernelPreamble(h, private_key); - TEST_NEQ(VerifyKernelPreamble2(h, hsize, rsa), 0, - "VerifyKernelPreamble2() sig too small"); + TEST_NEQ(VerifyKernelPreamble(h, hsize, rsa), 0, + "VerifyKernelPreamble() sig too small"); Memcpy(h, hdr, hsize); GetSignatureData(&h->body_signature)[0] ^= 0x34; - TEST_NEQ(VerifyKernelPreamble2(h, hsize, rsa), 0, - "VerifyKernelPreamble2() sig mismatch"); + TEST_NEQ(VerifyKernelPreamble(h, hsize, rsa), 0, + "VerifyKernelPreamble() sig mismatch"); /* Check that we signed header and body sig */ Memcpy(h, hdr, hsize); @@ -180,14 +186,14 @@ static void VerifyKernelPreambleTest(const VbPublicKey* public_key, h->body_signature.sig_offset = 0; h->body_signature.sig_size = 0; ReSignKernelPreamble(h, private_key); - TEST_NEQ(VerifyKernelPreamble2(h, hsize, rsa), 0, - "VerifyKernelPreamble2() didn't sign header"); + TEST_NEQ(VerifyKernelPreamble(h, hsize, rsa), 0, + "VerifyKernelPreamble() didn't sign header"); Memcpy(h, hdr, hsize); h->body_signature.sig_offset = hsize; ReSignKernelPreamble(h, private_key); - TEST_NEQ(VerifyKernelPreamble2(h, hsize, rsa), 0, - "VerifyKernelPreamble2() body sig off end"); + TEST_NEQ(VerifyKernelPreamble(h, hsize, rsa), 0, + "VerifyKernelPreamble() body sig off end"); /* TODO: verify parser can support a bigger header. */ diff --git a/tests/vboot_common3_tests.c b/tests/vboot_common3_tests.c index 8b7e4702..ba0e058c 100644 --- a/tests/vboot_common3_tests.c +++ b/tests/vboot_common3_tests.c @@ -156,61 +156,61 @@ static void VerifyFirmwarePreambleTest(const VbPublicKey* public_key, rsa = PublicKeyToRSA(public_key); hdr = CreateFirmwarePreamble(0x1234, kernel_subkey, body_sig, private_key); - TEST_NEQ(hdr && rsa, 0, "VerifyFirmwarePreamble2() prerequisites"); + TEST_NEQ(hdr && rsa, 0, "VerifyFirmwarePreamble() prerequisites"); if (!hdr) return; hsize = (unsigned) hdr->preamble_size; h = (VbFirmwarePreambleHeader*)Malloc(hsize + 16384); - TEST_EQ(VerifyFirmwarePreamble2(hdr, hsize, rsa), 0, - "VerifyFirmwarePreamble2() ok using key"); - TEST_NEQ(VerifyFirmwarePreamble2(hdr, hsize - 1, rsa), 0, - "VerifyFirmwarePreamble2() size--"); - TEST_EQ(VerifyFirmwarePreamble2(hdr, hsize + 1, rsa), 0, - "VerifyFirmwarePreamble2() size++"); + TEST_EQ(VerifyFirmwarePreamble(hdr, hsize, rsa), 0, + "VerifyFirmwarePreamble() ok using key"); + TEST_NEQ(VerifyFirmwarePreamble(hdr, hsize - 1, rsa), 0, + "VerifyFirmwarePreamble() size--"); + TEST_EQ(VerifyFirmwarePreamble(hdr, hsize + 1, rsa), 0, + "VerifyFirmwarePreamble() size++"); /* Care about major version but not minor */ Memcpy(h, hdr, hsize); h->header_version_major++; ReSignFirmwarePreamble(h, private_key); - TEST_NEQ(VerifyFirmwarePreamble2(h, hsize, rsa), 0, - "VerifyFirmwarePreamble2() major++"); + TEST_NEQ(VerifyFirmwarePreamble(h, hsize, rsa), 0, + "VerifyFirmwarePreamble() major++"); Memcpy(h, hdr, hsize); h->header_version_major--; ReSignFirmwarePreamble(h, private_key); - TEST_NEQ(VerifyFirmwarePreamble2(h, hsize, rsa), 0, - "VerifyFirmwarePreamble2() major--"); + TEST_NEQ(VerifyFirmwarePreamble(h, hsize, rsa), 0, + "VerifyFirmwarePreamble() major--"); Memcpy(h, hdr, hsize); h->header_version_minor++; ReSignFirmwarePreamble(h, private_key); - TEST_EQ(VerifyFirmwarePreamble2(h, hsize, rsa), 0, - "VerifyFirmwarePreamble2() minor++"); + TEST_EQ(VerifyFirmwarePreamble(h, hsize, rsa), 0, + "VerifyFirmwarePreamble() minor++"); Memcpy(h, hdr, hsize); h->header_version_minor--; ReSignFirmwarePreamble(h, private_key); - TEST_EQ(VerifyFirmwarePreamble2(h, hsize, rsa), 0, - "VerifyFirmwarePreamble2() minor--"); + TEST_EQ(VerifyFirmwarePreamble(h, hsize, rsa), 0, + "VerifyFirmwarePreamble() minor--"); /* Check signature */ Memcpy(h, hdr, hsize); h->preamble_signature.sig_offset = hsize; ReSignFirmwarePreamble(h, private_key); - TEST_NEQ(VerifyFirmwarePreamble2(h, hsize, rsa), 0, - "VerifyFirmwarePreamble2() sig off end"); + TEST_NEQ(VerifyFirmwarePreamble(h, hsize, rsa), 0, + "VerifyFirmwarePreamble() sig off end"); Memcpy(h, hdr, hsize); h->preamble_signature.sig_size--; ReSignFirmwarePreamble(h, private_key); - TEST_NEQ(VerifyFirmwarePreamble2(h, hsize, rsa), 0, - "VerifyFirmwarePreamble2() sig too small"); + TEST_NEQ(VerifyFirmwarePreamble(h, hsize, rsa), 0, + "VerifyFirmwarePreamble() sig too small"); Memcpy(h, hdr, hsize); GetPublicKeyData(&h->kernel_subkey)[0] ^= 0x34; - TEST_NEQ(VerifyFirmwarePreamble2(h, hsize, rsa), 0, - "VerifyFirmwarePreamble2() sig mismatch"); + TEST_NEQ(VerifyFirmwarePreamble(h, hsize, rsa), 0, + "VerifyFirmwarePreamble() sig mismatch"); /* Check that we signed header, kernel subkey, and body sig */ Memcpy(h, hdr, hsize); @@ -220,20 +220,20 @@ static void VerifyFirmwarePreambleTest(const VbPublicKey* public_key, h->body_signature.sig_offset = 0; h->body_signature.sig_size = 0; ReSignFirmwarePreamble(h, private_key); - TEST_NEQ(VerifyFirmwarePreamble2(h, hsize, rsa), 0, - "VerifyFirmwarePreamble2() didn't sign header"); + TEST_NEQ(VerifyFirmwarePreamble(h, hsize, rsa), 0, + "VerifyFirmwarePreamble() didn't sign header"); Memcpy(h, hdr, hsize); h->kernel_subkey.key_offset = hsize; ReSignFirmwarePreamble(h, private_key); - TEST_NEQ(VerifyFirmwarePreamble2(h, hsize, rsa), 0, - "VerifyFirmwarePreamble2() kernel subkey off end"); + TEST_NEQ(VerifyFirmwarePreamble(h, hsize, rsa), 0, + "VerifyFirmwarePreamble() kernel subkey off end"); Memcpy(h, hdr, hsize); h->body_signature.sig_offset = hsize; ReSignFirmwarePreamble(h, private_key); - TEST_NEQ(VerifyFirmwarePreamble2(h, hsize, rsa), 0, - "VerifyFirmwarePreamble2() body sig off end"); + TEST_NEQ(VerifyFirmwarePreamble(h, hsize, rsa), 0, + "VerifyFirmwarePreamble() body sig off end"); /* TODO: verify parser can support a bigger header. */ |