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

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

Issue 2589001: Add a kernel subkey signing algorithm key and algorithm fields to firmware preamble. (Closed) Base URL: ssh://git@gitrw.chromium.org/chromiumos
Patch Set: Created 10 years, 6 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
« no previous file with comments | « no previous file | src/platform/vboot_reference/vboot_firmware/include/firmware_image_fw.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 * Common functions used by tests. 5 * Common functions used by tests.
6 */ 6 */
7 7
8 #include "test_common.h" 8 #include "test_common.h"
9 9
10 #include <stdio.h> 10 #include <stdio.h>
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 65
66 /* Update correct header length. */ 66 /* Update correct header length. */
67 image->header_len = GetFirmwareHeaderLen(image); 67 image->header_len = GetFirmwareHeaderLen(image);
68 68
69 /* Calculate SHA-512 digest on header and populate header_checksum. */ 69 /* Calculate SHA-512 digest on header and populate header_checksum. */
70 CalculateFirmwareHeaderChecksum(image, image->header_checksum); 70 CalculateFirmwareHeaderChecksum(image, image->header_checksum);
71 71
72 /* Populate firmware and preamble with dummy data. */ 72 /* Populate firmware and preamble with dummy data. */
73 image->firmware_version = firmware_version; 73 image->firmware_version = firmware_version;
74 image->firmware_len = firmware_len; 74 image->firmware_len = firmware_len;
75 /* Make the kernel subkey the same as the firmware signing key. */
76 image->kernel_subkey_sign_algorithm = algorithm;
77 image->kernel_subkey_sign_key = (uint8_t*) Malloc(
78 RSAProcessedKeySize(image->kernel_subkey_sign_algorithm));
79 Memcpy(image->kernel_subkey_sign_key, firmware_sign_key,
80 RSAProcessedKeySize(image->kernel_subkey_sign_algorithm));
75 image->preamble_signature = image->firmware_signature = NULL; 81 image->preamble_signature = image->firmware_signature = NULL;
76 Memset(image->preamble, 'P', FIRMWARE_PREAMBLE_SIZE); 82 Memset(image->preamble, 'P', FIRMWARE_PREAMBLE_SIZE);
77 image->firmware_data = Malloc(image->firmware_len); 83 image->firmware_data = Malloc(image->firmware_len);
78 Memset(image->firmware_data, firmware_data_fill_char, image->firmware_len); 84 Memset(image->firmware_data, firmware_data_fill_char, image->firmware_len);
79 85
80 /* Generate and populate signatures. */ 86 /* Generate and populate signatures. */
81 if (!AddFirmwareKeySignature(image, root_key_file)) { 87 if (!AddFirmwareKeySignature(image, root_key_file)) {
82 debug("Couldn't create key signature.\n"); 88 debug("Couldn't create key signature.\n");
83 FirmwareImageFree(image); 89 FirmwareImageFree(image);
84 return NULL; 90 return NULL;
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 if (!image) 252 if (!image)
247 return NULL; 253 return NULL;
248 if (is_corrupt) { 254 if (is_corrupt) {
249 /* Invalidate image. */ 255 /* Invalidate image. */
250 Memset(image->kernel_data, 'X', image->kernel_len); 256 Memset(image->kernel_data, 'X', image->kernel_len);
251 } 257 }
252 kernel_blob = GetKernelBlob(image, &len); 258 kernel_blob = GetKernelBlob(image, &len);
253 KernelImageFree(image); 259 KernelImageFree(image);
254 return kernel_blob; 260 return kernel_blob;
255 } 261 }
OLDNEW
« no previous file with comments | « no previous file | src/platform/vboot_reference/vboot_firmware/include/firmware_image_fw.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698