Index: utility/sign_image.c |
diff --git a/utility/sign_image.c b/utility/sign_image.c |
deleted file mode 100644 |
index 672e47ff40d9b842a3c6562b929efcf3d98de848..0000000000000000000000000000000000000000 |
--- a/utility/sign_image.c |
+++ /dev/null |
@@ -1,115 +0,0 @@ |
-/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
- * Use of this source code is governed by a BSD-style license that can be |
- * found in the LICENSE file. |
- * |
- * Utility for signing boot firmware images. |
- */ |
- |
-#include <stdio.h> |
-#include <stdlib.h> |
-#include <unistd.h> |
- |
-#include "file_keys.h" |
-#include "utility.h" |
-#include "host_key.h" |
-#include "host_signature.h" |
-#include "host_common.h" |
- |
-static void usage() |
-{ |
- static char* help_mesg = |
- "Usage: sign_image <fw_version> <fw_key_block> <signing_key> " |
- "<kernel_public_key> <firmware_file> <output_file>\n"; |
- printf("%s", help_mesg); |
-} |
- |
-int SignAndWriteImage(uint64_t fw_version, VbKeyBlockHeader* wrapper_kb, |
- VbPrivateKey* signing_key, |
- VbPublicKey* nested_pubkey, |
- uint8_t* image, uint64_t image_size, |
- FILE* out_file) |
-{ |
- VbFirmwarePreambleHeader* fw_preamble = NULL; |
- int rv = 1; |
- do { /* to be able to bail out anywhere */ |
- VbSignature* firmware_sig; |
- |
- /* sign the firmware first */ |
- firmware_sig = CalculateSignature(image, image_size, signing_key); |
- |
- /* write the original keyblock */ |
- if (fwrite(wrapper_kb, wrapper_kb->key_block_size, 1, out_file) != 1) { |
- debug("failed writing key block\n"); |
- break; |
- } |
- |
- fw_preamble = CreateFirmwarePreamble(fw_version, nested_pubkey, |
- firmware_sig, signing_key); |
- |
- if (!fw_preamble) { |
- debug("failed creating preamble\n"); |
- break; |
- } |
- |
- /* write the preamble */ |
- if (fwrite(fw_preamble, fw_preamble->preamble_size, 1, out_file) != 1) { |
- debug("failed writing fw preamble\n"); |
- break; |
- } |
- |
- /* write the image */ |
- if (fwrite(image, image_size, 1, out_file) != 1) { |
- debug("failed writing image\n"); |
- break; |
- } |
- rv = 0; |
- } while(0); |
- |
- if (fw_preamble) { |
- Free(fw_preamble); |
- } |
- |
- return rv; |
-} |
- |
-int main(int argc, char* argv[]) { |
- VbKeyBlockHeader* firmware_kb; |
- VbPublicKey* kernel_pubk; |
- uint8_t* firmware; |
- uint64_t fw_size; |
- uint64_t version; |
- VbPrivateKey* signing_key = NULL; |
- FILE* out_file; |
- int rv; |
- |
- if (argc != 7) { |
- usage(); |
- exit(1); |
- } |
- |
- version = strtoul(argv[1], 0, 0); |
- firmware_kb = KeyBlockRead(argv[2]); |
- kernel_pubk = PublicKeyRead(argv[4]); |
- firmware = BufferFromFile(argv[5], &fw_size); |
- if (firmware_kb) { |
- signing_key = PrivateKeyRead(argv[3], firmware_kb->data_key.algorithm); |
- } |
- if (!firmware_kb || !kernel_pubk || !firmware || ! signing_key) { |
- return 1; |
- } |
- |
- out_file = fopen(argv[6], "wb"); |
- if (!out_file) { |
- debug("could not open %s for writing\n"); |
- return 1; |
- } |
- |
- rv = SignAndWriteImage(version, firmware_kb, signing_key, |
- kernel_pubk, firmware, fw_size, out_file); |
- |
- fclose(out_file); |
- if (rv) { |
- unlink(argv[6]); |
- } |
- return rv; |
-} |