summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRandall Spangler <rspangler@chromium.org>2010-07-19 10:35:40 -0700
committerRandall Spangler <rspangler@chromium.org>2010-07-19 10:35:40 -0700
commit87c13d806b1f58542b0fc0893144de45d31cabd2 (patch)
tree2b99c041f6be2e734a120de649026c0e3566a86f /tests
parent3e1081fb71385d72fd3a522599c35b516dda7a37 (diff)
downloadvboot-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.c64
-rw-r--r--tests/vboot_common3_tests.c54
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. */