Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(31)

Side by Side Diff: src/platform/vboot_reference/tests/kernel_image_tests.c

Issue 1430001: VBoot Reference: Fix splicing bugs in Firmware and Kernel verification. (Closed)
Patch Set: . Created 10 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 1 /* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be 2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file. 3 * found in the LICENSE file.
4 * 4 *
5 * Tests for kernel image library. 5 * Tests for kernel image library.
6 */ 6 */
7 7
8 #include <stdio.h> 8 #include <stdio.h>
9 #include <stdlib.h> 9 #include <stdlib.h>
10 10
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 "KernelImage Config Tamper Verification (Trusted)"); 49 "KernelImage Config Tamper Verification (Trusted)");
50 image->options.kernel_load_addr = 0; 50 image->options.kernel_load_addr = 0;
51 51
52 image->kernel_data[0] = 'T'; 52 image->kernel_data[0] = 'T';
53 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_ENABLED), 53 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_ENABLED),
54 VERIFY_KERNEL_SIGNATURE_FAILED, 54 VERIFY_KERNEL_SIGNATURE_FAILED,
55 "KernelImage Tamper Verification (Dev Mode)"); 55 "KernelImage Tamper Verification (Dev Mode)");
56 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_DISABLED), 56 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_DISABLED),
57 VERIFY_KERNEL_SIGNATURE_FAILED, 57 VERIFY_KERNEL_SIGNATURE_FAILED,
58 "KernelImage Tamper Verification (Trusted)"); 58 "KernelImage Tamper Verification (Trusted)");
59 image->kernel_data[0] = 'F'; 59 image->kernel_data[0] = 'K';
60 60
61 image->kernel_key_signature[0] = 0xFF; 61 image->kernel_key_signature[0] = 0xFF;
62 image->kernel_key_signature[1] = 0x00; 62 image->kernel_key_signature[1] = 0x00;
63 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_ENABLED), 63 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_ENABLED),
64 VERIFY_KERNEL_SUCCESS, 64 VERIFY_KERNEL_SUCCESS,
65 "KernelImage Key Signature Tamper Verification (Dev Mode)"); 65 "KernelImage Key Signature Tamper Verification (Dev Mode)");
66 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_DISABLED), 66 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_DISABLED),
67 VERIFY_KERNEL_KEY_SIGNATURE_FAILED, 67 VERIFY_KERNEL_KEY_SIGNATURE_FAILED,
68 "KernelImage Key Signature Tamper Verification (Trusted)"); 68 "KernelImage Key Signature Tamper Verification (Trusted)");
69 } 69 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 goto failure; 103 goto failure;
104 } 104 }
105 105
106 image = GenerateTestKernelImage(atoi(argv[1]), 106 image = GenerateTestKernelImage(atoi(argv[1]),
107 atoi(argv[2]), 107 atoi(argv[2]),
108 kernel_sign_key_buf, 108 kernel_sign_key_buf,
109 1, /* Kernel Key Version */ 109 1, /* Kernel Key Version */
110 1, /* Kernel Version */ 110 1, /* Kernel Version */
111 1000, /* Kernel Size */ 111 1000, /* Kernel Size */
112 firmware_key_file, 112 firmware_key_file,
113 kernel_key_file); 113 kernel_key_file,
114 'K');
114 if (!image) { 115 if (!image) {
115 error_code = 1; 116 error_code = 1;
116 goto failure; 117 goto failure;
117 } 118 }
118 119
119 kernel_blob = GetKernelBlob(image, &kernel_blob_len); 120 kernel_blob = GetKernelBlob(image, &kernel_blob_len);
120 121
121 /* Test Kernel blob verify operations. */ 122 /* Test Kernel blob verify operations. */
122 VerifyKernelTest(kernel_blob, firmware_key_blob); 123 VerifyKernelTest(kernel_blob, firmware_key_blob);
123 124
124 /* Test KernelImage verify operations. */ 125 /* Test KernelImage verify operations. */
125 VerifyKernelImageTest(image, firmware_key); 126 VerifyKernelImageTest(image, firmware_key);
126 VerifyKernelImageTamperTest(image, firmware_key); 127 VerifyKernelImageTamperTest(image, firmware_key);
127 128
128 if (!gTestSuccess) 129 if (!gTestSuccess)
129 error_code = 255; 130 error_code = 255;
130 131
131 failure: 132 failure:
132 Free(kernel_blob); 133 Free(kernel_blob);
133 KernelImageFree(image); 134 KernelImageFree(image);
134 Free(kernel_sign_key_buf); 135 Free(kernel_sign_key_buf);
135 Free(firmware_key_blob); 136 Free(firmware_key_blob);
136 RSAPublicKeyFree(firmware_key); 137 RSAPublicKeyFree(firmware_key);
137 138
138 return error_code; 139 return error_code;
139 } 140 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698