diff options
Diffstat (limited to 'firmware/lib/vboot_kernel.c')
-rw-r--r-- | firmware/lib/vboot_kernel.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/firmware/lib/vboot_kernel.c b/firmware/lib/vboot_kernel.c index 6ab52b7e..4a7154ed 100644 --- a/firmware/lib/vboot_kernel.c +++ b/firmware/lib/vboot_kernel.c @@ -8,6 +8,8 @@ #include "sysincludes.h" +#include "2common.h" +#include "2sha.h" #include "cgptlib.h" #include "cgptlib_internal.h" #include "region.h" @@ -281,29 +283,27 @@ VbError_t LoadKernel(LoadKernelParams *params, VbCommonParams *cparams) VbPublicKey *key = &key_block->data_key; uint8_t *buf = ((uint8_t *)key) + key->key_offset; uint64_t buflen = key->key_size; - uint8_t *digest; + uint8_t digest[VB2_SHA256_DIGEST_SIZE]; VBDEBUG(("Checking developer key hash.\n")); - digest = DigestBuf(buf, buflen, - SHA256_DIGEST_ALGORITHM); + vb2_digest_buffer(buf, buflen, VB2_HASH_SHA256, + digest, sizeof(digest)); if (0 != SafeMemcmp(digest, params->fwmp->dev_key_hash, - SHA256_DIGEST_SIZE)) { + VB2_SHA256_DIGEST_SIZE)) { int i; VBDEBUG(("Wrong developer key hash.\n")); VBDEBUG(("Want: ")); - for (i = 0; i < SHA256_DIGEST_SIZE; i++) + for (i = 0; i < VB2_SHA256_DIGEST_SIZE; i++) VBDEBUG(("%02x", params->fwmp->dev_key_hash[i])); VBDEBUG(("\nGot: ")); - for (i = 0; i < SHA256_DIGEST_SIZE; i++) + for (i = 0; i < VB2_SHA256_DIGEST_SIZE; i++) VBDEBUG(("%02x", digest[i])); VBDEBUG(("\n")); - VbExFree(digest); goto bad_kernel; } - VbExFree(digest); } /* Get key for preamble/data verification from the key block. */ |