summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Richardson <wfrichar@chromium.org>2014-07-14 14:48:31 -0700
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-07-17 06:50:42 +0000
commitb84b81dc265a766a968bf126905447d442558218 (patch)
tree522847168e0e26ff03454e662ccbceef52d6dc5b
parent3e3790d00827e75d39b77a14bca2756a14a51b3c (diff)
downloadvboot-b84b81dc265a766a968bf126905447d442558218.tar.gz
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>
-rw-r--r--Makefile6
-rw-r--r--futility/cmd_vbutil_key.c (renamed from utility/vbutil_key.c)12
-rwxr-xr-xtests/futility/run_test_scripts.sh2
3 files changed, 13 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 7bb34dca..22246752 100644
--- a/Makefile
+++ b/Makefile
@@ -488,7 +488,6 @@ UTIL_NAMES = ${UTIL_NAMES_STATIC} \
utility/tpmc \
utility/vbutil_firmware \
utility/vbutil_kernel \
- utility/vbutil_key \
utility/vbutil_keyblock \
ifeq (${MINIMAL},)
@@ -535,7 +534,7 @@ FUTIL_BIN = ${BUILD}/futility/futility
# But we still need both static (tiny) and dynamic (with openssl) versions.
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 \
dev_debug_vboot dev_make_keypair dev_sign_file dumpRSAPublicKey \
dump_fmap dump_kernel_config eficompress efidecompress \
@@ -552,6 +551,7 @@ FUTIL_STATIC_SRCS = \
FUTIL_SRCS = \
$(FUTIL_STATIC_SRCS) \
+ futility/cmd_vbutil_key.c \
futility/cmd_hey.c
FUTIL_LDS = futility/futility.lds
@@ -902,6 +902,7 @@ ${FUTIL_STATIC_BIN}: ${FUTIL_LDS} ${FUTIL_STATIC_OBJS} ${UTILLIB}
@$(PRINTF) " LD $(subst ${BUILD}/,,$@)\n"
${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} -static $^ ${LDLIBS}
+${FUTIL_BIN}: LDLIBS += ${CRYPTO_LIBS}
${FUTIL_BIN}: ${FUTIL_LDS} ${FUTIL_OBJS} ${UTILLIB}
@$(PRINTF) " LD $(subst ${BUILD}/,,$@)\n"
${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/vbutil_firmware: 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}/host/linktest/main: LDLIBS += ${CRYPTO_LIBS}
diff --git a/utility/vbutil_key.c b/futility/cmd_vbutil_key.c
index 3d9dfc4a..56b224c6 100644
--- a/utility/vbutil_key.c
+++ b/futility/cmd_vbutil_key.c
@@ -13,6 +13,7 @@
#include <string.h>
#include "cryptolib.h"
+#include "futility.h"
#include "host_common.h"
#include "util_misc.h"
#include "vboot_common.h"
@@ -52,8 +53,10 @@ static int PrintHelp(char *progname) {
" Required parameters:\n"
" --key <infile> RSA key file (.keyb or .pem)\n"
" --version <number> Key version number "
- "(required for .keyb, ignored for .pem)\n"
- " --algorithm <number> Signing algorithm to use with key:\n",
+ "(required for .keyb,\n"
+ " ignored for .pem)\n"
+ " --algorithm <number> "
+ "Signing algorithm to use with key:\n",
progname);
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 *outfile = NULL;
@@ -234,3 +237,6 @@ int main(int argc, char* argv[]) {
return PrintHelp(progname);
}
}
+
+DECLARE_FUTIL_COMMAND(vbutil_key, do_vbutil_key,
+ "Wraps RSA keys with vboot headers");
diff --git a/tests/futility/run_test_scripts.sh b/tests/futility/run_test_scripts.sh
index 38fc723b..87ce0b9b 100755
--- a/tests/futility/run_test_scripts.sh
+++ b/tests/futility/run_test_scripts.sh
@@ -51,7 +51,7 @@ progs=0
# TODO(crbug.com/224734): dev_debug_vboot isn't tested right now.
PROGS=${*:-cgpt crossystem dev_sign_file dumpRSAPublicKey
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}
# For now just compare results of invoking each program with no args.