Make kernel signature a part of the kernel preamble.

With this change, the kernel signature is a part of the preamble block (and therefore, used during preamble signature verification).

BUG=670
TEST=image verification tests still pass. corrected splicing test expectations (and it passes).

Review URL: http://codereview.chromium.org/2292001
This commit is contained in:
Gaurav Shah
2010-05-26 13:19:00 -07:00
parent 5fe021b411
commit bcd8f4a07c
7 changed files with 111 additions and 115 deletions

View File

@@ -65,12 +65,12 @@ void VerifyKernelSplicingTest()
Memcpy(image2->kernel_data, image1->kernel_data,
image2->kernel_len);
TEST_EQ(VerifyKernelImage(firmware_key, image2, 0),
VERIFY_KERNEL_SIGNATURE_FAILED,
"KernelImage kernel_data Splicing");
TEST_NEQ(VerifyKernelImage(firmware_key, image2, 0),
VERIFY_KERNEL_SUCCESS,
"KernelImage kernel_data Splicing");
kernel_blob = GetKernelBlob(image2, &len);
TEST_EQ(VerifyKernel(firmware_key_blob, kernel_blob, 0),
VERIFY_KERNEL_SIGNATURE_FAILED,
TEST_NEQ(VerifyKernel(firmware_key_blob, kernel_blob, 0),
VERIFY_KERNEL_SUCCESS,
"Kernel Blob kernel_data Splicing");
}

View File

@@ -33,6 +33,18 @@ int TEST_EQ(int result, int expected_result, char* testname) {
}
}
int TEST_NEQ(int result, int not_expected_result, char* testname) {
if (result != not_expected_result) {
fprintf(stderr, "%s Test " COL_GREEN "PASSED\n" COL_STOP, testname);
return 1;
}
else {
fprintf(stderr, "%s Test " COL_RED "FAILED\n" COL_STOP, testname);
gTestSuccess = 0;
return 0;
}
}
FirmwareImage* GenerateTestFirmwareImage(int algorithm,
const uint8_t* firmware_sign_key,
int firmware_key_version,

View File

@@ -13,9 +13,13 @@
#include "kernel_image.h"
extern int gTestSuccess;
/* Return 1 if result is equal to expected_result, else return 0.
* Also update the global gTestSuccess flag if test fails. */
int TEST_EQ(int result, int expected_result, char* testname);
/* Return 0 if result is equal to not_expected_result, else return 1.
* Also update the global gTestSuccess flag if test fails. */
int TEST_NEQ(int result, int not_expected_result, char* testname);
/* Test firmware image generation functions. */
FirmwareImage* GenerateTestFirmwareImage(int algorithm,