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

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

Issue 1079009: Vboot Reference: Add kernel image verification benchmark. (Closed)
Patch Set: Review fixes. 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 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 success = 0; 144 success = 0;
145 145
146 return success; 146 return success;
147 } 147 }
148 148
149 int main(int argc, char* argv[]) { 149 int main(int argc, char* argv[]) {
150 uint64_t len; 150 uint64_t len;
151 uint8_t* kernel_sign_key_buf = NULL; 151 uint8_t* kernel_sign_key_buf = NULL;
152 uint8_t* firmware_key_blob = NULL; 152 uint8_t* firmware_key_blob = NULL;
153 uint8_t* kernel_blob = NULL; 153 uint8_t* kernel_blob = NULL;
154 int kernel_blob_len = 0; 154 uint64_t kernel_blob_len = 0;
155 KernelImage* image = NULL; 155 KernelImage* image = NULL;
156 RSAPublicKey* firmware_key = NULL; 156 RSAPublicKey* firmware_key = NULL;
157 int error_code = 1; 157 int error_code = 1;
158 158
159 if(argc != 7) { 159 if(argc != 7) {
160 fprintf(stderr, "Usage: %s <firmware signing algorithm> " /* argv[1] */ 160 fprintf(stderr, "Usage: %s <firmware signing algorithm> " /* argv[1] */
161 "<kernel signing algorithm> " /* argv[2] */ 161 "<kernel signing algorithm> " /* argv[2] */
162 "<firmware key> " /* argv[3] */ 162 "<firmware key> " /* argv[3] */
163 "<processed firmware pubkey> " /* argv[4] */ 163 "<processed firmware pubkey> " /* argv[4] */
164 "<kernel signing key> " /* argv[5] */ 164 "<kernel signing key> " /* argv[5] */
(...skipping 23 matching lines...) Expand all
188 } 188 }
189 189
190 /* Generate and populate signatures. */ 190 /* Generate and populate signatures. */
191 if (!AddKernelKeySignature(image, argv[3])) { 191 if (!AddKernelKeySignature(image, argv[3])) {
192 fprintf(stderr, "Couldn't create key signature.\n"); 192 fprintf(stderr, "Couldn't create key signature.\n");
193 error_code = 1; 193 error_code = 1;
194 goto failure; 194 goto failure;
195 } 195 }
196 196
197 if (!AddKernelSignature(image, argv[5])) { 197 if (!AddKernelSignature(image, argv[5])) {
198 fprintf(stderr, "Couldn't create firmware and preamble signature.\n"); 198 fprintf(stderr, "Couldn't create kernel option and kernel signature.\n");
199 error_code = 1; 199 error_code = 1;
200 goto failure; 200 goto failure;
201 } 201 }
202 202
203 kernel_blob = GetKernelBlob(image, &kernel_blob_len); 203 kernel_blob = GetKernelBlob(image, &kernel_blob_len);
204 204
205 /* Test Kernel blob verify operations. */ 205 /* Test Kernel blob verify operations. */
206 if (!VerifyKernelTest(kernel_blob, firmware_key_blob)) 206 if (!VerifyKernelTest(kernel_blob, firmware_key_blob))
207 error_code = 255; 207 error_code = 255;
208 208
209 /* Test KernelImage verify operations. */ 209 /* Test KernelImage verify operations. */
210 if (!VerifyKernelImageTest(image, firmware_key)) 210 if (!VerifyKernelImageTest(image, firmware_key))
211 error_code = 255; 211 error_code = 255;
212 if (!VerifyKernelImageTamperTest(image, firmware_key)) 212 if (!VerifyKernelImageTamperTest(image, firmware_key))
213 error_code = 255; 213 error_code = 255;
214 214
215 failure: 215 failure:
216 Free(kernel_blob); 216 Free(kernel_blob);
217 KernelImageFree(image); 217 KernelImageFree(image);
218 Free(kernel_sign_key_buf); 218 Free(kernel_sign_key_buf);
219 Free(firmware_key_blob); 219 Free(firmware_key_blob);
220 RSAPublicKeyFree(firmware_key); 220 RSAPublicKeyFree(firmware_key);
221 221
222 return error_code; 222 return error_code;
223 } 223 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698