common/encrypt: move constant test key to common code

For some encryption tests it's helpful to always use the same key so
that the test's output is always the same.

generic/580 already defines such a key, so move it into common/encrypt
so that other tests can use it too.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
Eric Biggers
2020-02-03 10:18:54 -08:00
committed by Eryu Guan
parent 231f246501
commit 0d9ca511e1
2 changed files with 15 additions and 13 deletions
+11
View File
@@ -187,6 +187,17 @@ _scratch_mkfs_stable_inodes_encrypted()
esac
}
# For some tests it's helpful to always use the same key so that the test's
# output is always the same. For this purpose the following key can be used:
TEST_RAW_KEY=
for i in {1..64}; do
TEST_RAW_KEY+="\\x$(printf "%02x" $i)"
done
# Key descriptor: arbitrary value
TEST_KEY_DESCRIPTOR="0000111122223333"
# Key identifier: HKDF-SHA512(key=$TEST_RAW_KEY, salt="", info="fscrypt\0\x01")
TEST_KEY_IDENTIFIER="69b2f6edeee720cce0577937eb8a6751"
# Give the invoking shell a new session keyring. This makes any keys we add to
# the session keyring scoped to the lifetime of the test script.
_new_session_keyring()
+4 -13
View File
@@ -43,21 +43,12 @@ _scratch_mount
test_with_policy_version()
{
local vers=$1
local raw_key=""
local i
for i in {1..64}; do
raw_key+="\\x$(printf "%02x" $i)"
done
if (( vers == 1 )); then
# Key descriptor: arbitrary value
local keyspec="0000111122223333"
local keyspec=$TEST_KEY_DESCRIPTOR
local add_enckey_args="-d $keyspec"
else
# Key identifier:
# HKDF-SHA512(key=raw_key, salt="", info="fscrypt\0\x01")
local keyspec="69b2f6edeee720cce0577937eb8a6751"
local keyspec=$TEST_KEY_IDENTIFIER
local add_enckey_args=""
fi
@@ -75,7 +66,7 @@ test_with_policy_version()
echo "# Getting encryption key status"
_enckey_status $SCRATCH_MNT $keyspec
echo "# Adding encryption key"
_add_enckey $SCRATCH_MNT "$raw_key" $add_enckey_args
_add_enckey $SCRATCH_MNT "$TEST_RAW_KEY" $add_enckey_args
echo "# Creating encrypted file"
echo contents > $dir/file
echo "# Getting encryption key status"
@@ -90,7 +81,7 @@ test_with_policy_version()
# Test removing key with a file open.
echo "# Re-adding encryption key"
_add_enckey $SCRATCH_MNT "$raw_key" $add_enckey_args
_add_enckey $SCRATCH_MNT "$TEST_RAW_KEY" $add_enckey_args
echo "# Creating another encrypted file"
echo foo > $dir/file2
echo "# Removing key while an encrypted file is open"