esys-testparms.int.c 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /* SPDX-License-Identifier: BSD-2-Clause */
  2. /*******************************************************************************
  3. * Copyright 2017-2018, Fraunhofer SIT sponsored by Infineon Technologies AG
  4. * All rights reserved.
  5. *******************************************************************************/
  6. #ifdef HAVE_CONFIG_H
  7. #include <config.h>
  8. #endif
  9. #include <stdlib.h>
  10. #include "tss2_esys.h"
  11. #include "esys_iutil.h"
  12. #define LOGMODULE test
  13. #include "util/log.h"
  14. #include "util/aux_util.h"
  15. /** Test the ESYS function Esys_TestParms.
  16. *
  17. * Tested ESYS commands:
  18. * - Esys_TestParms() (M)
  19. *
  20. * @param[in,out] esys_context The ESYS_CONTEXT.
  21. * @retval EXIT_FAILURE
  22. * @retval EXIT_SUCCESS
  23. */
  24. int
  25. test_esys_testparms(ESYS_CONTEXT * esys_context)
  26. {
  27. TSS2_RC r;
  28. TPMT_PUBLIC_PARMS parameters = {
  29. .type = TPM2_ALG_RSA,
  30. .parameters = {
  31. .rsaDetail = {
  32. .symmetric = {
  33. .algorithm = TPM2_ALG_AES,
  34. .keyBits.aes = 128,
  35. .mode.aes = TPM2_ALG_CFB,
  36. },
  37. .scheme = {
  38. .scheme =
  39. TPM2_ALG_NULL,
  40. },
  41. .keyBits = 2048,
  42. .exponent = 0,
  43. }
  44. }
  45. };
  46. r = Esys_TestParms (
  47. esys_context,
  48. ESYS_TR_NONE,
  49. ESYS_TR_NONE,
  50. ESYS_TR_NONE,
  51. &parameters
  52. );
  53. goto_if_error(r, "Error: TestParms", error);
  54. return EXIT_SUCCESS;
  55. error:
  56. return EXIT_FAILURE;
  57. }
  58. int
  59. test_invoke_esys(ESYS_CONTEXT * esys_context) {
  60. return test_esys_testparms(esys_context);
  61. }