Index: src/platform/vboot_reference/utils/kernel_image.c |
diff --git a/src/platform/vboot_reference/utils/kernel_image.c b/src/platform/vboot_reference/utils/kernel_image.c |
index 8f874ec83e8afcb71726c7e8bba7b135c8e436c1..b5f07c2fae9226f5008b85e7877fbcb342d848db 100644 |
--- a/src/platform/vboot_reference/utils/kernel_image.c |
+++ b/src/platform/vboot_reference/utils/kernel_image.c |
@@ -92,13 +92,9 @@ KernelImage* ReadKernelImage(const char* input_file) { |
/* Compute size of pre-processed RSA public keys and signatures. */ |
firmware_sign_key_len = RSAProcessedKeySize(image->firmware_sign_algorithm); |
- /* TODO(gauravsh): Make siglen_map track the signature length in number |
- * of bytes rather than 32-bit words. */ |
- kernel_key_signature_len = (siglen_map[image->firmware_sign_algorithm] * |
- sizeof(uint32_t)); |
+ kernel_key_signature_len = siglen_map[image->firmware_sign_algorithm]; |
kernel_sign_key_len = RSAProcessedKeySize(image->kernel_sign_algorithm); |
- kernel_signature_len = (siglen_map[image->kernel_sign_algorithm] * |
- sizeof(uint32_t)); |
+ kernel_signature_len = siglen_map[image->kernel_sign_algorithm]; |
/* Check whether key header length is correct. */ |
header_len = (FIELD_LEN(header_version) + |
@@ -200,10 +196,8 @@ KernelImage* WriteKernelImage(const char* input_file, |
return NULL; |
} |
- kernel_key_signature_len = (siglen_map[image->firmware_sign_algorithm] * |
- sizeof(uint32_t)); |
- kernel_signature_len = (siglen_map[image->kernel_sign_algorithm] * |
- sizeof(uint32_t)); |
+ kernel_key_signature_len = siglen_map[image->firmware_sign_algorithm]; |
+ kernel_signature_len = siglen_map[image->kernel_sign_algorithm]; |
write(fd, image->magic, FIELD_LEN(magic)); |
WriteKernelHeader(fd, image); |
@@ -365,7 +359,7 @@ int VerifyKernelData(RSAPublicKey* kernel_sign_key, |
const uint8_t* kernel_data_start, |
int kernel_len, |
int algorithm) { |
- int signature_len = siglen_map[algorithm] * sizeof(uint32_t); |
+ int signature_len = siglen_map[algorithm]; |
if (!RSAVerifyBinary_f(NULL, kernel_sign_key, /* Key to use. */ |
kernel_data_start + signature_len, /* Data to |
* verify */ |
@@ -415,9 +409,8 @@ int VerifyKernel(const uint8_t* firmware_key_blob, |
FIELD_LEN(kernel_key_version)); |
kernel_sign_key = RSAPublicKeyFromBuf(kernel_sign_key_ptr, |
kernel_sign_key_len); |
- kernel_signature_len = siglen_map[kernel_sign_algorithm] * sizeof(uint32_t); |
- kernel_key_signature_len = siglen_map[firmware_sign_algorithm] * |
- sizeof(uint32_t); |
+ kernel_signature_len = siglen_map[kernel_sign_algorithm]; |
+ kernel_key_signature_len = siglen_map[firmware_sign_algorithm]; |
/* Only continue if config verification succeeds. */ |
config_ptr = (header_ptr + header_len + kernel_key_signature_len); |
@@ -486,8 +479,7 @@ int VerifyKernelImage(const RSAPublicKey* firmware_key, |
FIELD_LEN(header_checksum)); |
header_digest = DigestFinal(&ctx); |
if (!RSA_verify(firmware_key, image->kernel_key_signature, |
- siglen_map[image->firmware_sign_algorithm] * |
- sizeof(uint32_t), |
+ siglen_map[image->firmware_sign_algorithm], |
image->firmware_sign_algorithm, |
header_digest)) { |
fprintf(stderr, "VerifyKernelImage(): Key signature check failed.\n"); |
@@ -500,8 +492,7 @@ int VerifyKernelImage(const RSAPublicKey* firmware_key, |
kernel_sign_key_size = RSAProcessedKeySize(image->kernel_sign_algorithm); |
kernel_sign_key = RSAPublicKeyFromBuf(image->kernel_sign_key, |
kernel_sign_key_size); |
- kernel_signature_size = siglen_map[image->kernel_sign_algorithm] * |
- sizeof(uint32_t); |
+ kernel_signature_size = siglen_map[image->kernel_sign_algorithm]; |
/* Verify kernel config signature. */ |
DigestInit(&ctx, image->kernel_sign_algorithm); |
@@ -549,8 +540,7 @@ int AddKernelKeySignature(KernelImage* image, const char* firmware_key_file) { |
int tmp_hdr_fd; |
char* tmp_hdr_file = ".tmpKernelHdrFile"; |
uint8_t* signature; |
- int signature_len = siglen_map[image->firmware_sign_algorithm] * |
- sizeof(uint32_t); |
+ int signature_len = siglen_map[image->firmware_sign_algorithm]; |
if(-1 == (tmp_hdr_fd = creat(tmp_hdr_file, S_IRWXU))) { |
fprintf(stderr, "Could not open temporary file for writing " |
@@ -575,7 +565,7 @@ int AddKernelSignature(KernelImage* image, const char* kernel_signing_key_file, |
char* tmp_kernel_file = ".tmpKernelFile"; |
uint8_t* config_signature; |
uint8_t* kernel_signature; |
- int signature_len = siglen_map[algorithm] * sizeof(uint32_t); |
+ int signature_len = siglen_map[algorithm]; |
/* Write config to a file. */ |
if(-1 == (tmp_config_fd = creat(tmp_config_file, S_IRWXU))) { |