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

Side by Side Diff: tests/vboot_common3_tests.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 | « tests/vboot_common2_tests.c ('k') | utility/Makefile » ('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 * Tests for firmware image library. 5 * Tests for firmware 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 28 matching lines...) Expand all
39 if (!hdr) 39 if (!hdr)
40 return; 40 return;
41 hsize = hdr->key_block_size; 41 hsize = hdr->key_block_size;
42 h = (VbKeyBlockHeader*)Malloc(hsize + 1024); 42 h = (VbKeyBlockHeader*)Malloc(hsize + 1024);
43 43
44 TEST_EQ(VerifyKeyBlock(hdr, hsize, NULL), 0, 44 TEST_EQ(VerifyKeyBlock(hdr, hsize, NULL), 0,
45 "VerifyKeyBlock() ok using checksum"); 45 "VerifyKeyBlock() ok using checksum");
46 TEST_EQ(VerifyKeyBlock(hdr, hsize, public_key), 0, 46 TEST_EQ(VerifyKeyBlock(hdr, hsize, public_key), 0,
47 "VerifyKeyBlock() ok using key"); 47 "VerifyKeyBlock() ok using key");
48 48
49 TEST_NEQ(VerifyKeyBlock(hdr, hsize-1, NULL), 0, "VerifyKeyBlock() size"); 49 TEST_NEQ(VerifyKeyBlock(hdr, hsize - 1, NULL), 0, "VerifyKeyBlock() size--");
50 TEST_EQ(VerifyKeyBlock(hdr, hsize + 1, NULL), 0, "VerifyKeyBlock() size++");
50 51
51 Memcpy(h, hdr, hsize); 52 Memcpy(h, hdr, hsize);
52 h->magic[0] &= 0x12; 53 h->magic[0] &= 0x12;
53 TEST_NEQ(VerifyKeyBlock(h, hsize, NULL), 0, "VerifyKeyBlock() magic"); 54 TEST_NEQ(VerifyKeyBlock(h, hsize, NULL), 0, "VerifyKeyBlock() magic");
54 55
55 /* Care about major version but not minor */ 56 /* Care about major version but not minor */
56 Memcpy(h, hdr, hsize); 57 Memcpy(h, hdr, hsize);
57 h->header_version_major++; 58 h->header_version_major++;
58 ReChecksumKeyBlock(h); 59 ReChecksumKeyBlock(h);
59 TEST_NEQ(VerifyKeyBlock(h, hsize, NULL), 0, "VerifyKeyBlock() major++"); 60 TEST_NEQ(VerifyKeyBlock(h, hsize, NULL), 0, "VerifyKeyBlock() major++");
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 rsa = PublicKeyToRSA(public_key); 158 rsa = PublicKeyToRSA(public_key);
158 hdr = CreateFirmwarePreamble(0x1234, kernel_subkey, body_sig, private_key); 159 hdr = CreateFirmwarePreamble(0x1234, kernel_subkey, body_sig, private_key);
159 TEST_NEQ(hdr && rsa, 0, "VerifyFirmwarePreamble2() prerequisites"); 160 TEST_NEQ(hdr && rsa, 0, "VerifyFirmwarePreamble2() prerequisites");
160 if (!hdr) 161 if (!hdr)
161 return; 162 return;
162 hsize = hdr->preamble_size; 163 hsize = hdr->preamble_size;
163 h = (VbFirmwarePreambleHeader*)Malloc(hsize + 16384); 164 h = (VbFirmwarePreambleHeader*)Malloc(hsize + 16384);
164 165
165 TEST_EQ(VerifyFirmwarePreamble2(hdr, hsize, rsa), 0, 166 TEST_EQ(VerifyFirmwarePreamble2(hdr, hsize, rsa), 0,
166 "VerifyFirmwarePreamble2() ok using key"); 167 "VerifyFirmwarePreamble2() ok using key");
167 TEST_NEQ(VerifyFirmwarePreamble2(hdr, hsize-1, rsa), 0, 168 TEST_NEQ(VerifyFirmwarePreamble2(hdr, hsize - 1, rsa), 0,
168 "VerifyFirmwarePreamble2() size"); 169 "VerifyFirmwarePreamble2() size--");
170 TEST_EQ(VerifyFirmwarePreamble2(hdr, hsize + 1, rsa), 0,
171 "VerifyFirmwarePreamble2() size++");
169 172
170 /* Care about major version but not minor */ 173 /* Care about major version but not minor */
171 Memcpy(h, hdr, hsize); 174 Memcpy(h, hdr, hsize);
172 h->header_version_major++; 175 h->header_version_major++;
173 ReSignFirmwarePreamble(h, private_key); 176 ReSignFirmwarePreamble(h, private_key);
174 TEST_NEQ(VerifyFirmwarePreamble2(h, hsize, rsa), 0, 177 TEST_NEQ(VerifyFirmwarePreamble2(h, hsize, rsa), 0,
175 "VerifyFirmwarePreamble2() major++"); 178 "VerifyFirmwarePreamble2() major++");
176 179
177 Memcpy(h, hdr, hsize); 180 Memcpy(h, hdr, hsize);
178 h->header_version_major--; 181 h->header_version_major--;
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 /* Read verification keys and create a test image. */ 264 /* Read verification keys and create a test image. */
262 signing_key_algorithm = atoi(argv[1]); 265 signing_key_algorithm = atoi(argv[1]);
263 data_key_algorithm = atoi(argv[2]); 266 data_key_algorithm = atoi(argv[2]);
264 267
265 signing_private_key = PrivateKeyRead(argv[3], signing_key_algorithm); 268 signing_private_key = PrivateKeyRead(argv[3], signing_key_algorithm);
266 if (!signing_private_key) { 269 if (!signing_private_key) {
267 fprintf(stderr, "Error reading signing_private_key"); 270 fprintf(stderr, "Error reading signing_private_key");
268 return 1; 271 return 1;
269 } 272 }
270 273
271 signing_public_key = PublicKeyRead(argv[4], signing_key_algorithm, 1); 274 signing_public_key = PublicKeyReadKeyb(argv[4], signing_key_algorithm, 1);
272 if (!signing_public_key) { 275 if (!signing_public_key) {
273 fprintf(stderr, "Error reading signing_public_key"); 276 fprintf(stderr, "Error reading signing_public_key");
274 return 1; 277 return 1;
275 } 278 }
276 279
277 data_public_key = PublicKeyRead(argv[6], data_key_algorithm, 1); 280 data_public_key = PublicKeyReadKeyb(argv[6], data_key_algorithm, 1);
278 if (!data_public_key) { 281 if (!data_public_key) {
279 fprintf(stderr, "Error reading data_public_key"); 282 fprintf(stderr, "Error reading data_public_key");
280 return 1; 283 return 1;
281 } 284 }
282 285
283 VerifyKeyBlockTest(signing_public_key, signing_private_key, data_public_key); 286 VerifyKeyBlockTest(signing_public_key, signing_private_key, data_public_key);
284 VerifyFirmwarePreambleTest(signing_public_key, signing_private_key, 287 VerifyFirmwarePreambleTest(signing_public_key, signing_private_key,
285 data_public_key); 288 data_public_key);
286 289
287 if (signing_public_key) 290 if (signing_public_key)
288 Free(signing_public_key); 291 Free(signing_public_key);
289 if (signing_private_key) 292 if (signing_private_key)
290 Free(signing_private_key); 293 Free(signing_private_key);
291 if (data_public_key) 294 if (data_public_key)
292 Free(data_public_key); 295 Free(data_public_key);
293 296
294 return error_code; 297 return error_code;
295 } 298 }
OLDNEW
« no previous file with comments | « tests/vboot_common2_tests.c ('k') | utility/Makefile » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698