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

Side by Side Diff: utility/load_kernel_test.c

Issue 2762009: Add vbutil_key (Closed) Base URL: ssh://gitrw.chromium.org/vboot_reference.git
Patch Set: Util to pack/unpack .vbpubk files 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 | « utility/Makefile ('k') | utility/vbutil_key.c » ('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 5
6 /* Routines for verifying a file's signature. Useful in testing the core 6 /* Routines for verifying a file's signature. Useful in testing the core
7 * RSA verification implementation. 7 * RSA verification implementation.
8 */ 8 */
9 9
10 #include <inttypes.h> /* For PRIu64 macro */ 10 #include <inttypes.h> /* For PRIu64 macro */
11 #include <stdio.h> 11 #include <stdio.h>
12 #include <stdlib.h> 12 #include <stdlib.h>
13 #include <string.h> 13 #include <string.h>
14 #include <sys/types.h> 14 #include <sys/types.h>
15 15
16 #include "load_kernel_fw.h" 16 #include "load_kernel_fw.h"
17 #include "boot_device.h" 17 #include "boot_device.h"
18 #include "host_common.h"
18 #include "rollback_index.h" 19 #include "rollback_index.h"
19 #include "utility.h" 20 #include "utility.h"
20 21
21 /* ANSI Color coding sequences. */ 22 /* ANSI Color coding sequences. */
22 #define COL_GREEN "\e[1;32m" 23 #define COL_GREEN "\e[1;32m"
23 #define COL_RED "\e[0;31m" 24 #define COL_RED "\e[0;31m"
24 #define COL_STOP "\e[m" 25 #define COL_STOP "\e[m"
25 26
26 27
27 #define LBA_BYTES 512 28 #define LBA_BYTES 512
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 /* Read command line parameters */ 89 /* Read command line parameters */
89 if (3 > argc) { 90 if (3 > argc) {
90 fprintf(stderr, "usage: %s <drive_image> <sign_key>\n", argv[0]); 91 fprintf(stderr, "usage: %s <drive_image> <sign_key>\n", argv[0]);
91 return 1; 92 return 1;
92 } 93 }
93 image_name = argv[1]; 94 image_name = argv[1];
94 keyfile_name = argv[2]; 95 keyfile_name = argv[2];
95 96
96 /* Read header signing key blob */ 97 /* Read header signing key blob */
97 { 98 {
98 FILE* f; 99 uint64_t key_size;
99 int key_size; 100 lkp.header_sign_key_blob = ReadFile(keyfile_name, &key_size);
100 printf("Reading key from: %s\n", keyfile_name); 101 if (!lkp.header_sign_key_blob)
101 f = fopen(keyfile_name, "rb"); 102 fprintf(stderr, "Unable to read key file %s\n", keyfile_name);
102 if (!f) {
103 fprintf(stderr, "Unable to open key file %s\n", keyfile_name);
104 return 1; 103 return 1;
105 } 104 }
106 fseek(f, 0, SEEK_END);
107 key_size = ftell(f);
108 rewind(f);
109 lkp.header_sign_key_blob = Malloc(key_size);
110 printf("Reading %d bytes of key\n", key_size);
111 if (fread(lkp.header_sign_key_blob, key_size, 1, f) != 1) {
112 fprintf(stderr, "Unable to read key data\n");
113 return 1;
114 }
115 fclose(f);
116 }
117 105
118 /* Get image size */ 106 /* Get image size */
119 printf("Reading from image: %s\n", image_name); 107 printf("Reading from image: %s\n", image_name);
120 image_file = fopen(image_name, "rb"); 108 image_file = fopen(image_name, "rb");
121 if (!image_file) { 109 if (!image_file) {
122 fprintf(stderr, "Unable to open image file %s\n", image_name); 110 fprintf(stderr, "Unable to open image file %s\n", image_name);
123 return 1; 111 return 1;
124 } 112 }
125 fseek(image_file, 0, SEEK_END); 113 fseek(image_file, 0, SEEK_END);
126 lkp.ending_lba = (ftell(image_file) / LBA_BYTES) - 1; 114 lkp.ending_lba = (ftell(image_file) / LBA_BYTES) - 1;
(...skipping 17 matching lines...) Expand all
144 if (LOAD_KERNEL_SUCCESS == rv) { 132 if (LOAD_KERNEL_SUCCESS == rv) {
145 printf("Partition number: %" PRIu64 "\n", lkp.partition_number); 133 printf("Partition number: %" PRIu64 "\n", lkp.partition_number);
146 printf("Bootloader address: %" PRIu64 "\n", lkp.bootloader_address); 134 printf("Bootloader address: %" PRIu64 "\n", lkp.bootloader_address);
147 printf("Bootloader size: %" PRIu64 "\n", lkp.bootloader_size); 135 printf("Bootloader size: %" PRIu64 "\n", lkp.bootloader_size);
148 } 136 }
149 137
150 fclose(image_file); 138 fclose(image_file);
151 Free(lkp.kernel_buffer); 139 Free(lkp.kernel_buffer);
152 return 0; 140 return 0;
153 } 141 }
OLDNEW
« no previous file with comments | « utility/Makefile ('k') | utility/vbutil_key.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698