Index: src/platform/vboot_reference/tests/run_rsa_tests.sh |
diff --git a/src/platform/vboot_reference/tests/run_rsa_tests.sh b/src/platform/vboot_reference/tests/run_rsa_tests.sh |
index 2439c329f808ea64fb438d085816a9f2e5a9f0dc..a296d13c6ac256116a024a5e6118fd1b8a40fda2 100755 |
--- a/src/platform/vboot_reference/tests/run_rsa_tests.sh |
+++ b/src/platform/vboot_reference/tests/run_rsa_tests.sh |
@@ -3,36 +3,14 @@ |
# 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. |
-return_code=0 |
-hash_algos=( sha1 sha256 sha512 ) |
-key_lengths=( 1024 2048 4096 8192 ) |
-TEST_FILE=test_file |
-TEST_FILE_SIZE=1000000 |
- |
-COL_RED='\E[31;1m' |
-COL_GREEN='\E[32;1m' |
-COL_YELLOW='\E[33;1m' |
-COL_BLUE='\E[34;1m' |
-COL_STOP='\E[0;m' |
+# Load common constants and variables. |
+. "$(dirname "$0")/common.sh" |
-# Generate public key signatures on an input file for various combinations |
-# of message digest algorithms and RSA key sizes. |
-function generate_signatures { |
- algorithmcounter=0 |
- for keylen in ${key_lengths[@]} |
- do |
- for hashalgo in ${hash_algos[@]} |
- do |
- ${UTIL_DIR}/signature_digest_utility $algorithmcounter $1 | openssl \ |
- rsautl -sign -pkcs -inkey ${KEY_DIR}/key_rsa${keylen}.pem \ |
- > $1.rsa${keylen}\_${hashalgo}.sig |
- let algorithmcounter=algorithmcounter+1 |
- done |
- done |
-} |
+return_code=0 |
+TEST_FILE=${TESTCASE_DIR}/test_file |
function test_signatures { |
algorithmcounter=0 |
@@ -42,8 +20,9 @@ function test_signatures { |
do |
echo -e "For ${COL_YELLOW}RSA-$keylen and $hashalgo${COL_STOP}:" |
${UTIL_DIR}/verify_data $algorithmcounter \ |
- ${KEY_DIR}/key_rsa${keylen}.keyb \ |
- ${TEST_FILE}.rsa${keylen}_${hashalgo}.sig ${TEST_FILE} |
+ ${TESTKEY_DIR}/key_rsa${keylen}.keyb \ |
+ ${TEST_FILE}.rsa${keylen}_${hashalgo}.sig \ |
+ ${TEST_FILE} |
if [ $? -ne 0 ] |
then |
return_code=255 |
@@ -52,45 +31,12 @@ function test_signatures { |
done |
done |
echo -e "Peforming ${COL_YELLOW}PKCS #1 v1.5 Padding Tests${COL_STOP}..." |
- ${TEST_DIR}/rsa_padding_test ${TEST_DIR}/testkeys/rsa_padding_test_pubkey.keyb |
-} |
- |
-function pre_work { |
- # Generate a file with random bytes for signature tests. |
- echo "Generating test file..." |
- dd if=/dev/urandom of=${TEST_FILE} bs=${TEST_FILE_SIZE} count=1 |
- echo "Generating signatures..." |
- generate_signatures $TEST_FILE |
+ ${TEST_DIR}/rsa_padding_test ${TESTKEY_DIR}/rsa_padding_test_pubkey.keyb |
} |
-function cleanup { |
- rm ${SCRIPT_DIR}/${TEST_FILE} ${SCRIPT_DIR}/${TEST_FILE}.*.sig |
-} |
- |
-# Determine script directory. |
-if [[ $0 == '/'* ]]; |
-then |
- SCRIPT_DIR="`dirname $0`" |
-elif [[ $0 == './'* ]]; |
-then |
- SCRIPT_DIR="`pwd`" |
-else |
- SCRIPT_DIR="`pwd`"/"`dirname $0`" |
-fi |
-UTIL_DIR=`dirname ${SCRIPT_DIR}`/utils |
-KEY_DIR=${SCRIPT_DIR}/testkeys |
-TEST_DIR=${SCRIPT_DIR}/ |
- |
-echo "Generating test cases..." |
-pre_work |
- |
-echo |
+check_test_keys |
echo "Testing signature verification..." |
test_signatures |
-echo |
-echo "Cleaning up..." |
-cleanup |
- |
exit $return_code |