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 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 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 "KernelImage Config Tamper Verification (Trusted)"); | 49 "KernelImage Config Tamper Verification (Trusted)"); |
50 image->options.kernel_load_addr = 0; | 50 image->options.kernel_load_addr = 0; |
51 | 51 |
52 image->kernel_data[0] = 'T'; | 52 image->kernel_data[0] = 'T'; |
53 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_ENABLED), | 53 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_ENABLED), |
54 VERIFY_KERNEL_SIGNATURE_FAILED, | 54 VERIFY_KERNEL_SIGNATURE_FAILED, |
55 "KernelImage Tamper Verification (Dev Mode)"); | 55 "KernelImage Tamper Verification (Dev Mode)"); |
56 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_DISABLED), | 56 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_DISABLED), |
57 VERIFY_KERNEL_SIGNATURE_FAILED, | 57 VERIFY_KERNEL_SIGNATURE_FAILED, |
58 "KernelImage Tamper Verification (Trusted)"); | 58 "KernelImage Tamper Verification (Trusted)"); |
59 image->kernel_data[0] = 'F'; | 59 image->kernel_data[0] = 'K'; |
60 | 60 |
61 image->kernel_key_signature[0] = 0xFF; | 61 image->kernel_key_signature[0] = 0xFF; |
62 image->kernel_key_signature[1] = 0x00; | 62 image->kernel_key_signature[1] = 0x00; |
63 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_ENABLED), | 63 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_ENABLED), |
64 VERIFY_KERNEL_SUCCESS, | 64 VERIFY_KERNEL_SUCCESS, |
65 "KernelImage Key Signature Tamper Verification (Dev Mode)"); | 65 "KernelImage Key Signature Tamper Verification (Dev Mode)"); |
66 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_DISABLED), | 66 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_DISABLED), |
67 VERIFY_KERNEL_KEY_SIGNATURE_FAILED, | 67 VERIFY_KERNEL_KEY_SIGNATURE_FAILED, |
68 "KernelImage Key Signature Tamper Verification (Trusted)"); | 68 "KernelImage Key Signature Tamper Verification (Trusted)"); |
69 } | 69 } |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 goto failure; | 103 goto failure; |
104 } | 104 } |
105 | 105 |
106 image = GenerateTestKernelImage(atoi(argv[1]), | 106 image = GenerateTestKernelImage(atoi(argv[1]), |
107 atoi(argv[2]), | 107 atoi(argv[2]), |
108 kernel_sign_key_buf, | 108 kernel_sign_key_buf, |
109 1, /* Kernel Key Version */ | 109 1, /* Kernel Key Version */ |
110 1, /* Kernel Version */ | 110 1, /* Kernel Version */ |
111 1000, /* Kernel Size */ | 111 1000, /* Kernel Size */ |
112 firmware_key_file, | 112 firmware_key_file, |
113 kernel_key_file); | 113 kernel_key_file, |
| 114 'K'); |
114 if (!image) { | 115 if (!image) { |
115 error_code = 1; | 116 error_code = 1; |
116 goto failure; | 117 goto failure; |
117 } | 118 } |
118 | 119 |
119 kernel_blob = GetKernelBlob(image, &kernel_blob_len); | 120 kernel_blob = GetKernelBlob(image, &kernel_blob_len); |
120 | 121 |
121 /* Test Kernel blob verify operations. */ | 122 /* Test Kernel blob verify operations. */ |
122 VerifyKernelTest(kernel_blob, firmware_key_blob); | 123 VerifyKernelTest(kernel_blob, firmware_key_blob); |
123 | 124 |
124 /* Test KernelImage verify operations. */ | 125 /* Test KernelImage verify operations. */ |
125 VerifyKernelImageTest(image, firmware_key); | 126 VerifyKernelImageTest(image, firmware_key); |
126 VerifyKernelImageTamperTest(image, firmware_key); | 127 VerifyKernelImageTamperTest(image, firmware_key); |
127 | 128 |
128 if (!gTestSuccess) | 129 if (!gTestSuccess) |
129 error_code = 255; | 130 error_code = 255; |
130 | 131 |
131 failure: | 132 failure: |
132 Free(kernel_blob); | 133 Free(kernel_blob); |
133 KernelImageFree(image); | 134 KernelImageFree(image); |
134 Free(kernel_sign_key_buf); | 135 Free(kernel_sign_key_buf); |
135 Free(firmware_key_blob); | 136 Free(firmware_key_blob); |
136 RSAPublicKeyFree(firmware_key); | 137 RSAPublicKeyFree(firmware_key); |
137 | 138 |
138 return error_code; | 139 return error_code; |
139 } | 140 } |
OLD | NEW |