load.sh 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. # SPDX-License-Identifier: BSD-3-Clause
  2. source helpers.sh
  3. start_up
  4. alg_primary_obj=sha256
  5. alg_primary_key=rsa
  6. alg_create_obj=sha256
  7. alg_create_key=hmac
  8. alg_load=sha1
  9. file_primary_key_ctx=context.p_"$alg_primary_obj"_"$alg_primary_key"
  10. file_load_key_pub=opu_"$alg_create_obj"_"$alg_create_key"
  11. file_load_key_priv=opr_"$alg_create_obj"_"$alg_create_key"
  12. file_load_key_name=name.load_"$alg_primary_obj"_"$alg_primary_key"-\
  13. "$alg_create_obj"_"$alg_create_key"
  14. file_load_key_ctx=ctx_load_out_"$alg_primary_obj"_"$alg_primary_key"-\
  15. "$alg_create_obj"_"$alg_create_key"
  16. file_load_output=load_"$file_load_key_ctx"
  17. Handle_parent=0x81010018
  18. Handle_ek_load=0x81010017
  19. cleanup() {
  20. rm -f $file_load_key_pub $file_load_key_priv $file_load_key_name \
  21. $file_load_key_ctx
  22. tpm2 evictcontrol -Q -Co -c $Handle_parent 2>/dev/null || true
  23. if [ $(ina "$@" "keep_ctx") -ne 0 ]; then
  24. rm -f $file_primary_key_ctx
  25. fi
  26. if [ $(ina "$@" "no-shut-down") -ne 0 ]; then
  27. shut_down
  28. fi
  29. }
  30. trap cleanup EXIT
  31. cleanup "no-shut-down"
  32. tpm2 clear
  33. #####file test
  34. tpm2 createprimary -Q -C e -g $alg_primary_obj -G $alg_primary_key \
  35. -c $file_primary_key_ctx
  36. tpm2 create -Q -g $alg_create_obj -G $alg_create_key -u $file_load_key_pub \
  37. -r $file_load_key_priv -C $file_primary_key_ctx
  38. tpm2 load -Q -C $file_primary_key_ctx -u $file_load_key_pub \
  39. -r $file_load_key_priv -n $file_load_key_name -c $file_load_key_ctx
  40. #####handle test
  41. cleanup "keep_ctx" "no-shut-down"
  42. tpm2 evictcontrol -Q -C o -c $file_primary_key_ctx $Handle_parent
  43. tpm2 create -Q -C $Handle_parent -g $alg_create_obj -G $alg_create_key \
  44. -u $file_load_key_pub -r $file_load_key_priv
  45. tpm2 load -Q -C $Handle_parent -u $file_load_key_pub -r $file_load_key_priv \
  46. -n $file_load_key_name -c $file_load_key_ctx
  47. exit 0