| 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 22 matching lines...) Expand all Loading... |
| 33 VERIFY_KERNEL_SUCCESS, | 33 VERIFY_KERNEL_SUCCESS, |
| 34 "Normal KernelImage Verification (Dev Mode)"); | 34 "Normal KernelImage Verification (Dev Mode)"); |
| 35 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_DISABLED), | 35 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_DISABLED), |
| 36 VERIFY_KERNEL_SUCCESS, | 36 VERIFY_KERNEL_SUCCESS, |
| 37 "Normal KernelImage Verification (Trusted)"); | 37 "Normal KernelImage Verification (Trusted)"); |
| 38 } | 38 } |
| 39 | 39 |
| 40 /* Tampered KernelImage Verification Tests. */ | 40 /* Tampered KernelImage Verification Tests. */ |
| 41 void VerifyKernelImageTamperTest(KernelImage* image, | 41 void VerifyKernelImageTamperTest(KernelImage* image, |
| 42 RSAPublicKey* firmware_key) { | 42 RSAPublicKey* firmware_key) { |
| 43 image->options.kernel_load_addr = 0xFFFF; | 43 image->kernel_config[0] ^= 0xFF; |
| 44 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_ENABLED), | 44 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_ENABLED), |
| 45 VERIFY_KERNEL_CONFIG_SIGNATURE_FAILED, | 45 VERIFY_KERNEL_CONFIG_SIGNATURE_FAILED, |
| 46 "KernelImage Config Tamper Verification (Dev Mode)"); | 46 "KernelImage Config Tamper Verification (Dev Mode)"); |
| 47 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_DISABLED), | 47 TEST_EQ(VerifyKernelImage(firmware_key, image, DEV_MODE_DISABLED), |
| 48 VERIFY_KERNEL_CONFIG_SIGNATURE_FAILED, | 48 VERIFY_KERNEL_CONFIG_SIGNATURE_FAILED, |
| 49 "KernelImage Config Tamper Verification (Trusted)"); | 49 "KernelImage Config Tamper Verification (Trusted)"); |
| 50 image->options.kernel_load_addr = 0; | 50 image->kernel_config[0] ^= 0xFF; |
| 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] = 'K'; | 59 image->kernel_data[0] = 'K'; |
| 60 | 60 |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 | 131 |
| 132 failure: | 132 failure: |
| 133 Free(kernel_blob); | 133 Free(kernel_blob); |
| 134 KernelImageFree(image); | 134 KernelImageFree(image); |
| 135 Free(kernel_sign_key_buf); | 135 Free(kernel_sign_key_buf); |
| 136 Free(firmware_key_blob); | 136 Free(firmware_key_blob); |
| 137 RSAPublicKeyFree(firmware_key); | 137 RSAPublicKeyFree(firmware_key); |
| 138 | 138 |
| 139 return error_code; | 139 return error_code; |
| 140 } | 140 } |
| OLD | NEW |