blob: 0a887df41b2d377564cd6970ed59e9cd343c5c29 [file] [log] [blame]
/* SPDX-License-Identifier: BSD-2-Clause */
/*******************************************************************************
* Copyright 2020, Intel
* Copyright 2020, Fraunhofer SIT sponsored by Infineon Technologies AG All
* rights reserved.
******************************************************************************/
#ifndef ESYS_DUMMY_DEFS_H
#define ESYS_DUMMY_DEFS_H
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "tss2_esys.h"
#include "tss2-esys/esys_iutil.h"
/*
* Esys handles for dummy session and key objects, and initialization values for
* other objects, which can be used in ESAPI test calls
*/
#define DUMMY_TR_HANDLE_POLICY_SESSION ESYS_TR_MIN_OBJECT
#define DUMMY_TR_HANDLE_KEY ESYS_TR_MIN_OBJECT+1
#define DUMMY_TR_HANDLE_NV_INDEX ESYS_TR_MIN_OBJECT+2
#define DUMMY_TR_HANDLE_HIERARCHY_OWNER ESYS_TR_MIN_OBJECT+3
#define DUMMY_TR_HANDLE_HIERARCHY_PLATFORM ESYS_TR_MIN_OBJECT+4
#define DUMMY_TR_HANDLE_PRIVACY_ADMIN ESYS_TR_MIN_OBJECT+5
#define DUMMY_TR_HANDLE_HMAC_SESSION ESYS_TR_MIN_OBJECT+6
#define DUMMY_TR_HANDLE_LOCKOUT ESYS_TR_MIN_OBJECT+7
#define DUMMY_IN_PUBLIC_DATA { \
.size = 0, \
.publicArea = { \
.type = TPM2_ALG_ECC, \
.nameAlg = TPM2_ALG_SHA256, \
.objectAttributes = (TPMA_OBJECT_USERWITHAUTH | \
TPMA_OBJECT_RESTRICTED | \
TPMA_OBJECT_SIGN_ENCRYPT | \
TPMA_OBJECT_FIXEDTPM | \
TPMA_OBJECT_FIXEDPARENT | \
TPMA_OBJECT_SENSITIVEDATAORIGIN), \
.authPolicy = { \
.size = 0, \
}, \
.parameters.eccDetail = { \
.symmetric = { \
.algorithm = \
TPM2_ALG_AES, \
.keyBits.aes = \
128, \
.mode.aes = \
TPM2_ALG_ECB, \
}, \
.scheme = { \
.scheme = \
TPM2_ALG_ECDSA, \
.details = { \
.ecdsa = \
{. \
hashAlg \
= \
TPM2_ALG_SHA256}}, \
}, \
.curveID = TPM2_ECC_NIST_P256, \
.kdf = { \
.scheme = TPM2_ALG_KDF1_SP800_56A, \
.details = {}} \
}, \
.unique.ecc = { \
.x = {.size = 0,.buffer = {}}, \
.y = {.size = 0,.buffer = {}}, \
}, \
}, \
}
#define DUMMY_TPMT_PUBLIC_PARAMS { \
.type = TPM2_ALG_ECC, \
.parameters.eccDetail = { \
.symmetric = { \
.algorithm = \
TPM2_ALG_AES, \
.keyBits.aes = \
128, \
.mode.aes = \
TPM2_ALG_ECB, \
}, \
.scheme = { \
.scheme = \
TPM2_ALG_ECDSA, \
.details = { \
.ecdsa = \
{. \
hashAlg \
= \
TPM2_ALG_SHA256}}, \
}, \
.curveID = TPM2_ECC_NIST_P256, \
.kdf = { \
.scheme = TPM2_ALG_KDF1_SP800_56A, \
.details = {}} \
} \
}
#define DUMMY_2B_DATA(NAME) { \
.size = 20, \
NAME = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, \
11, 12, 13, 14, 15, 16, 17, 18, 19, 20} \
}
#define DUMMY_2B_DATA16(NAME) { \
.size = 16, \
NAME = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, \
11, 12, 13, 14, 15, 16 } \
}
#define DUMMY_2B_DATA0 { \
.size = 0, \
.buffer = {}, \
}
#define DUMMY_SYMMETRIC {.algorithm = TPM2_ALG_AES, \
.keyBits = {.aes = 128}, \
.mode = {.aes = TPM2_ALG_CFB} \
}
#define DUMMY_TPMT_TK_AUTH { .tag = TPM2_ST_AUTH_SIGNED , .hierarchy = TPM2_RH_OWNER, .digest = {0} }
#define DUMMY_TPMT_TK_CREATION { .tag = TPM2_ST_CREATION , .hierarchy = TPM2_RH_OWNER, .digest = {0} }
#define DUMMY_TPMT_TK_VERIFIED { .tag = TPM2_ST_VERIFIED , .hierarchy = TPM2_RH_OWNER, .digest = {0} }
#define DUMMY_TPMT_TK_HASHCHECK { .tag = TPM2_ST_HASHCHECK , .hierarchy = TPM2_RH_OWNER, .digest = {0} }
#define DUMMY_RSA_DECRYPT { .scheme = TPM2_ALG_RSAPSS }
#define DUMMY_TPMT_SIGNATURE { \
.sigAlg = TPM2_ALG_RSAPSS, \
.signature = { \
.rsapss = { \
.hash = TPM2_ALG_SHA1, .sig= {0} \
} \
} \
};
#endif