Peter Huewe | d5a36f6 | 2018-06-12 00:59:26 +0200 | [diff] [blame] | 1 | /* SPDX-License-Identifier: BSD-2 */ |
Juergen Repp | 1645570 | 2018-04-12 10:45:49 +0200 | [diff] [blame] | 2 | /******************************************************************************* |
| 3 | * Copyright 2017-2018, Fraunhofer SIT sponsored by Infineon Technologies AG |
| 4 | * All rights reserved. |
Juergen Repp | 1645570 | 2018-04-12 10:45:49 +0200 | [diff] [blame] | 5 | *******************************************************************************/ |
| 6 | |
Juergen Repp | bb517eb | 2018-06-15 16:22:28 +0200 | [diff] [blame] | 7 | #include <stdlib.h> |
| 8 | |
Juergen Repp | 1645570 | 2018-04-12 10:45:49 +0200 | [diff] [blame] | 9 | #include "tss2_esys.h" |
| 10 | |
| 11 | #include "esys_iutil.h" |
Juergen Repp | bb517eb | 2018-06-15 16:22:28 +0200 | [diff] [blame] | 12 | #include "test-esapi.h" |
Juergen Repp | 1645570 | 2018-04-12 10:45:49 +0200 | [diff] [blame] | 13 | #define LOGMODULE test |
| 14 | #include "util/log.h" |
| 15 | |
| 16 | /* Test the ESAPI function Esys_ChangeEPS */ |
| 17 | int |
| 18 | test_invoke_esapi(ESYS_CONTEXT * esys_context) |
| 19 | { |
Juergen Repp | bb517eb | 2018-06-15 16:22:28 +0200 | [diff] [blame] | 20 | TSS2_RC r; |
Juergen Repp | 1645570 | 2018-04-12 10:45:49 +0200 | [diff] [blame] | 21 | |
| 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 Repp | bb517eb | 2018-06-15 16:22:28 +0200 | [diff] [blame] | 30 | |
| 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 Repp | afe25af | 2018-07-10 20:30:50 +0200 | [diff] [blame^] | 37 | if ((r & ~TPM2_RC_N_MASK) == TPM2_RC_BAD_AUTH) { |
Juergen Repp | bb517eb | 2018-06-15 16:22:28 +0200 | [diff] [blame] | 38 | /* Platform authorization not possible test will be skipped */ |
| 39 | LOG_WARNING("Platform authorization not possible."); |
| 40 | return EXIT_SKIP; |
| 41 | } |
| 42 | |
Juergen Repp | 1645570 | 2018-04-12 10:45:49 +0200 | [diff] [blame] | 43 | goto_if_error(r, "Error: ChangeEPS", error); |
| 44 | |
Juergen Repp | bb517eb | 2018-06-15 16:22:28 +0200 | [diff] [blame] | 45 | return EXIT_SUCCESS; |
Juergen Repp | 1645570 | 2018-04-12 10:45:49 +0200 | [diff] [blame] | 46 | |
| 47 | error: |
Juergen Repp | bb517eb | 2018-06-15 16:22:28 +0200 | [diff] [blame] | 48 | return EXIT_FAILURE; |
Juergen Repp | 1645570 | 2018-04-12 10:45:49 +0200 | [diff] [blame] | 49 | } |