fapi-set-get-app-data.sh 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. set -e
  2. source helpers.sh
  3. start_up
  4. CRYPTO_PROFILE="RSA"
  5. setup_fapi $CRYPTO_PROFILE
  6. function cleanup {
  7. tss2 delete --path=/
  8. shut_down
  9. }
  10. trap cleanup EXIT
  11. KEY_PATH=HS/SRK/myRSACrypt
  12. APP_DATA_SET=$TEMP_DIR/sample_app_data
  13. APP_DATA_FILE=$TEMP_DIR/app_data.file
  14. echo -n "abcdef" > $APP_DATA_SET
  15. EMPTY_FILE=$TEMP_DIR/empty.file
  16. BIG_FILE=$TEMP_DIR/big_file.file
  17. tss2 provision
  18. tss2 createkey --path=$KEY_PATH --type="noDa, restricted, decrypt" \
  19. --authValue=""
  20. echo "tss2 setappdata with EMPTY_FILE" # Expected to succeed
  21. tss2 setappdata --path=$KEY_PATH --appData=$EMPTY_FILE
  22. echo "tss2 setappdata with BIG_FILE" # Expected to succeed
  23. tss2 setappdata --path=$KEY_PATH --appData=$BIG_FILE
  24. tss2 setappdata --path=$KEY_PATH --appData=$APP_DATA_SET
  25. tss2 getappdata --path=$KEY_PATH --appData=$APP_DATA_FILE --force
  26. if [ "$(< $APP_DATA_FILE)" != "$(< $APP_DATA_SET)" ]; then
  27. echo "Files are not equal"
  28. exit 99
  29. fi
  30. echo -n "" > $APP_DATA_FILE
  31. tss2 setappdata --path $KEY_PATH
  32. tss2 getappdata --path $KEY_PATH --appData $APP_DATA_FILE --force
  33. if [ "$(< $APP_DATA_FILE)" != "" ]; then
  34. echo "File not empty"
  35. exit 99
  36. fi
  37. echo -n "123" | tss2 setappdata --path $KEY_PATH --appData -
  38. tss2 getappdata --path $KEY_PATH --appData $APP_DATA_FILE --force
  39. if [ "$(< $APP_DATA_FILE)" != "123" ]; then
  40. echo "Files are not equal"
  41. exit 99
  42. fi
  43. expect <<EOF
  44. # Try with missing path
  45. spawn tss2 getappdata --appData=$APP_DATA_FILE
  46. set ret [wait]
  47. if {[lindex \$ret 2] || [lindex \$ret 3] != 1} {
  48. Command has not failed as expected\n"
  49. exit 1
  50. }
  51. EOF
  52. # Try with missing appData
  53. tss2 getappdata --path=$KEY_PATH
  54. exit 0