mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-24 10:14:55 +00:00
Moved duplicated code to "common.sh". Make directory detection more robust. Review URL: http://codereview.chromium.org/1101004
57 lines
2.0 KiB
Bash
Executable File
57 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 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.
|
|
|
|
# Generate test cases for use for the RSA verify benchmark.
|
|
|
|
# Load common constants and variables.
|
|
. "$(dirname "$0")/common.sh"
|
|
|
|
# Use a different directory for fuzzing test cases.
|
|
TESTCASE_DIR=${SCRIPT_DIR}/fuzz_testcases
|
|
TEST_FILE=${TESTCASE_DIR}/testfile
|
|
TEST_FILE_SIZE=500000
|
|
|
|
# Generate public key signatures and digest on an input file for
|
|
# various combinations of message digest algorithms and RSA key sizes.
|
|
function generate_fuzzing_images {
|
|
echo "Generating signed firmware test image..."
|
|
# Generate a test verified boot firmware image and copy root public key.
|
|
${UTIL_DIR}/firmware_utility --generate \
|
|
--in $1 \
|
|
--root_key ${TESTKEY_DIR}/key_rsa8192.pem \
|
|
--firmware_sign_key ${TESTKEY_DIR}/key_rsa4096.pem \
|
|
--firmware_sign_key_pub ${TESTKEY_DIR}/key_rsa4096.keyb \
|
|
--firmware_sign_algorithm 8 \
|
|
--firmware_key_version 1 \
|
|
--firmware_version 1 \
|
|
--out ${TESTCASE_DIR}/firmware.signed
|
|
cp ${TESTKEY_DIR}/key_rsa8192.keyb ${TESTCASE_DIR}/root_key.keyb
|
|
|
|
echo "Generating signed kernel test image..."
|
|
# Generate a test verified boot kernel image and copy firmware public key.
|
|
${UTIL_DIR}/kernel_utility --generate \
|
|
--in $1 \
|
|
--firmware_key ${TESTKEY_DIR}/key_rsa4096.pem \
|
|
--kernel_key ${TESTKEY_DIR}/key_rsa1024.pem \
|
|
--kernel_key_pub ${TESTKEY_DIR}/key_rsa1024.keyb \
|
|
--firmware_sign_algorithm 8 \
|
|
--kernel_sign_algorithm 2 \
|
|
--kernel_key_version 1 \
|
|
--kernel_version 1 \
|
|
--out ${TESTCASE_DIR}/kernel.signed
|
|
cp ${TESTKEY_DIR}/key_rsa4096.keyb ${TESTCASE_DIR}/firmware_key.keyb
|
|
}
|
|
|
|
function pre_work {
|
|
# Generate a file to serve as random bytes for firmware/kernel contents.
|
|
echo "Generating test file..."
|
|
dd if=/dev/urandom of=${TEST_FILE} bs=${TEST_FILE_SIZE} count=1
|
|
}
|
|
mkdir -p ${TESTCASE_DIR}
|
|
pre_work
|
|
check_test_keys
|
|
generate_fuzzing_images ${TEST_FILE}
|