summaryrefslogtreecommitdiff
path: root/util/bin2h.sh
diff options
context:
space:
mode:
authorVadim Bendebury <vbendeb@chromium.org>2018-03-30 21:07:25 -0700
committerchrome-bot <chrome-bot@chromium.org>2018-04-03 18:47:04 -0700
commit44c81deec45960c4e3f7f6b11999c28419f6c2ef (patch)
treedf4a705bc8ace51b81e286e1c8f075583f2d12f1 /util/bin2h.sh
parentaef3b58a407a022b20bc597b69e981ee02b2d920 (diff)
downloadchrome-ec-44c81deec45960c4e3f7f6b11999c28419f6c2ef.tar.gz
cr50: prepare using blobs as RMA key sources
This patch brings in both prod and test RMA server public keys as two binary files. A bash script for converting binary blob into C definition is also provided. BRANCH=cr50, cr50-mp BUG=b:73296144, b:74100307 TEST=none yet Change-Id: I2edd78164b8c912408ac7eda2e0a3a0262a8e81f Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/990782 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'util/bin2h.sh')
-rwxr-xr-xutil/bin2h.sh41
1 files changed, 41 insertions, 0 deletions
diff --git a/util/bin2h.sh b/util/bin2h.sh
new file mode 100755
index 0000000000..1507bc4004
--- /dev/null
+++ b/util/bin2h.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+#
+# Copyright 2018 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.
+#
+# This script converts input binary blob into output .h file,
+#
+# The three command line arguments are:
+#
+# - name of the variable to define in the output .h file
+# - input binary blob to be converted to hex ASCII
+# - name of the output file
+#
+# The output file contains a C #define statement assigning the variable to hex
+# dump of the input file.
+#
+# This script is supposed to be invoked from the make file, no command line
+# argument verification is done.
+
+# Make sure the user is alerted if not enough command line arguments are
+# supplied.
+set -u
+
+variable_name="${1}"
+input_file="${2}"
+output_file="${3}"
+
+key_dump="$(od -An -tx1 -w8 ${input_file} | \
+ sed 's/^ /\t0x/;s/ /, 0x/g;s/$/, \\/')"
+
+cat > ${output_file} <<EOF
+/*
+ * This is a generated file, do not edit.
+ */
+
+#define ${variable_name} { \\
+${key_dump}
+}
+
+EOF