futility: add vbutil_key into the built-in features

BUG=chromium:224734
BRANCH=ToT
TEST=make runtests

Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Change-Id: I6757a9c7f70bbe8d1db9bb3f0521778fbbb9632e
Reviewed-on: https://chromium-review.googlesource.com/207927
Reviewed-by: Randall Spangler <rspangler@chromium.org>
This commit is contained in:
Bill Richardson
2014-07-14 14:48:31 -07:00
committed by chrome-internal-fetch
parent 3e3790d008
commit b84b81dc26
3 changed files with 13 additions and 7 deletions

View File

@@ -488,7 +488,6 @@ UTIL_NAMES = ${UTIL_NAMES_STATIC} \
utility/tpmc \ utility/tpmc \
utility/vbutil_firmware \ utility/vbutil_firmware \
utility/vbutil_kernel \ utility/vbutil_kernel \
utility/vbutil_key \
utility/vbutil_keyblock \ utility/vbutil_keyblock \
ifeq (${MINIMAL},) ifeq (${MINIMAL},)
@@ -535,7 +534,7 @@ FUTIL_BIN = ${BUILD}/futility/futility
# But we still need both static (tiny) and dynamic (with openssl) versions. # But we still need both static (tiny) and dynamic (with openssl) versions.
FUTIL_STATIC_BIN = ${FUTIL_BIN}_s FUTIL_STATIC_BIN = ${FUTIL_BIN}_s
# These are the others it will replace. # These are the executables to be replaced with symlinks.
FUTIL_OLD = bmpblk_font bmpblk_utility cgpt chromeos-tpm-recovery crossystem \ FUTIL_OLD = bmpblk_font bmpblk_utility cgpt chromeos-tpm-recovery crossystem \
dev_debug_vboot dev_make_keypair dev_sign_file dumpRSAPublicKey \ dev_debug_vboot dev_make_keypair dev_sign_file dumpRSAPublicKey \
dump_fmap dump_kernel_config eficompress efidecompress \ dump_fmap dump_kernel_config eficompress efidecompress \
@@ -552,6 +551,7 @@ FUTIL_STATIC_SRCS = \
FUTIL_SRCS = \ FUTIL_SRCS = \
$(FUTIL_STATIC_SRCS) \ $(FUTIL_STATIC_SRCS) \
futility/cmd_vbutil_key.c \
futility/cmd_hey.c futility/cmd_hey.c
FUTIL_LDS = futility/futility.lds FUTIL_LDS = futility/futility.lds
@@ -902,6 +902,7 @@ ${FUTIL_STATIC_BIN}: ${FUTIL_LDS} ${FUTIL_STATIC_OBJS} ${UTILLIB}
@$(PRINTF) " LD $(subst ${BUILD}/,,$@)\n" @$(PRINTF) " LD $(subst ${BUILD}/,,$@)\n"
${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} -static $^ ${LDLIBS} ${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} -static $^ ${LDLIBS}
${FUTIL_BIN}: LDLIBS += ${CRYPTO_LIBS}
${FUTIL_BIN}: ${FUTIL_LDS} ${FUTIL_OBJS} ${UTILLIB} ${FUTIL_BIN}: ${FUTIL_LDS} ${FUTIL_OBJS} ${UTILLIB}
@$(PRINTF) " LD $(subst ${BUILD}/,,$@)\n" @$(PRINTF) " LD $(subst ${BUILD}/,,$@)\n"
${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} $^ ${LDLIBS} ${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} $^ ${LDLIBS}
@@ -996,7 +997,6 @@ ${BUILD}/utility/signature_digest_utility: LDLIBS += ${CRYPTO_LIBS}
${BUILD}/utility/dev_sign_file: LDLIBS += ${CRYPTO_LIBS} ${BUILD}/utility/dev_sign_file: LDLIBS += ${CRYPTO_LIBS}
${BUILD}/utility/vbutil_firmware: LDLIBS += ${CRYPTO_LIBS} ${BUILD}/utility/vbutil_firmware: LDLIBS += ${CRYPTO_LIBS}
${BUILD}/utility/vbutil_kernel: LDLIBS += ${CRYPTO_LIBS} ${BUILD}/utility/vbutil_kernel: LDLIBS += ${CRYPTO_LIBS}
${BUILD}/utility/vbutil_key: LDLIBS += ${CRYPTO_LIBS}
${BUILD}/utility/vbutil_keyblock: LDLIBS += ${CRYPTO_LIBS} ${BUILD}/utility/vbutil_keyblock: LDLIBS += ${CRYPTO_LIBS}
${BUILD}/host/linktest/main: LDLIBS += ${CRYPTO_LIBS} ${BUILD}/host/linktest/main: LDLIBS += ${CRYPTO_LIBS}

View File

@@ -13,6 +13,7 @@
#include <string.h> #include <string.h>
#include "cryptolib.h" #include "cryptolib.h"
#include "futility.h"
#include "host_common.h" #include "host_common.h"
#include "util_misc.h" #include "util_misc.h"
#include "vboot_common.h" #include "vboot_common.h"
@@ -52,8 +53,10 @@ static int PrintHelp(char *progname) {
" Required parameters:\n" " Required parameters:\n"
" --key <infile> RSA key file (.keyb or .pem)\n" " --key <infile> RSA key file (.keyb or .pem)\n"
" --version <number> Key version number " " --version <number> Key version number "
"(required for .keyb, ignored for .pem)\n" "(required for .keyb,\n"
" --algorithm <number> Signing algorithm to use with key:\n", " ignored for .pem)\n"
" --algorithm <number> "
"Signing algorithm to use with key:\n",
progname); progname);
for (i = 0; i < kNumAlgorithms; i++) { for (i = 0; i < kNumAlgorithms; i++) {
@@ -160,7 +163,7 @@ static int Unpack(const char *infile, const char *outfile) {
} }
int main(int argc, char* argv[]) { int do_vbutil_key(int argc, char* argv[]) {
char *infile = NULL; char *infile = NULL;
char *outfile = NULL; char *outfile = NULL;
@@ -234,3 +237,6 @@ int main(int argc, char* argv[]) {
return PrintHelp(progname); return PrintHelp(progname);
} }
} }
DECLARE_FUTIL_COMMAND(vbutil_key, do_vbutil_key,
"Wraps RSA keys with vboot headers");

View File

@@ -51,7 +51,7 @@ progs=0
# TODO(crbug.com/224734): dev_debug_vboot isn't tested right now. # TODO(crbug.com/224734): dev_debug_vboot isn't tested right now.
PROGS=${*:-cgpt crossystem dev_sign_file dumpRSAPublicKey PROGS=${*:-cgpt crossystem dev_sign_file dumpRSAPublicKey
dump_kernel_config enable_dev_usb_boot gbb_utility dump_kernel_config enable_dev_usb_boot gbb_utility
tpm_init_temp_fix tpmc vbutil_firmware vbutil_kernel vbutil_key tpm_init_temp_fix tpmc vbutil_firmware vbutil_kernel
vbutil_keyblock vbutil_what_keys} vbutil_keyblock vbutil_what_keys}
# For now just compare results of invoking each program with no args. # For now just compare results of invoking each program with no args.