File: fapi-set-get-app-data.sh

package info (click to toggle)
tpm2-tools 5.7-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,988 kB
  • sloc: ansic: 45,737; sh: 14,915; xml: 8,342; makefile: 610; python: 51
file content (76 lines) | stat: -rw-r--r-- 1,634 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76

set -e
source helpers.sh

start_up

CRYPTO_PROFILE="RSA"
setup_fapi $CRYPTO_PROFILE

function cleanup {
    tss2 delete --path=/
    shut_down
}

trap cleanup EXIT

KEY_PATH=HS/SRK/myRSACrypt
APP_DATA_SET=$TEMP_DIR/sample_app_data
APP_DATA_FILE=$TEMP_DIR/app_data.file

echo -n "abcdef" > $APP_DATA_SET

EMPTY_FILE=$TEMP_DIR/empty.file
BIG_FILE=$TEMP_DIR/big_file.file

tss2 provision

tss2 createkey --path=$KEY_PATH --type="noDa, restricted, decrypt" \
    --authValue=""

echo "tss2 setappdata with EMPTY_FILE" # Expected to succeed
tss2 setappdata --path=$KEY_PATH --appData=$EMPTY_FILE

echo "tss2 setappdata with BIG_FILE" # Expected to succeed
tss2 setappdata --path=$KEY_PATH --appData=$BIG_FILE

tss2 setappdata --path=$KEY_PATH --appData=$APP_DATA_SET

tss2 getappdata --path=$KEY_PATH --appData=$APP_DATA_FILE --force

if [ "$(< $APP_DATA_FILE)" !=  "$(< $APP_DATA_SET)" ]; then
  echo "Files are not equal"
  exit 99
fi

echo -n "" > $APP_DATA_FILE
tss2 setappdata --path $KEY_PATH
tss2 getappdata --path $KEY_PATH --appData $APP_DATA_FILE --force

if [ "$(< $APP_DATA_FILE)" !=  "" ]; then
  echo "File not empty"
  exit 99
fi

echo -n "123" | tss2 setappdata --path $KEY_PATH --appData -
tss2 getappdata --path $KEY_PATH --appData $APP_DATA_FILE --force

if [ "$(< $APP_DATA_FILE)" !=  "123" ]; then
  echo "Files are not equal"
  exit 99
fi

expect <<EOF
# Try with missing path
spawn tss2 getappdata --appData=$APP_DATA_FILE
set ret [wait]
if {[lindex \$ret 2] || [lindex \$ret 3] != 1} {
    Command has not failed as expected\n"
    exit 1
}
EOF

# Try with missing appData
tss2 getappdata --path=$KEY_PATH

exit 0