16typedef uint32_t ESYS_TR;
18#define ESYS_TR_NONE 0xfffU
19#define ESYS_TR_PASSWORD 0x0ffU
20#define ESYS_TR_PCR0 0U
21#define ESYS_TR_PCR1 1U
22#define ESYS_TR_PCR2 2U
23#define ESYS_TR_PCR3 3U
24#define ESYS_TR_PCR4 4U
25#define ESYS_TR_PCR5 5U
26#define ESYS_TR_PCR6 6U
27#define ESYS_TR_PCR7 7U
28#define ESYS_TR_PCR8 8U
29#define ESYS_TR_PCR9 9U
30#define ESYS_TR_PCR10 10U
31#define ESYS_TR_PCR11 11U
32#define ESYS_TR_PCR12 12U
33#define ESYS_TR_PCR13 13U
34#define ESYS_TR_PCR14 14U
35#define ESYS_TR_PCR15 15U
36#define ESYS_TR_PCR16 16U
37#define ESYS_TR_PCR17 17U
38#define ESYS_TR_PCR18 18U
39#define ESYS_TR_PCR19 19U
40#define ESYS_TR_PCR20 20U
41#define ESYS_TR_PCR21 21U
42#define ESYS_TR_PCR22 22U
43#define ESYS_TR_PCR23 23U
44#define ESYS_TR_PCR24 24U
45#define ESYS_TR_PCR25 25U
46#define ESYS_TR_PCR26 26U
47#define ESYS_TR_PCR27 27U
48#define ESYS_TR_PCR28 28U
49#define ESYS_TR_PCR29 29U
50#define ESYS_TR_PCR30 30U
51#define ESYS_TR_PCR31 31U
54#define ESYS_TR_RH_OWNER 0x101U
55#define ESYS_TR_RH_NULL 0x107U
56#define ESYS_TR_RH_LOCKOUT 0x10AU
57#define ESYS_TR_RH_ENDORSEMENT 0x10BU
58#define ESYS_TR_RH_PLATFORM 0x10CU
59#define ESYS_TR_RH_PLATFORM_NV 0x10DU
60#define ESYS_TR_RH_FW_OWNER 0x10EU
61#define ESYS_TR_RH_FW_ENDORSEMENT 0x10FU
62#define ESYS_TR_RH_FW_PLATFORM 0x110U
63#define ESYS_TR_RH_FW_NULL 0x111U
64#define ESYS_TR_RH_SVN_OWNER_BASE 0x1010000U
65#define ESYS_TR_RH_SVN_ENDORSEMENT_BASE 0x1020000U
66#define ESYS_TR_RH_SVN_PLATFORM_BASE 0x1030000U
67#define ESYS_TR_RH_SVN_NULL_BASE 0x1040000U
69#define ESYS_TR_RH_AUTH_FIRST 0x110U
70#define ESYS_TR_RH_AUTH(x) (ESYS_TR_RH_AUTH_FIRST + (ESYS_TR)(x))
71#define ESYS_TR_RH_ACT_FIRST 0x120U
72#define ESYS_TR_RH_ACT(x) (ESYS_TR_RH_ACT_FIRST + (ESYS_TR)(x))
73#define ESYS_TR_RH_ACT_0 ESYS_TR_RH_ACT_FIRST
74#define ESYS_TR_RH_ACT_1 0x121U
75#define ESYS_TR_RH_ACT_2 0x122U
76#define ESYS_TR_RH_ACT_3 0x123U
77#define ESYS_TR_RH_ACT_4 0x124U
78#define ESYS_TR_RH_ACT_5 0x125U
79#define ESYS_TR_RH_ACT_6 0x126U
80#define ESYS_TR_RH_ACT_7 0x127U
81#define ESYS_TR_RH_ACT_8 0x128U
82#define ESYS_TR_RH_ACT_9 0x129U
83#define ESYS_TR_RH_ACT_A 0x12AU
84#define ESYS_TR_RH_ACT_B 0x12BU
85#define ESYS_TR_RH_ACT_C 0x12CU
86#define ESYS_TR_RH_ACT_D 0x12DU
87#define ESYS_TR_RH_ACT_E 0x12EU
88#define ESYS_TR_RH_ACT_F 0x12FU
89#define ESYS_TR_RH_ACT_LAST ESYS_TR_RH_ACT_F
90#define ESYS_TR_RH_AC_FIRST 0x140U
91#define ESYS_TR_RH_AC(x) (ESYS_TR_RH_AC_FIRST + (ESYS_TR)(x))
92#define ESYS_TR_RH_AC_LAST (ESYS_TR_RH_AC_FIRST + 0xFFFFU)
112 (*ESYS_CRYPTO_HASH_START_FNP)(
129 (*ESYS_CRYPTO_HASH_UPDATE_FNP)(
131 const uint8_t *buffer,
147 (*ESYS_CRYPTO_HASH_FINISH_FNP)(
160 (*ESYS_CRYPTO_HASH_ABORT_FNP)(
177 (*ESYS_CRYPTO_HMAC_START_FNP)(
196 (*ESYS_CRYPTO_HMAC_UPDATE_FNP)(
198 const uint8_t *buffer,
214 (*ESYS_CRYPTO_HMAC_FINISH_FNP)(
227 (*ESYS_CRYPTO_HMAC_ABORT_FNP)(
242 (*ESYS_CRYPTO_GET_RANDOM2B_FNP)(
265 (*ESYS_CRYPTO_GET_ECDH_POINT_FNP)(
268 TPM2B_ECC_PARAMETER *Z,
290 (*ESYS_CRYPTO_AES_ENCRYPT_FNP)(
292 TPM2_ALG_ID tpm_sym_alg,
293 TPMI_AES_KEY_BITS key_bits,
294 TPM2_ALG_ID tpm_mode,
316 (*ESYS_CRYPTO_AES_DECRYPT_FNP)(
318 TPM2_ALG_ID tpm_sym_alg,
319 TPMI_AES_KEY_BITS key_bits,
320 TPM2_ALG_ID tpm_mode,
342 (*ESYS_CRYPTO_SM4_ENCRYPT_FNP)(
344 TPM2_ALG_ID tpm_sym_alg,
345 TPMI_SM4_KEY_BITS key_bits,
346 TPM2_ALG_ID tpm_mode,
368 (*ESYS_CRYPTO_SM4_DECRYPT_FNP)(
370 TPM2_ALG_ID tpm_sym_alg,
371 TPMI_SM4_KEY_BITS key_bits,
372 TPM2_ALG_ID tpm_mode,
394 (*ESYS_CRYPTO_PK_RSA_ENCRYPT_FNP)(
395 TPM2B_PUBLIC * pub_tpm_key,
413typedef TSS2_RC (*ESYS_CRYPTO_INIT_FNP)(
void *userdata);
417 ESYS_CRYPTO_PK_RSA_ENCRYPT_FNP rsa_pk_encrypt;
418 ESYS_CRYPTO_HASH_START_FNP hash_start;
419 ESYS_CRYPTO_HASH_UPDATE_FNP hash_update;
420 ESYS_CRYPTO_HASH_FINISH_FNP hash_finish;
421 ESYS_CRYPTO_HASH_ABORT_FNP hash_abort;
422 ESYS_CRYPTO_HMAC_START_FNP hmac_start;
423 ESYS_CRYPTO_HMAC_UPDATE_FNP hmac_update;
424 ESYS_CRYPTO_HMAC_FINISH_FNP hmac_finish;
425 ESYS_CRYPTO_HMAC_ABORT_FNP hmac_abort;
426 ESYS_CRYPTO_GET_RANDOM2B_FNP get_random2b;
427 ESYS_CRYPTO_GET_ECDH_POINT_FNP get_ecdh_point;
428 ESYS_CRYPTO_AES_ENCRYPT_FNP aes_encrypt;
429 ESYS_CRYPTO_AES_DECRYPT_FNP aes_decrypt;
430 ESYS_CRYPTO_SM4_ENCRYPT_FNP sm4_encrypt;
431 ESYS_CRYPTO_SM4_DECRYPT_FNP sm4_decrypt;
432 ESYS_CRYPTO_INIT_FNP init;
443 TSS2_TCTI_CONTEXT *tcti,
444 TSS2_ABI_VERSION *abiVersion);
453 TSS2_TCTI_CONTEXT **tcti);
458 TSS2_TCTI_POLL_HANDLE **handles,
471 size_t *buffer_size);
476 uint8_t
const *buffer,
478 ESYS_TR *esys_handle);
481Esys_TR_FromTPMPublic_Async(
483 TPM2_HANDLE tpm_handle,
484 ESYS_TR optionalSession1,
485 ESYS_TR optionalSession2,
486 ESYS_TR optionalSession3);
489Esys_TR_FromTPMPublic_Finish(
494Esys_TR_FromTPMPublic(
496 TPM2_HANDLE tpm_handle,
497 ESYS_TR optionalSession1,
498 ESYS_TR optionalSession2,
499 ESYS_TR optionalSession3,
505 ESYS_TR *rsrc_handle);
511 TPM2B_AUTH
const *authValue);
520Esys_TRSess_GetAttributes(
523 TPMA_SESSION *flags);
526Esys_TRSess_SetAttributes(
533Esys_TRSess_GetNonceTPM(
536 TPM2B_NONCE **nonceTPM);
542 TPM2_HANDLE *tpm_handle);
545Esys_TRSess_GetAuthRequired(
548 TPMI_YES_NO *auth_needed);
555 TPM2_SU startupType);
560 TPM2_SU startupType);
574 TPM2_SU shutdownType);
582 TPM2_SU shutdownType);
596 TPMI_YES_NO fullTest);
604 TPMI_YES_NO fullTest);
613Esys_IncrementalSelfTest(
618 const TPML_ALG *toTest,
619 TPML_ALG **toDoList);
622Esys_IncrementalSelfTest_Async(
627 const TPML_ALG *toTest);
630Esys_IncrementalSelfTest_Finish(
632 TPML_ALG **toDoList);
642 TPM2B_MAX_BUFFER **outData,
643 TPM2_RC *testResult);
646Esys_GetTestResult_Async(
653Esys_GetTestResult_Finish(
655 TPM2B_MAX_BUFFER **outData,
656 TPM2_RC *testResult);
661Esys_StartAuthSession(
668 const TPM2B_NONCE *nonceCaller,
670 const TPMT_SYM_DEF *symmetric,
671 TPMI_ALG_HASH authHash,
672 ESYS_TR *sessionHandle);
675Esys_StartAuthSession_Async(
682 const TPM2B_NONCE *nonceCaller,
684 const TPMT_SYM_DEF *symmetric,
685 TPMI_ALG_HASH authHash);
688Esys_StartAuthSession_Finish(
690 ESYS_TR *sessionHandle);
697 ESYS_TR sessionHandle,
703Esys_PolicyRestart_Async(
705 ESYS_TR sessionHandle,
711Esys_PolicyRestart_Finish(
719 ESYS_TR parentHandle,
723 const TPM2B_SENSITIVE_CREATE *inSensitive,
724 const TPM2B_PUBLIC *inPublic,
725 const TPM2B_DATA *outsideInfo,
726 const TPML_PCR_SELECTION *creationPCR,
727 TPM2B_PRIVATE **outPrivate,
728 TPM2B_PUBLIC **outPublic,
729 TPM2B_CREATION_DATA **creationData,
730 TPM2B_DIGEST **creationHash,
731 TPMT_TK_CREATION **creationTicket);
736 ESYS_TR parentHandle,
740 const TPM2B_SENSITIVE_CREATE *inSensitive,
741 const TPM2B_PUBLIC *inPublic,
742 const TPM2B_DATA *outsideInfo,
743 const TPML_PCR_SELECTION *creationPCR);
748 TPM2B_PRIVATE **outPrivate,
749 TPM2B_PUBLIC **outPublic,
750 TPM2B_CREATION_DATA **creationData,
751 TPM2B_DIGEST **creationHash,
752 TPMT_TK_CREATION **creationTicket);
759 ESYS_TR parentHandle,
763 const TPM2B_PRIVATE *inPrivate,
764 const TPM2B_PUBLIC *inPublic,
765 ESYS_TR *objectHandle);
770 ESYS_TR parentHandle,
774 const TPM2B_PRIVATE *inPrivate,
775 const TPM2B_PUBLIC *inPublic);
780 ESYS_TR *objectHandle);
790 const TPM2B_SENSITIVE *inPrivate,
791 const TPM2B_PUBLIC *inPublic,
793 ESYS_TR *objectHandle);
796Esys_LoadExternal_Async(
801 const TPM2B_SENSITIVE *inPrivate,
802 const TPM2B_PUBLIC *inPublic,
806Esys_LoadExternal_Finish(
808 ESYS_TR *objectHandle);
815 ESYS_TR objectHandle,
819 TPM2B_PUBLIC **outPublic,
821 TPM2B_NAME **qualifiedName);
824Esys_ReadPublic_Async(
826 ESYS_TR objectHandle,
832Esys_ReadPublic_Finish(
834 TPM2B_PUBLIC **outPublic,
836 TPM2B_NAME **qualifiedName);
841Esys_ActivateCredential(
843 ESYS_TR activateHandle,
848 const TPM2B_ID_OBJECT *credentialBlob,
849 const TPM2B_ENCRYPTED_SECRET *secret,
850 TPM2B_DIGEST **certInfo);
853Esys_ActivateCredential_Async(
855 ESYS_TR activateHandle,
860 const TPM2B_ID_OBJECT *credentialBlob,
861 const TPM2B_ENCRYPTED_SECRET *secret);
864Esys_ActivateCredential_Finish(
866 TPM2B_DIGEST **certInfo);
875 UINT32 startTimeout);
878Esys_ACT_SetTimeout_Async(
884 UINT32 startTimeout);
887Esys_ACT_SetTimeout_Finish(
891Esys_AC_GetCapability_Async(
893 ESYS_TR optionalSession1,
894 ESYS_TR optionalSession2,
895 ESYS_TR optionalSession3,
901Esys_AC_GetCapability_Finish(
903 TPMI_YES_NO *moreData,
904 TPML_AC_CAPABILITIES **capabilityData);
907Esys_AC_GetCapability(
909 ESYS_TR optionalSession1,
910 ESYS_TR optionalSession2,
911 ESYS_TR optionalSession3,
915 TPMI_YES_NO *moreData,
916 TPML_AC_CAPABILITIES **capabilityData);
922 ESYS_TR nvAuthHandle,
923 ESYS_TR optionalSession1,
924 ESYS_TR optionalSession2,
925 ESYS_TR optionalSession3,
927 TPM2B_MAX_BUFFER *acDataIn);
932 TPMS_AC_OUTPUT **acDataOut);
938 ESYS_TR nvAuthHandle,
939 ESYS_TR optionalSession1,
940 ESYS_TR optionalSession2,
941 ESYS_TR optionalSession3,
943 TPM2B_MAX_BUFFER *acDataIn,
944 TPMS_AC_OUTPUT **acDataOut);
947Esys_Policy_AC_SendSelect_Async(
949 ESYS_TR policySession1,
950 ESYS_TR optionalSession2,
951 ESYS_TR optionalSession3,
952 TPM2B_NAME *objectName,
953 TPM2B_NAME *authHandleName,
955 const TPMI_YES_NO includeObject);
958Esys_Policy_AC_SendSelect_Finish(
962Esys_Policy_AC_SendSelect(
964 ESYS_TR policySession1,
965 ESYS_TR optionalSession2,
966 ESYS_TR optionalSession3,
967 TPM2B_NAME *objectName,
968 TPM2B_NAME *authHandleName,
970 TPMI_YES_NO includeObject);
981 const TPM2B_DIGEST *credential,
982 const TPM2B_NAME *objectName,
983 TPM2B_ID_OBJECT **credentialBlob,
984 TPM2B_ENCRYPTED_SECRET **secret);
987Esys_MakeCredential_Async(
993 const TPM2B_DIGEST *credential,
994 const TPM2B_NAME *objectName);
997Esys_MakeCredential_Finish(
999 TPM2B_ID_OBJECT **credentialBlob,
1000 TPM2B_ENCRYPTED_SECRET **secret);
1011 TPM2B_SENSITIVE_DATA **outData);
1024 TPM2B_SENSITIVE_DATA **outData);
1029Esys_ObjectChangeAuth(
1031 ESYS_TR objectHandle,
1032 ESYS_TR parentHandle,
1036 const TPM2B_AUTH *newAuth,
1037 TPM2B_PRIVATE **outPrivate);
1040Esys_ObjectChangeAuth_Async(
1042 ESYS_TR objectHandle,
1043 ESYS_TR parentHandle,
1047 const TPM2B_AUTH *newAuth);
1050Esys_ObjectChangeAuth_Finish(
1052 TPM2B_PRIVATE **outPrivate);
1059 ESYS_TR parentHandle,
1063 const TPM2B_SENSITIVE_CREATE *inSensitive,
1064 const TPM2B_TEMPLATE *inPublic,
1065 ESYS_TR *objectHandle,
1066 TPM2B_PRIVATE **outPrivate,
1067 TPM2B_PUBLIC **outPublic);
1070Esys_CreateLoaded_Async(
1072 ESYS_TR parentHandle,
1076 const TPM2B_SENSITIVE_CREATE *inSensitive,
1077 const TPM2B_TEMPLATE *inPublic);
1080Esys_CreateLoaded_Finish(
1082 ESYS_TR *objectHandle,
1083 TPM2B_PRIVATE **outPrivate,
1084 TPM2B_PUBLIC **outPublic);
1091 ESYS_TR objectHandle,
1092 ESYS_TR newParentHandle,
1096 const TPM2B_DATA *encryptionKeyIn,
1097 const TPMT_SYM_DEF_OBJECT *symmetricAlg,
1098 TPM2B_DATA **encryptionKeyOut,
1099 TPM2B_PRIVATE **duplicate,
1100 TPM2B_ENCRYPTED_SECRET **outSymSeed);
1103Esys_Duplicate_Async(
1105 ESYS_TR objectHandle,
1106 ESYS_TR newParentHandle,
1110 const TPM2B_DATA *encryptionKeyIn,
1111 const TPMT_SYM_DEF_OBJECT *symmetricAlg);
1114Esys_Duplicate_Finish(
1116 TPM2B_DATA **encryptionKeyOut,
1117 TPM2B_PRIVATE **duplicate,
1118 TPM2B_ENCRYPTED_SECRET **outSymSeed);
1130 const TPM2B_PRIVATE *inDuplicate,
1131 const TPM2B_NAME *name,
1132 const TPM2B_ENCRYPTED_SECRET *inSymSeed,
1133 TPM2B_PRIVATE **outDuplicate,
1134 TPM2B_ENCRYPTED_SECRET **outSymSeed);
1144 const TPM2B_PRIVATE *inDuplicate,
1145 const TPM2B_NAME *name,
1146 const TPM2B_ENCRYPTED_SECRET *inSymSeed);
1151 TPM2B_PRIVATE **outDuplicate,
1152 TPM2B_ENCRYPTED_SECRET **outSymSeed);
1159 ESYS_TR parentHandle,
1163 const TPM2B_DATA *encryptionKey,
1164 const TPM2B_PUBLIC *objectPublic,
1165 const TPM2B_PRIVATE *duplicate,
1166 const TPM2B_ENCRYPTED_SECRET *inSymSeed,
1167 const TPMT_SYM_DEF_OBJECT *symmetricAlg,
1168 TPM2B_PRIVATE **outPrivate);
1173 ESYS_TR parentHandle,
1177 const TPM2B_DATA *encryptionKey,
1178 const TPM2B_PUBLIC *objectPublic,
1179 const TPM2B_PRIVATE *duplicate,
1180 const TPM2B_ENCRYPTED_SECRET *inSymSeed,
1181 const TPMT_SYM_DEF_OBJECT *symmetricAlg);
1186 TPM2B_PRIVATE **outPrivate);
1197 const TPM2B_PUBLIC_KEY_RSA *message,
1198 const TPMT_RSA_DECRYPT *inScheme,
1199 const TPM2B_DATA *label,
1200 TPM2B_PUBLIC_KEY_RSA **outData);
1203Esys_RSA_Encrypt_Async(
1209 const TPM2B_PUBLIC_KEY_RSA *message,
1210 const TPMT_RSA_DECRYPT *inScheme,
1211 const TPM2B_DATA *label);
1214Esys_RSA_Encrypt_Finish(
1216 TPM2B_PUBLIC_KEY_RSA **outData);
1227 const TPM2B_PUBLIC_KEY_RSA *cipherText,
1228 const TPMT_RSA_DECRYPT *inScheme,
1229 const TPM2B_DATA *label,
1230 TPM2B_PUBLIC_KEY_RSA **message);
1233Esys_RSA_Decrypt_Async(
1239 const TPM2B_PUBLIC_KEY_RSA *cipherText,
1240 const TPMT_RSA_DECRYPT *inScheme,
1241 const TPM2B_DATA *label);
1244Esys_RSA_Decrypt_Finish(
1246 TPM2B_PUBLIC_KEY_RSA **message);
1257 TPM2B_ECC_POINT **zPoint,
1258 TPM2B_ECC_POINT **pubPoint);
1261Esys_ECDH_KeyGen_Async(
1269Esys_ECDH_KeyGen_Finish(
1271 TPM2B_ECC_POINT **zPoint,
1272 TPM2B_ECC_POINT **pubPoint);
1283 const TPM2B_ECC_POINT *inPoint,
1284 TPM2B_ECC_POINT **outPoint);
1287Esys_ECDH_ZGen_Async(
1293 const TPM2B_ECC_POINT *inPoint);
1296Esys_ECDH_ZGen_Finish(
1298 TPM2B_ECC_POINT **outPoint);
1308 TPMI_ECC_CURVE curveID,
1309 TPMS_ALGORITHM_DETAIL_ECC **parameters);
1312Esys_ECC_Parameters_Async(
1317 TPMI_ECC_CURVE curveID);
1320Esys_ECC_Parameters_Finish(
1322 TPMS_ALGORITHM_DETAIL_ECC **parameters);
1333 const TPM2B_ECC_POINT *inQsB,
1334 const TPM2B_ECC_POINT *inQeB,
1335 TPMI_ECC_KEY_EXCHANGE inScheme,
1337 TPM2B_ECC_POINT **outZ1,
1338 TPM2B_ECC_POINT **outZ2);
1341Esys_ZGen_2Phase_Async(
1347 const TPM2B_ECC_POINT *inQsB,
1348 const TPM2B_ECC_POINT *inQeB,
1349 TPMI_ECC_KEY_EXCHANGE inScheme,
1353Esys_ZGen_2Phase_Finish(
1355 TPM2B_ECC_POINT **outZ1,
1356 TPM2B_ECC_POINT **outZ2);
1367 TPMI_YES_NO decrypt,
1368 TPMI_ALG_CIPHER_MODE mode,
1369 const TPM2B_IV *ivIn,
1370 const TPM2B_MAX_BUFFER *inData,
1371 TPM2B_MAX_BUFFER **outData,
1375Esys_EncryptDecrypt_Async(
1381 TPMI_YES_NO decrypt,
1382 TPMI_ALG_CIPHER_MODE mode,
1383 const TPM2B_IV *ivIn,
1384 const TPM2B_MAX_BUFFER *inData);
1387Esys_EncryptDecrypt_Finish(
1389 TPM2B_MAX_BUFFER **outData,
1395Esys_EncryptDecrypt2(
1401 const TPM2B_MAX_BUFFER *inData,
1402 TPMI_YES_NO decrypt,
1403 TPMI_ALG_CIPHER_MODE mode,
1404 const TPM2B_IV *ivIn,
1405 TPM2B_MAX_BUFFER **outData,
1409Esys_EncryptDecrypt2_Async(
1415 const TPM2B_MAX_BUFFER *inData,
1416 TPMI_YES_NO decrypt,
1417 TPMI_ALG_CIPHER_MODE mode,
1418 const TPM2B_IV *ivIn);
1421Esys_EncryptDecrypt2_Finish(
1423 TPM2B_MAX_BUFFER **outData,
1434 const TPM2B_MAX_BUFFER *data,
1435 TPMI_ALG_HASH hashAlg,
1437 TPM2B_DIGEST **outHash,
1438 TPMT_TK_HASHCHECK **validation);
1446 const TPM2B_MAX_BUFFER *data,
1447 TPMI_ALG_HASH hashAlg,
1453 TPM2B_DIGEST **outHash,
1454 TPMT_TK_HASHCHECK **validation);
1465 const TPM2B_MAX_BUFFER *buffer,
1466 TPMI_ALG_HASH hashAlg,
1467 TPM2B_DIGEST **outHMAC);
1476 const TPM2B_MAX_BUFFER *buffer,
1477 TPMI_ALG_HASH hashAlg);
1482 TPM2B_DIGEST **outHMAC);
1488 ESYS_TR handleSession1,
1489 ESYS_TR optionalSession2,
1490 ESYS_TR optionalSession3,
1491 const TPM2B_MAX_BUFFER *buffer,
1492 TPMI_ALG_MAC_SCHEME inScheme);
1497 TPM2B_DIGEST **outMAC);
1503 ESYS_TR handleSession1,
1504 ESYS_TR optionalSession2,
1505 ESYS_TR optionalSession3,
1506 const TPM2B_MAX_BUFFER *buffer,
1507 TPMI_ALG_MAC_SCHEME inScheme,
1508 TPM2B_DIGEST **outMAC);
1518 UINT16 bytesRequested,
1519 TPM2B_DIGEST **randomBytes);
1522Esys_GetRandom_Async(
1527 UINT16 bytesRequested);
1530Esys_GetRandom_Finish(
1532 TPM2B_DIGEST **randomBytes);
1542 const TPM2B_SENSITIVE_DATA *inData);
1545Esys_StirRandom_Async(
1550 const TPM2B_SENSITIVE_DATA *inData);
1553Esys_StirRandom_Finish(
1565 const TPM2B_AUTH *auth,
1566 TPMI_ALG_HASH hashAlg,
1567 ESYS_TR *sequenceHandle);
1570Esys_HMAC_Start_Async(
1576 const TPM2B_AUTH *auth,
1577 TPMI_ALG_HASH hashAlg);
1580Esys_HMAC_Start_Finish(
1582 ESYS_TR *sequenceHandle);
1588 ESYS_TR handleSession1,
1589 ESYS_TR optionalSession2,
1590 ESYS_TR optionalSession3,
1591 const TPM2B_AUTH *auth,
1592 TPMI_ALG_MAC_SCHEME inScheme,
1593 ESYS_TR *sequenceHandle);
1596Esys_MAC_Start_Async(
1599 ESYS_TR handleSession1,
1600 ESYS_TR optionalSession2,
1601 ESYS_TR optionalSession3,
1602 const TPM2B_AUTH *auth,
1603 TPMI_ALG_MAC_SCHEME inScheme);
1606Esys_MAC_Start_Finish(
1608 ESYS_TR *sequenceHandle);
1613Esys_HashSequenceStart(
1618 const TPM2B_AUTH *auth,
1619 TPMI_ALG_HASH hashAlg,
1620 ESYS_TR *sequenceHandle);
1623Esys_HashSequenceStart_Async(
1628 const TPM2B_AUTH *auth,
1629 TPMI_ALG_HASH hashAlg);
1632Esys_HashSequenceStart_Finish(
1634 ESYS_TR *sequenceHandle);
1641 ESYS_TR sequenceHandle,
1645 const TPM2B_MAX_BUFFER *buffer);
1648Esys_SequenceUpdate_Async(
1650 ESYS_TR sequenceHandle,
1654 const TPM2B_MAX_BUFFER *buffer);
1657Esys_SequenceUpdate_Finish(
1663Esys_SequenceComplete(
1665 ESYS_TR sequenceHandle,
1669 const TPM2B_MAX_BUFFER *buffer,
1671 TPM2B_DIGEST **result,
1672 TPMT_TK_HASHCHECK **validation);
1675Esys_SequenceComplete_Async(
1677 ESYS_TR sequenceHandle,
1681 const TPM2B_MAX_BUFFER *buffer,
1685Esys_SequenceComplete_Finish(
1687 TPM2B_DIGEST **result,
1688 TPMT_TK_HASHCHECK **validation);
1693Esys_EventSequenceComplete(
1696 ESYS_TR sequenceHandle,
1700 const TPM2B_MAX_BUFFER *buffer,
1701 TPML_DIGEST_VALUES **results);
1704Esys_EventSequenceComplete_Async(
1707 ESYS_TR sequenceHandle,
1711 const TPM2B_MAX_BUFFER *buffer);
1714Esys_EventSequenceComplete_Finish(
1716 TPML_DIGEST_VALUES **results);
1723 ESYS_TR objectHandle,
1728 const TPM2B_DATA *qualifyingData,
1729 const TPMT_SIG_SCHEME *inScheme,
1730 TPM2B_ATTEST **certifyInfo,
1731 TPMT_SIGNATURE **signature);
1736 ESYS_TR objectHandle,
1741 const TPM2B_DATA *qualifyingData,
1742 const TPMT_SIG_SCHEME *inScheme);
1747 TPM2B_ATTEST **certifyInfo,
1748 TPMT_SIGNATURE **signature);
1753Esys_CertifyCreation(
1756 ESYS_TR objectHandle,
1760 const TPM2B_DATA *qualifyingData,
1761 const TPM2B_DIGEST *creationHash,
1762 const TPMT_SIG_SCHEME *inScheme,
1763 const TPMT_TK_CREATION *creationTicket,
1764 TPM2B_ATTEST **certifyInfo,
1765 TPMT_SIGNATURE **signature);
1768Esys_CertifyCreation_Async(
1771 ESYS_TR objectHandle,
1775 const TPM2B_DATA *qualifyingData,
1776 const TPM2B_DIGEST *creationHash,
1777 const TPMT_SIG_SCHEME *inScheme,
1778 const TPMT_TK_CREATION *creationTicket);
1781Esys_CertifyCreation_Finish(
1783 TPM2B_ATTEST **certifyInfo,
1784 TPMT_SIGNATURE **signature);
1789 ESYS_TR objectHandle,
1794 const TPM2B_DATA *reserved,
1795 const TPMT_SIG_SCHEME *inScheme,
1796 const TPM2B_MAX_BUFFER *partialCertificate,
1797 TPM2B_MAX_BUFFER **addedToCertificate,
1798 TPM2B_DIGEST **tbsDigest,
1799 TPMT_SIGNATURE **signature);
1802Esys_CertifyX509_Async(
1804 ESYS_TR objectHandle,
1809 const TPM2B_DATA *reserved,
1810 const TPMT_SIG_SCHEME *inScheme,
1811 const TPM2B_MAX_BUFFER *partialCertificate);
1814Esys_CertifyX509_Finish(
1816 TPM2B_MAX_BUFFER **addedToCertificate,
1817 TPM2B_DIGEST **tbsDigest,
1818 TPMT_SIGNATURE **signature);
1829 const TPM2B_DATA *qualifyingData,
1830 const TPMT_SIG_SCHEME *inScheme,
1831 const TPML_PCR_SELECTION *PCRselect,
1832 TPM2B_ATTEST **quoted,
1833 TPMT_SIGNATURE **signature);
1842 const TPM2B_DATA *qualifyingData,
1843 const TPMT_SIG_SCHEME *inScheme,
1844 const TPML_PCR_SELECTION *PCRselect);
1849 TPM2B_ATTEST **quoted,
1850 TPMT_SIGNATURE **signature);
1855Esys_GetSessionAuditDigest(
1857 ESYS_TR privacyAdminHandle,
1859 ESYS_TR sessionHandle,
1863 const TPM2B_DATA *qualifyingData,
1864 const TPMT_SIG_SCHEME *inScheme,
1865 TPM2B_ATTEST **auditInfo,
1866 TPMT_SIGNATURE **signature);
1869Esys_GetSessionAuditDigest_Async(
1871 ESYS_TR privacyAdminHandle,
1873 ESYS_TR sessionHandle,
1877 const TPM2B_DATA *qualifyingData,
1878 const TPMT_SIG_SCHEME *inScheme);
1881Esys_GetSessionAuditDigest_Finish(
1883 TPM2B_ATTEST **auditInfo,
1884 TPMT_SIGNATURE **signature);
1889Esys_GetCommandAuditDigest(
1891 ESYS_TR privacyHandle,
1896 const TPM2B_DATA *qualifyingData,
1897 const TPMT_SIG_SCHEME *inScheme,
1898 TPM2B_ATTEST **auditInfo,
1899 TPMT_SIGNATURE **signature);
1902Esys_GetCommandAuditDigest_Async(
1904 ESYS_TR privacyHandle,
1909 const TPM2B_DATA *qualifyingData,
1910 const TPMT_SIG_SCHEME *inScheme);
1913Esys_GetCommandAuditDigest_Finish(
1915 TPM2B_ATTEST **auditInfo,
1916 TPMT_SIGNATURE **signature);
1923 ESYS_TR privacyAdminHandle,
1928 const TPM2B_DATA *qualifyingData,
1929 const TPMT_SIG_SCHEME *inScheme,
1930 TPM2B_ATTEST **timeInfo,
1931 TPMT_SIGNATURE **signature);
1936 ESYS_TR privacyAdminHandle,
1941 const TPM2B_DATA *qualifyingData,
1942 const TPMT_SIG_SCHEME *inScheme);
1947 TPM2B_ATTEST **timeInfo,
1948 TPMT_SIGNATURE **signature);
1959 const TPM2B_ECC_POINT *P1,
1960 const TPM2B_SENSITIVE_DATA *s2,
1961 const TPM2B_ECC_PARAMETER *y2,
1962 TPM2B_ECC_POINT **K,
1963 TPM2B_ECC_POINT **L,
1964 TPM2B_ECC_POINT **E,
1974 const TPM2B_ECC_POINT *P1,
1975 const TPM2B_SENSITIVE_DATA *s2,
1976 const TPM2B_ECC_PARAMETER *y2);
1981 TPM2B_ECC_POINT **K,
1982 TPM2B_ECC_POINT **L,
1983 TPM2B_ECC_POINT **E,
1994 TPMI_ECC_CURVE curveID,
1995 TPM2B_ECC_POINT **Q,
1999Esys_EC_Ephemeral_Async(
2004 TPMI_ECC_CURVE curveID);
2007Esys_EC_Ephemeral_Finish(
2009 TPM2B_ECC_POINT **Q,
2015Esys_VerifySignature(
2021 const TPM2B_DIGEST *digest,
2022 const TPMT_SIGNATURE *signature,
2023 TPMT_TK_VERIFIED **validation);
2026Esys_VerifySignature_Async(
2032 const TPM2B_DIGEST *digest,
2033 const TPMT_SIGNATURE *signature);
2036Esys_VerifySignature_Finish(
2038 TPMT_TK_VERIFIED **validation);
2049 const TPM2B_DIGEST *digest,
2050 const TPMT_SIG_SCHEME *inScheme,
2051 const TPMT_TK_HASHCHECK *validation,
2052 TPMT_SIGNATURE **signature);
2061 const TPM2B_DIGEST *digest,
2062 const TPMT_SIG_SCHEME *inScheme,
2063 const TPMT_TK_HASHCHECK *validation);
2068 TPMT_SIGNATURE **signature);
2073Esys_SetCommandCodeAuditStatus(
2079 TPMI_ALG_HASH auditAlg,
2080 const TPML_CC *setList,
2081 const TPML_CC *clearList);
2084Esys_SetCommandCodeAuditStatus_Async(
2090 TPMI_ALG_HASH auditAlg,
2091 const TPML_CC *setList,
2092 const TPML_CC *clearList);
2095Esys_SetCommandCodeAuditStatus_Finish(
2107 const TPML_DIGEST_VALUES *digests);
2110Esys_PCR_Extend_Async(
2116 const TPML_DIGEST_VALUES *digests);
2119Esys_PCR_Extend_Finish(
2131 const TPM2B_EVENT *eventData,
2132 TPML_DIGEST_VALUES **digests);
2135Esys_PCR_Event_Async(
2141 const TPM2B_EVENT *eventData);
2144Esys_PCR_Event_Finish(
2146 TPML_DIGEST_VALUES **digests);
2156 const TPML_PCR_SELECTION *pcrSelectionIn,
2157 UINT32 *pcrUpdateCounter,
2158 TPML_PCR_SELECTION **pcrSelectionOut,
2159 TPML_DIGEST **pcrValues);
2167 const TPML_PCR_SELECTION *pcrSelectionIn);
2170Esys_PCR_Read_Finish(
2172 UINT32 *pcrUpdateCounter,
2173 TPML_PCR_SELECTION **pcrSelectionOut,
2174 TPML_DIGEST **pcrValues);
2185 const TPML_PCR_SELECTION *pcrAllocation,
2186 TPMI_YES_NO *allocationSuccess,
2189 UINT32 *sizeAvailable);
2192Esys_PCR_Allocate_Async(
2198 const TPML_PCR_SELECTION *pcrAllocation);
2201Esys_PCR_Allocate_Finish(
2203 TPMI_YES_NO *allocationSuccess,
2206 UINT32 *sizeAvailable);
2211Esys_PCR_SetAuthPolicy(
2217 const TPM2B_DIGEST *authPolicy,
2218 TPMI_ALG_HASH hashAlg,
2219 TPMI_DH_PCR pcrNum);
2222Esys_PCR_SetAuthPolicy_Async(
2228 const TPM2B_DIGEST *authPolicy,
2229 TPMI_ALG_HASH hashAlg,
2230 TPMI_DH_PCR pcrNum);
2233Esys_PCR_SetAuthPolicy_Finish(
2239Esys_PCR_SetAuthValue(
2245 const TPM2B_DIGEST *auth);
2248Esys_PCR_SetAuthValue_Async(
2254 const TPM2B_DIGEST *auth);
2257Esys_PCR_SetAuthValue_Finish(
2271Esys_PCR_Reset_Async(
2279Esys_PCR_Reset_Finish(
2288 ESYS_TR policySession,
2292 const TPM2B_NONCE *nonceTPM,
2293 const TPM2B_DIGEST *cpHashA,
2294 const TPM2B_NONCE *policyRef,
2296 const TPMT_SIGNATURE *auth,
2297 TPM2B_TIMEOUT **timeout,
2298 TPMT_TK_AUTH **policyTicket);
2301Esys_PolicySigned_Async(
2304 ESYS_TR policySession,
2308 const TPM2B_NONCE *nonceTPM,
2309 const TPM2B_DIGEST *cpHashA,
2310 const TPM2B_NONCE *policyRef,
2312 const TPMT_SIGNATURE *auth);
2315Esys_PolicySigned_Finish(
2317 TPM2B_TIMEOUT **timeout,
2318 TPMT_TK_AUTH **policyTicket);
2326 ESYS_TR policySession,
2330 const TPM2B_NONCE *nonceTPM,
2331 const TPM2B_DIGEST *cpHashA,
2332 const TPM2B_NONCE *policyRef,
2334 TPM2B_TIMEOUT **timeout,
2335 TPMT_TK_AUTH **policyTicket);
2338Esys_PolicySecret_Async(
2341 ESYS_TR policySession,
2345 const TPM2B_NONCE *nonceTPM,
2346 const TPM2B_DIGEST *cpHashA,
2347 const TPM2B_NONCE *policyRef,
2351Esys_PolicySecret_Finish(
2353 TPM2B_TIMEOUT **timeout,
2354 TPMT_TK_AUTH **policyTicket);
2361 ESYS_TR policySession,
2365 const TPM2B_TIMEOUT *timeout,
2366 const TPM2B_DIGEST *cpHashA,
2367 const TPM2B_NONCE *policyRef,
2368 const TPM2B_NAME *authName,
2369 const TPMT_TK_AUTH *ticket);
2372Esys_PolicyTicket_Async(
2374 ESYS_TR policySession,
2378 const TPM2B_TIMEOUT *timeout,
2379 const TPM2B_DIGEST *cpHashA,
2380 const TPM2B_NONCE *policyRef,
2381 const TPM2B_NAME *authName,
2382 const TPMT_TK_AUTH *ticket);
2385Esys_PolicyTicket_Finish(
2393 ESYS_TR policySession,
2397 const TPML_DIGEST *pHashList);
2402 ESYS_TR policySession,
2406 const TPML_DIGEST *pHashList);
2409Esys_PolicyOR_Finish(
2417 ESYS_TR policySession,
2421 const TPM2B_DIGEST *pcrDigest,
2422 const TPML_PCR_SELECTION *pcrs);
2425Esys_PolicyPCR_Async(
2427 ESYS_TR policySession,
2431 const TPM2B_DIGEST *pcrDigest,
2432 const TPML_PCR_SELECTION *pcrs);
2435Esys_PolicyPCR_Finish(
2443 ESYS_TR policySession,
2447 TPMA_LOCALITY locality);
2450Esys_PolicyLocality_Async(
2452 ESYS_TR policySession,
2456 TPMA_LOCALITY locality);
2459Esys_PolicyLocality_Finish(
2469 ESYS_TR policySession,
2473 const TPM2B_OPERAND *operandB,
2482 ESYS_TR policySession,
2486 const TPM2B_OPERAND *operandB,
2491Esys_PolicyNV_Finish(
2497Esys_PolicyCounterTimer(
2499 ESYS_TR policySession,
2503 const TPM2B_OPERAND *operandB,
2508Esys_PolicyCounterTimer_Async(
2510 ESYS_TR policySession,
2514 const TPM2B_OPERAND *operandB,
2519Esys_PolicyCounterTimer_Finish(
2525Esys_PolicyCommandCode(
2527 ESYS_TR policySession,
2534Esys_PolicyCommandCode_Async(
2536 ESYS_TR policySession,
2543Esys_PolicyCommandCode_Finish(
2549Esys_PolicyPhysicalPresence(
2551 ESYS_TR policySession,
2557Esys_PolicyPhysicalPresence_Async(
2559 ESYS_TR policySession,
2565Esys_PolicyPhysicalPresence_Finish(
2573 ESYS_TR policySession,
2577 const TPM2B_DIGEST *cpHashA);
2580Esys_PolicyCpHash_Async(
2582 ESYS_TR policySession,
2586 const TPM2B_DIGEST *cpHashA);
2589Esys_PolicyCpHash_Finish(
2597 ESYS_TR policySession,
2601 const TPM2B_DIGEST *nameHash);
2604Esys_PolicyNameHash_Async(
2606 ESYS_TR policySession,
2610 const TPM2B_DIGEST *nameHash);
2613Esys_PolicyNameHash_Finish(
2619Esys_PolicyDuplicationSelect(
2621 ESYS_TR policySession,
2625 const TPM2B_NAME *objectName,
2626 const TPM2B_NAME *newParentName,
2627 TPMI_YES_NO includeObject);
2630Esys_PolicyDuplicationSelect_Async(
2632 ESYS_TR policySession,
2636 const TPM2B_NAME *objectName,
2637 const TPM2B_NAME *newParentName,
2638 TPMI_YES_NO includeObject);
2641Esys_PolicyDuplicationSelect_Finish(
2647Esys_PolicyAuthorize(
2649 ESYS_TR policySession,
2653 const TPM2B_DIGEST *approvedPolicy,
2654 const TPM2B_NONCE *policyRef,
2655 const TPM2B_NAME *keySign,
2656 const TPMT_TK_VERIFIED *checkTicket);
2659Esys_PolicyAuthorize_Async(
2661 ESYS_TR policySession,
2665 const TPM2B_DIGEST *approvedPolicy,
2666 const TPM2B_NONCE *policyRef,
2667 const TPM2B_NAME *keySign,
2668 const TPMT_TK_VERIFIED *checkTicket);
2671Esys_PolicyAuthorize_Finish(
2677Esys_PolicyAuthValue(
2679 ESYS_TR policySession,
2685Esys_PolicyAuthValue_Async(
2687 ESYS_TR policySession,
2693Esys_PolicyAuthValue_Finish(
2701 ESYS_TR policySession,
2707Esys_PolicyPassword_Async(
2709 ESYS_TR policySession,
2715Esys_PolicyPassword_Finish(
2721Esys_PolicyGetDigest(
2723 ESYS_TR policySession,
2727 TPM2B_DIGEST **policyDigest);
2730Esys_PolicyGetDigest_Async(
2732 ESYS_TR policySession,
2738Esys_PolicyGetDigest_Finish(
2740 TPM2B_DIGEST **policyDigest);
2745Esys_PolicyNvWritten(
2747 ESYS_TR policySession,
2751 TPMI_YES_NO writtenSet);
2754Esys_PolicyNvWritten_Async(
2756 ESYS_TR policySession,
2760 TPMI_YES_NO writtenSet);
2763Esys_PolicyNvWritten_Finish(
2771 ESYS_TR policySession,
2775 const TPM2B_DIGEST *templateHash);
2778Esys_PolicyTemplate_Async(
2780 ESYS_TR policySession,
2784 const TPM2B_DIGEST *templateHash);
2787Esys_PolicyTemplate_Finish(
2793Esys_PolicyAuthorizeNV(
2797 ESYS_TR policySession,
2803Esys_PolicyAuthorizeNV_Async(
2807 ESYS_TR policySession,
2813Esys_PolicyAuthorizeNV_Finish(
2821 ESYS_TR primaryHandle,
2825 const TPM2B_SENSITIVE_CREATE *inSensitive,
2826 const TPM2B_PUBLIC *inPublic,
2827 const TPM2B_DATA *outsideInfo,
2828 const TPML_PCR_SELECTION *creationPCR,
2829 ESYS_TR *objectHandle,
2830 TPM2B_PUBLIC **outPublic,
2831 TPM2B_CREATION_DATA **creationData,
2832 TPM2B_DIGEST **creationHash,
2833 TPMT_TK_CREATION **creationTicket);
2836Esys_CreatePrimary_Async(
2838 ESYS_TR primaryHandle,
2842 const TPM2B_SENSITIVE_CREATE *inSensitive,
2843 const TPM2B_PUBLIC *inPublic,
2844 const TPM2B_DATA *outsideInfo,
2845 const TPML_PCR_SELECTION *creationPCR);
2848Esys_CreatePrimary_Finish(
2850 ESYS_TR *objectHandle,
2851 TPM2B_PUBLIC **outPublic,
2852 TPM2B_CREATION_DATA **creationData,
2853 TPM2B_DIGEST **creationHash,
2854 TPMT_TK_CREATION **creationTicket);
2859Esys_HierarchyControl(
2869Esys_HierarchyControl_Async(
2879Esys_HierarchyControl_Finish(
2885Esys_SetPrimaryPolicy(
2891 const TPM2B_DIGEST *authPolicy,
2892 TPMI_ALG_HASH hashAlg);
2895Esys_SetPrimaryPolicy_Async(
2901 const TPM2B_DIGEST *authPolicy,
2902 TPMI_ALG_HASH hashAlg);
2905Esys_SetPrimaryPolicy_Finish(
2919Esys_ChangePPS_Async(
2927Esys_ChangePPS_Finish(
2941Esys_ChangeEPS_Async(
2949Esys_ChangeEPS_Finish(
2983 TPMI_YES_NO disable);
2986Esys_ClearControl_Async(
2992 TPMI_YES_NO disable);
2995Esys_ClearControl_Finish(
3001Esys_HierarchyChangeAuth(
3007 const TPM2B_AUTH *newAuth);
3010Esys_HierarchyChangeAuth_Async(
3016 const TPM2B_AUTH *newAuth);
3019Esys_HierarchyChangeAuth_Finish(
3025Esys_DictionaryAttackLockReset(
3033Esys_DictionaryAttackLockReset_Async(
3041Esys_DictionaryAttackLockReset_Finish(
3047Esys_DictionaryAttackParameters(
3054 UINT32 newRecoveryTime,
3055 UINT32 lockoutRecovery);
3058Esys_DictionaryAttackParameters_Async(
3065 UINT32 newRecoveryTime,
3066 UINT32 lockoutRecovery);
3069Esys_DictionaryAttackParameters_Finish(
3081 const TPML_CC *setList,
3082 const TPML_CC *clearList);
3085Esys_PP_Commands_Async(
3091 const TPML_CC *setList,
3092 const TPML_CC *clearList);
3095Esys_PP_Commands_Finish(
3101Esys_SetAlgorithmSet(
3107 UINT32 algorithmSet);
3110Esys_SetAlgorithmSet_Async(
3116 UINT32 algorithmSet);
3119Esys_SetAlgorithmSet_Finish(
3125Esys_FieldUpgradeStart(
3127 ESYS_TR authorization,
3132 const TPM2B_DIGEST *fuDigest,
3133 const TPMT_SIGNATURE *manifestSignature);
3136Esys_FieldUpgradeStart_Async(
3138 ESYS_TR authorization,
3143 const TPM2B_DIGEST *fuDigest,
3144 const TPMT_SIGNATURE *manifestSignature);
3147Esys_FieldUpgradeStart_Finish(
3153Esys_FieldUpgradeData(
3158 const TPM2B_MAX_BUFFER *fuData,
3159 TPMT_HA **nextDigest,
3160 TPMT_HA **firstDigest);
3163Esys_FieldUpgradeData_Async(
3168 const TPM2B_MAX_BUFFER *fuData);
3171Esys_FieldUpgradeData_Finish(
3173 TPMT_HA **nextDigest,
3174 TPMT_HA **firstDigest);
3184 UINT32 sequenceNumber,
3185 TPM2B_MAX_BUFFER **fuData);
3188Esys_FirmwareRead_Async(
3193 UINT32 sequenceNumber);
3196Esys_FirmwareRead_Finish(
3198 TPM2B_MAX_BUFFER **fuData);
3206 TPMS_CONTEXT **context);
3209Esys_ContextSave_Async(
3211 ESYS_TR saveHandle);
3214Esys_ContextSave_Finish(
3216 TPMS_CONTEXT **context);
3223 const TPMS_CONTEXT *context,
3224 ESYS_TR *loadedHandle);
3227Esys_ContextLoad_Async(
3229 const TPMS_CONTEXT *context);
3232Esys_ContextLoad_Finish(
3234 ESYS_TR *loadedHandle);
3241 ESYS_TR flushHandle);
3244Esys_FlushContext_Async(
3246 ESYS_TR flushHandle);
3249Esys_FlushContext_Finish(
3258 ESYS_TR objectHandle,
3262 TPMI_DH_PERSISTENT persistentHandle,
3263 ESYS_TR *newObjectHandle);
3266Esys_EvictControl_Async(
3269 ESYS_TR objectHandle,
3273 TPMI_DH_PERSISTENT persistentHandle);
3276Esys_EvictControl_Finish(
3278 ESYS_TR *newObjectHandle);
3288 TPMS_TIME_INFO **currentTime);
3291Esys_ReadClock_Async(
3298Esys_ReadClock_Finish(
3300 TPMS_TIME_INFO **currentTime);
3323Esys_ClockSet_Finish(
3329Esys_ClockRateAdjust(
3335 TPM2_CLOCK_ADJUST rateAdjust);
3338Esys_ClockRateAdjust_Async(
3344 TPM2_CLOCK_ADJUST rateAdjust);
3347Esys_ClockRateAdjust_Finish(
3358 TPM2_CAP capability,
3360 UINT32 propertyCount,
3361 TPMI_YES_NO *moreData,
3362 TPMS_CAPABILITY_DATA **capabilityData);
3365Esys_GetCapability_Async(
3370 TPM2_CAP capability,
3372 UINT32 propertyCount);
3375Esys_GetCapability_Finish(
3377 TPMI_YES_NO *moreData,
3378 TPMS_CAPABILITY_DATA **capabilityData);
3388 const TPMT_PUBLIC_PARMS *parameters);
3391Esys_TestParms_Async(
3396 const TPMT_PUBLIC_PARMS *parameters);
3399Esys_TestParms_Finish(
3411 const TPM2B_AUTH *auth,
3412 const TPM2B_NV_PUBLIC *publicInfo,
3416Esys_NV_DefineSpace_Async(
3422 const TPM2B_AUTH *auth,
3423 const TPM2B_NV_PUBLIC *publicInfo);
3426Esys_NV_DefineSpace_Finish(
3433Esys_NV_UndefineSpace(
3442Esys_NV_UndefineSpace_Async(
3451Esys_NV_UndefineSpace_Finish(
3457Esys_NV_UndefineSpaceSpecial(
3466Esys_NV_UndefineSpaceSpecial_Async(
3475Esys_NV_UndefineSpaceSpecial_Finish(
3487 TPM2B_NV_PUBLIC **nvPublic,
3488 TPM2B_NAME **nvName);
3491Esys_NV_ReadPublic_Async(
3499Esys_NV_ReadPublic_Finish(
3501 TPM2B_NV_PUBLIC **nvPublic,
3502 TPM2B_NAME **nvName);
3514 const TPM2B_MAX_NV_BUFFER *data,
3525 const TPM2B_MAX_NV_BUFFER *data,
3529Esys_NV_Write_Finish(
3544Esys_NV_Increment_Async(
3553Esys_NV_Increment_Finish(
3566 const TPM2B_MAX_NV_BUFFER *data);
3569Esys_NV_Extend_Async(
3576 const TPM2B_MAX_NV_BUFFER *data);
3579Esys_NV_Extend_Finish(
3595Esys_NV_SetBits_Async(
3605Esys_NV_SetBits_Finish(
3620Esys_NV_WriteLock_Async(
3629Esys_NV_WriteLock_Finish(
3635Esys_NV_GlobalWriteLock(
3643Esys_NV_GlobalWriteLock_Async(
3651Esys_NV_GlobalWriteLock_Finish(
3666 TPM2B_MAX_NV_BUFFER **data);
3682 TPM2B_MAX_NV_BUFFER **data);
3696Esys_NV_ReadLock_Async(
3705Esys_NV_ReadLock_Finish(
3717 const TPM2B_AUTH *newAuth);
3720Esys_NV_ChangeAuth_Async(
3726 const TPM2B_AUTH *newAuth);
3729Esys_NV_ChangeAuth_Finish(
3743 const TPM2B_DATA *qualifyingData,
3744 const TPMT_SIG_SCHEME *inScheme,
3747 TPM2B_ATTEST **certifyInfo,
3748 TPMT_SIGNATURE **signature);
3751Esys_NV_Certify_Async(
3759 const TPM2B_DATA *qualifyingData,
3760 const TPMT_SIG_SCHEME *inScheme,
3765Esys_NV_Certify_Finish(
3767 TPM2B_ATTEST **certifyInfo,
3768 TPMT_SIGNATURE **signature);
3773Esys_Vendor_TCG_Test(
3778 const TPM2B_DATA *inputData,
3779 TPM2B_DATA **outputData);
3782Esys_Vendor_TCG_Test_Async(
3787 const TPM2B_DATA *inputData);
3790Esys_Vendor_TCG_Test_Finish(
3792 TPM2B_DATA **outputData);
3804 TSS2_SYS_CONTEXT **sys_context);
3807Esys_SetCryptoCallbacks(
Definition esys_int.h:162
Definition tss2_esys.h:416
Definition esys_crypto_mbed.c:34