aboutsummaryrefslogtreecommitdiff
path: root/cli-tests/t_encrypt_raw_key.sh
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2020-05-09 14:04:47 -0700
committerEric Biggers <ebiggers@google.com>2020-05-09 14:04:47 -0700
commita35a8a764e750c484dd649a463262f7c6fe692ba (patch)
treea9cf7b0b9004b9f7f35f44e347d54b68f7005c8f /cli-tests/t_encrypt_raw_key.sh
parent280c466cff982ff536016cc35cc135dd439782a4 (diff)
cli-tests: add t_encrypt_raw_key
Test encrypting a directory using a raw_key protector.
Diffstat (limited to 'cli-tests/t_encrypt_raw_key.sh')
-rwxr-xr-xcli-tests/t_encrypt_raw_key.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/cli-tests/t_encrypt_raw_key.sh b/cli-tests/t_encrypt_raw_key.sh
new file mode 100755
index 0000000..260b094
--- /dev/null
+++ b/cli-tests/t_encrypt_raw_key.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+# Test encrypting a directory using a raw_key protector.
+
+cd "$(dirname "$0")"
+. common.sh
+
+dir="$MNT/dir"
+raw_key_file="$TMPDIR/raw_key"
+
+begin()
+{
+ _reset_filesystems
+ mkdir "$dir"
+ _print_header "$1"
+}
+
+show_status()
+{
+ local encrypted=$1
+
+ fscrypt status "$MNT"
+ if $encrypted; then
+ fscrypt status "$dir"
+ else
+ _expect_failure "fscrypt status '$dir'"
+ fi
+}
+
+begin "Encrypt with raw_key protector"
+head -c 32 /dev/urandom > "$raw_key_file"
+fscrypt encrypt --quiet --name=prot --source=raw_key --key="$raw_key_file" "$dir"
+show_status true
+
+begin "Try to encrypt with raw_key protector, using wrong key length"
+head -c 16 /dev/urandom > "$raw_key_file"
+_expect_failure "fscrypt encrypt --quiet --name=prot --source=raw_key --key='$raw_key_file' '$dir'"
+show_status false