blob: fb332f329286bb94d3231cadeedc13c6992db17d [file] [log] [blame]
Peter Huewed5a36f62018-06-12 00:59:26 +02001/* SPDX-License-Identifier: BSD-2 */
Juergen Repp16455702018-04-12 10:45:49 +02002/*******************************************************************************
3 * Copyright 2017-2018, Fraunhofer SIT sponsored by Infineon Technologies AG
4 * All rights reserved.
Juergen Repp16455702018-04-12 10:45:49 +02005 *******************************************************************************/
6
Juergen Reppbb517eb2018-06-15 16:22:28 +02007#include <stdlib.h>
8
Juergen Repp16455702018-04-12 10:45:49 +02009#include "tss2_esys.h"
10
11#include "esys_iutil.h"
Juergen Reppbb517eb2018-06-15 16:22:28 +020012#include "test-esapi.h"
Juergen Repp16455702018-04-12 10:45:49 +020013#define LOGMODULE test
14#include "util/log.h"
15
16/* Test the ESAPI function Esys_ChangeEPS */
17int
18test_invoke_esapi(ESYS_CONTEXT * esys_context)
19{
Juergen Reppbb517eb2018-06-15 16:22:28 +020020 TSS2_RC r;
Juergen Repp16455702018-04-12 10:45:49 +020021
22 ESYS_TR authHandle = ESYS_TR_RH_PLATFORM;
23
24 r = Esys_ChangeEPS(
25 esys_context,
26 authHandle,
27 ESYS_TR_PASSWORD,
28 ESYS_TR_NONE,
29 ESYS_TR_NONE);
Juergen Reppbb517eb2018-06-15 16:22:28 +020030
31 if (r == TPM2_RC_COMMAND_CODE) {
32 LOG_WARNING("Command TPM2_ChangeEPS not supported by TPM.");
33 return EXIT_SKIP;
34 goto error;
35 }
36
Juergen Reppafe25af2018-07-10 20:30:50 +020037 if ((r & ~TPM2_RC_N_MASK) == TPM2_RC_BAD_AUTH) {
Juergen Reppbb517eb2018-06-15 16:22:28 +020038 /* Platform authorization not possible test will be skipped */
39 LOG_WARNING("Platform authorization not possible.");
40 return EXIT_SKIP;
41 }
42
Juergen Repp16455702018-04-12 10:45:49 +020043 goto_if_error(r, "Error: ChangeEPS", error);
44
Juergen Reppbb517eb2018-06-15 16:22:28 +020045 return EXIT_SUCCESS;
Juergen Repp16455702018-04-12 10:45:49 +020046
47 error:
Juergen Reppbb517eb2018-06-15 16:22:28 +020048 return EXIT_FAILURE;
Juergen Repp16455702018-04-12 10:45:49 +020049}