mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-24 02:05:01 +00:00
While trying to debug/test some vbutil_kernel changes (coming in a different CL) it was noticed that this utility is not covered by tests, and the script which runs it to set up further testing (tests/gen_fuzz_test_cases.sh) fails because of the key format mismatch. Some investigation has shown that this was left behind when vboot_reference key storage format was changed. To make gen_fuzz_test_cases.sh work again a new set of test keys is required, the keys are generated by tests/gen_test_keys.sh. This utility had to be changed to generate the proper set of wrapped public and private keys. Actually code in tests/gen_test_keys.shgenerate_keys() is copied in pasted in many scripts in this tree, this has to be refactored, but under a different CL. Once the changes were made, two scripts were run: ./tests/gen_test_keys.sh ./gen_test_cases.sh resulting in the new and updated keys generated. firmware/stub/tpm_lite_stub.c was edited to fix compilation warning issued when compiling with debugging enabled. Change-Id: I26a45cbad00d21a29195f2a89b4df7d3559133fe BUG=chromium-os:7178 TEST=described below The following commands succeed: vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv make make runtests ./tests/gen_fuzz_test_cases.sh ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ note that ./tests/gen_fuzz_test_cases.sh was failing before this change. The upcoming CL modifying vbutil_kernel will make sure gen_fuzz_test_cases.sh is executed when tests are run and will enhance it to cover vbutil_kernel testing. Review URL: http://codereview.chromium.org/3423022
45 lines
1.1 KiB
Bash
Executable File
45 lines
1.1 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.
|
|
#
|
|
# Run tests for RSA Signature verification.
|
|
|
|
# Load common constants and variables.
|
|
. "$(dirname "$0")/common.sh"
|
|
|
|
set -e
|
|
|
|
return_code=0
|
|
TEST_FILE=${TESTCASE_DIR}/test_file
|
|
|
|
function test_signatures {
|
|
algorithmcounter=0
|
|
for keylen in ${key_lengths[@]}
|
|
do
|
|
for hashalgo in ${hash_algos[@]}
|
|
do
|
|
echo -e "For ${COL_YELLOW}RSA-$keylen and $hashalgo${COL_STOP}:"
|
|
${UTIL_DIR}/verify_data $algorithmcounter \
|
|
${TESTKEY_DIR}/key_rsa${keylen}.keyb \
|
|
${TEST_FILE}.rsa${keylen}_${hashalgo}.sig \
|
|
${TEST_FILE}
|
|
if [ $? -ne 0 ]
|
|
then
|
|
return_code=255
|
|
fi
|
|
let algorithmcounter=algorithmcounter+1
|
|
done
|
|
done
|
|
echo -e "Peforming ${COL_YELLOW}PKCS #1 v1.5 Padding Tests${COL_STOP}..."
|
|
${TEST_DIR}/rsa_padding_test ${TESTKEY_DIR}/rsa_padding_test_pubkey.keyb
|
|
}
|
|
|
|
check_test_keys
|
|
echo "Testing signature verification..."
|
|
test_signatures
|
|
|
|
exit $return_code
|
|
|