OLD | NEW |
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 30 matching lines...) Expand all Loading... |
41 | 41 |
42 Memcpy(image->magic, FIRMWARE_MAGIC, FIRMWARE_MAGIC_SIZE); | 42 Memcpy(image->magic, FIRMWARE_MAGIC, FIRMWARE_MAGIC_SIZE); |
43 image->firmware_sign_algorithm = algorithm; | 43 image->firmware_sign_algorithm = algorithm; |
44 image->firmware_sign_key = (uint8_t*) Malloc( | 44 image->firmware_sign_key = (uint8_t*) Malloc( |
45 RSAProcessedKeySize(image->firmware_sign_algorithm)); | 45 RSAProcessedKeySize(image->firmware_sign_algorithm)); |
46 Memcpy(image->firmware_sign_key, firmware_sign_key, | 46 Memcpy(image->firmware_sign_key, firmware_sign_key, |
47 RSAProcessedKeySize(image->firmware_sign_algorithm)); | 47 RSAProcessedKeySize(image->firmware_sign_algorithm)); |
48 image->firmware_key_version = firmware_key_version; | 48 image->firmware_key_version = firmware_key_version; |
49 | 49 |
50 /* Update correct header length. */ | 50 /* Update correct header length. */ |
51 image->header_len = (sizeof(image->header_len) + | 51 image->header_len = GetFirmwareHeaderLen(image); |
52 sizeof(image->firmware_sign_algorithm) + | |
53 RSAProcessedKeySize(image->firmware_sign_algorithm) + | |
54 sizeof(image->firmware_key_version) + | |
55 sizeof(image->header_checksum)); | |
56 | 52 |
57 /* Calculate SHA-512 digest on header and populate header_checksum. */ | 53 /* Calculate SHA-512 digest on header and populate header_checksum. */ |
58 DigestInit(&ctx, ROOT_SIGNATURE_ALGORITHM); | 54 DigestInit(&ctx, ROOT_SIGNATURE_ALGORITHM); |
59 DigestUpdate(&ctx, (uint8_t*) &image->header_len, | 55 DigestUpdate(&ctx, (uint8_t*) &image->header_len, |
60 sizeof(image->header_len)); | 56 sizeof(image->header_len)); |
61 DigestUpdate(&ctx, (uint8_t*) &image->firmware_sign_algorithm, | 57 DigestUpdate(&ctx, (uint8_t*) &image->firmware_sign_algorithm, |
62 sizeof(image->firmware_sign_algorithm)); | 58 sizeof(image->firmware_sign_algorithm)); |
63 DigestUpdate(&ctx, image->firmware_sign_key, | 59 DigestUpdate(&ctx, image->firmware_sign_key, |
64 RSAProcessedKeySize(image->firmware_sign_algorithm)); | 60 RSAProcessedKeySize(image->firmware_sign_algorithm)); |
65 DigestUpdate(&ctx, (uint8_t*) &image->firmware_key_version, | 61 DigestUpdate(&ctx, (uint8_t*) &image->firmware_key_version, |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
214 | 210 |
215 failure: | 211 failure: |
216 Free(firmware_blob); | 212 Free(firmware_blob); |
217 FirmwareImageFree(image); | 213 FirmwareImageFree(image); |
218 Free(firmware_sign_key_buf); | 214 Free(firmware_sign_key_buf); |
219 Free(root_key_blob); | 215 Free(root_key_blob); |
220 RSAPublicKeyFree(root_key); | 216 RSAPublicKeyFree(root_key); |
221 | 217 |
222 return error_code; | 218 return error_code; |
223 } | 219 } |
OLD | NEW |