| 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 |