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
61#define ESYS_TR_RH_AUTH_FIRST 0x110U
62#define ESYS_TR_RH_AUTH(x) (ESYS_TR_RH_AUTH_FIRST + (ESYS_TR)(x))
63#define ESYS_TR_RH_ACT_FIRST 0x120U
64#define ESYS_TR_RH_ACT(x) (ESYS_TR_RH_ACT_FIRST + (ESYS_TR)(x))
65#define ESYS_TR_RH_ACT_0 ESYS_TR_RH_ACT_FIRST
66#define ESYS_TR_RH_ACT_1 0x121U
67#define ESYS_TR_RH_ACT_2 0x122U
68#define ESYS_TR_RH_ACT_3 0x123U
69#define ESYS_TR_RH_ACT_4 0x124U
70#define ESYS_TR_RH_ACT_5 0x125U
71#define ESYS_TR_RH_ACT_6 0x126U
72#define ESYS_TR_RH_ACT_7 0x127U
73#define ESYS_TR_RH_ACT_8 0x128U
74#define ESYS_TR_RH_ACT_9 0x129U
75#define ESYS_TR_RH_ACT_A 0x12AU
76#define ESYS_TR_RH_ACT_B 0x12BU
77#define ESYS_TR_RH_ACT_C 0x12CU
78#define ESYS_TR_RH_ACT_D 0x12DU
79#define ESYS_TR_RH_ACT_E 0x12EU
80#define ESYS_TR_RH_ACT_F 0x12FU
81#define ESYS_TR_RH_ACT_LAST ESYS_TR_RH_ACT_F
82#define ESYS_TR_RH_AC_FIRST 0x140U
83#define ESYS_TR_RH_AC(x) (ESYS_TR_RH_AC_FIRST + (ESYS_TR)(x))
84#define ESYS_TR_RH_AC_LAST (ESYS_TR_RH_AC_FIRST + 0xFFFFU)
104 (*ESYS_CRYPTO_HASH_START_FNP)(
121 (*ESYS_CRYPTO_HASH_UPDATE_FNP)(
123 const uint8_t *buffer,
139 (*ESYS_CRYPTO_HASH_FINISH_FNP)(
152 (*ESYS_CRYPTO_HASH_ABORT_FNP)(
169 (*ESYS_CRYPTO_HMAC_START_FNP)(
188 (*ESYS_CRYPTO_HMAC_UPDATE_FNP)(
190 const uint8_t *buffer,
206 (*ESYS_CRYPTO_HMAC_FINISH_FNP)(
219 (*ESYS_CRYPTO_HMAC_ABORT_FNP)(
234 (*ESYS_CRYPTO_GET_RANDOM2B_FNP)(
257 (*ESYS_CRYPTO_GET_ECDH_POINT_FNP)(
260 TPM2B_ECC_PARAMETER *Z,
282 (*ESYS_CRYPTO_AES_ENCRYPT_FNP)(
284 TPM2_ALG_ID tpm_sym_alg,
285 TPMI_AES_KEY_BITS key_bits,
286 TPM2_ALG_ID tpm_mode,
308 (*ESYS_CRYPTO_AES_DECRYPT_FNP)(
310 TPM2_ALG_ID tpm_sym_alg,
311 TPMI_AES_KEY_BITS key_bits,
312 TPM2_ALG_ID tpm_mode,
334 (*ESYS_CRYPTO_SM4_ENCRYPT_FNP)(
336 TPM2_ALG_ID tpm_sym_alg,
337 TPMI_SM4_KEY_BITS key_bits,
338 TPM2_ALG_ID tpm_mode,
360 (*ESYS_CRYPTO_SM4_DECRYPT_FNP)(
362 TPM2_ALG_ID tpm_sym_alg,
363 TPMI_SM4_KEY_BITS key_bits,
364 TPM2_ALG_ID tpm_mode,
386 (*ESYS_CRYPTO_PK_RSA_ENCRYPT_FNP)(
387 TPM2B_PUBLIC * pub_tpm_key,
405typedef TSS2_RC (*ESYS_CRYPTO_INIT_FNP)(
void *userdata);
409 ESYS_CRYPTO_PK_RSA_ENCRYPT_FNP rsa_pk_encrypt;
410 ESYS_CRYPTO_HASH_START_FNP hash_start;
411 ESYS_CRYPTO_HASH_UPDATE_FNP hash_update;
412 ESYS_CRYPTO_HASH_FINISH_FNP hash_finish;
413 ESYS_CRYPTO_HASH_ABORT_FNP hash_abort;
414 ESYS_CRYPTO_HMAC_START_FNP hmac_start;
415 ESYS_CRYPTO_HMAC_UPDATE_FNP hmac_update;
416 ESYS_CRYPTO_HMAC_FINISH_FNP hmac_finish;
417 ESYS_CRYPTO_HMAC_ABORT_FNP hmac_abort;
418 ESYS_CRYPTO_GET_RANDOM2B_FNP get_random2b;
419 ESYS_CRYPTO_GET_ECDH_POINT_FNP get_ecdh_point;
420 ESYS_CRYPTO_AES_ENCRYPT_FNP aes_encrypt;
421 ESYS_CRYPTO_AES_DECRYPT_FNP aes_decrypt;
422 ESYS_CRYPTO_SM4_ENCRYPT_FNP sm4_encrypt;
423 ESYS_CRYPTO_SM4_DECRYPT_FNP sm4_decrypt;
424 ESYS_CRYPTO_INIT_FNP init;
435 TSS2_TCTI_CONTEXT *tcti,
436 TSS2_ABI_VERSION *abiVersion);
445 TSS2_TCTI_CONTEXT **tcti);
450 TSS2_TCTI_POLL_HANDLE **handles,
463 size_t *buffer_size);
468 uint8_t
const *buffer,
470 ESYS_TR *esys_handle);
473Esys_TR_FromTPMPublic_Async(
475 TPM2_HANDLE tpm_handle,
476 ESYS_TR optionalSession1,
477 ESYS_TR optionalSession2,
478 ESYS_TR optionalSession3);
481Esys_TR_FromTPMPublic_Finish(
486Esys_TR_FromTPMPublic(
488 TPM2_HANDLE tpm_handle,
489 ESYS_TR optionalSession1,
490 ESYS_TR optionalSession2,
491 ESYS_TR optionalSession3,
497 ESYS_TR *rsrc_handle);
503 TPM2B_AUTH
const *authValue);
512Esys_TRSess_GetAttributes(
515 TPMA_SESSION *flags);
518Esys_TRSess_SetAttributes(
525Esys_TRSess_GetNonceTPM(
528 TPM2B_NONCE **nonceTPM);
534 TPM2_HANDLE *tpm_handle);
537Esys_TRSess_GetAuthRequired(
540 TPMI_YES_NO *auth_needed);
547 TPM2_SU startupType);
552 TPM2_SU startupType);
566 TPM2_SU shutdownType);
574 TPM2_SU shutdownType);
588 TPMI_YES_NO fullTest);
596 TPMI_YES_NO fullTest);
605Esys_IncrementalSelfTest(
610 const TPML_ALG *toTest,
611 TPML_ALG **toDoList);
614Esys_IncrementalSelfTest_Async(
619 const TPML_ALG *toTest);
622Esys_IncrementalSelfTest_Finish(
624 TPML_ALG **toDoList);
634 TPM2B_MAX_BUFFER **outData,
635 TPM2_RC *testResult);
638Esys_GetTestResult_Async(
645Esys_GetTestResult_Finish(
647 TPM2B_MAX_BUFFER **outData,
648 TPM2_RC *testResult);
653Esys_StartAuthSession(
660 const TPM2B_NONCE *nonceCaller,
662 const TPMT_SYM_DEF *symmetric,
663 TPMI_ALG_HASH authHash,
664 ESYS_TR *sessionHandle);
667Esys_StartAuthSession_Async(
674 const TPM2B_NONCE *nonceCaller,
676 const TPMT_SYM_DEF *symmetric,
677 TPMI_ALG_HASH authHash);
680Esys_StartAuthSession_Finish(
682 ESYS_TR *sessionHandle);
689 ESYS_TR sessionHandle,
695Esys_PolicyRestart_Async(
697 ESYS_TR sessionHandle,
703Esys_PolicyRestart_Finish(
711 ESYS_TR parentHandle,
715 const TPM2B_SENSITIVE_CREATE *inSensitive,
716 const TPM2B_PUBLIC *inPublic,
717 const TPM2B_DATA *outsideInfo,
718 const TPML_PCR_SELECTION *creationPCR,
719 TPM2B_PRIVATE **outPrivate,
720 TPM2B_PUBLIC **outPublic,
721 TPM2B_CREATION_DATA **creationData,
722 TPM2B_DIGEST **creationHash,
723 TPMT_TK_CREATION **creationTicket);
728 ESYS_TR parentHandle,
732 const TPM2B_SENSITIVE_CREATE *inSensitive,
733 const TPM2B_PUBLIC *inPublic,
734 const TPM2B_DATA *outsideInfo,
735 const TPML_PCR_SELECTION *creationPCR);
740 TPM2B_PRIVATE **outPrivate,
741 TPM2B_PUBLIC **outPublic,
742 TPM2B_CREATION_DATA **creationData,
743 TPM2B_DIGEST **creationHash,
744 TPMT_TK_CREATION **creationTicket);
751 ESYS_TR parentHandle,
755 const TPM2B_PRIVATE *inPrivate,
756 const TPM2B_PUBLIC *inPublic,
757 ESYS_TR *objectHandle);
762 ESYS_TR parentHandle,
766 const TPM2B_PRIVATE *inPrivate,
767 const TPM2B_PUBLIC *inPublic);
772 ESYS_TR *objectHandle);
782 const TPM2B_SENSITIVE *inPrivate,
783 const TPM2B_PUBLIC *inPublic,
785 ESYS_TR *objectHandle);
788Esys_LoadExternal_Async(
793 const TPM2B_SENSITIVE *inPrivate,
794 const TPM2B_PUBLIC *inPublic,
798Esys_LoadExternal_Finish(
800 ESYS_TR *objectHandle);
807 ESYS_TR objectHandle,
811 TPM2B_PUBLIC **outPublic,
813 TPM2B_NAME **qualifiedName);
816Esys_ReadPublic_Async(
818 ESYS_TR objectHandle,
824Esys_ReadPublic_Finish(
826 TPM2B_PUBLIC **outPublic,
828 TPM2B_NAME **qualifiedName);
833Esys_ActivateCredential(
835 ESYS_TR activateHandle,
840 const TPM2B_ID_OBJECT *credentialBlob,
841 const TPM2B_ENCRYPTED_SECRET *secret,
842 TPM2B_DIGEST **certInfo);
845Esys_ActivateCredential_Async(
847 ESYS_TR activateHandle,
852 const TPM2B_ID_OBJECT *credentialBlob,
853 const TPM2B_ENCRYPTED_SECRET *secret);
856Esys_ActivateCredential_Finish(
858 TPM2B_DIGEST **certInfo);
867 UINT32 startTimeout);
870Esys_ACT_SetTimeout_Async(
876 UINT32 startTimeout);
879Esys_ACT_SetTimeout_Finish(
883Esys_AC_GetCapability_Async(
885 ESYS_TR optionalSession1,
886 ESYS_TR optionalSession2,
887 ESYS_TR optionalSession3,
893Esys_AC_GetCapability_Finish(
895 TPMI_YES_NO *moreData,
896 TPML_AC_CAPABILITIES **capabilityData);
899Esys_AC_GetCapability(
901 ESYS_TR optionalSession1,
902 ESYS_TR optionalSession2,
903 ESYS_TR optionalSession3,
907 TPMI_YES_NO *moreData,
908 TPML_AC_CAPABILITIES **capabilityData);
914 ESYS_TR nvAuthHandle,
915 ESYS_TR optionalSession1,
916 ESYS_TR optionalSession2,
917 ESYS_TR optionalSession3,
919 TPM2B_MAX_BUFFER *acDataIn);
924 TPMS_AC_OUTPUT **acDataOut);
930 ESYS_TR nvAuthHandle,
931 ESYS_TR optionalSession1,
932 ESYS_TR optionalSession2,
933 ESYS_TR optionalSession3,
935 TPM2B_MAX_BUFFER *acDataIn,
936 TPMS_AC_OUTPUT **acDataOut);
939Esys_Policy_AC_SendSelect_Async(
941 ESYS_TR policySession1,
942 ESYS_TR optionalSession2,
943 ESYS_TR optionalSession3,
944 TPM2B_NAME *objectName,
945 TPM2B_NAME *authHandleName,
947 const TPMI_YES_NO includeObject);
950Esys_Policy_AC_SendSelect_Finish(
954Esys_Policy_AC_SendSelect(
956 ESYS_TR policySession1,
957 ESYS_TR optionalSession2,
958 ESYS_TR optionalSession3,
959 TPM2B_NAME *objectName,
960 TPM2B_NAME *authHandleName,
962 TPMI_YES_NO includeObject);
973 const TPM2B_DIGEST *credential,
974 const TPM2B_NAME *objectName,
975 TPM2B_ID_OBJECT **credentialBlob,
976 TPM2B_ENCRYPTED_SECRET **secret);
979Esys_MakeCredential_Async(
985 const TPM2B_DIGEST *credential,
986 const TPM2B_NAME *objectName);
989Esys_MakeCredential_Finish(
991 TPM2B_ID_OBJECT **credentialBlob,
992 TPM2B_ENCRYPTED_SECRET **secret);
1003 TPM2B_SENSITIVE_DATA **outData);
1016 TPM2B_SENSITIVE_DATA **outData);
1021Esys_ObjectChangeAuth(
1023 ESYS_TR objectHandle,
1024 ESYS_TR parentHandle,
1028 const TPM2B_AUTH *newAuth,
1029 TPM2B_PRIVATE **outPrivate);
1032Esys_ObjectChangeAuth_Async(
1034 ESYS_TR objectHandle,
1035 ESYS_TR parentHandle,
1039 const TPM2B_AUTH *newAuth);
1042Esys_ObjectChangeAuth_Finish(
1044 TPM2B_PRIVATE **outPrivate);
1051 ESYS_TR parentHandle,
1055 const TPM2B_SENSITIVE_CREATE *inSensitive,
1056 const TPM2B_TEMPLATE *inPublic,
1057 ESYS_TR *objectHandle,
1058 TPM2B_PRIVATE **outPrivate,
1059 TPM2B_PUBLIC **outPublic);
1062Esys_CreateLoaded_Async(
1064 ESYS_TR parentHandle,
1068 const TPM2B_SENSITIVE_CREATE *inSensitive,
1069 const TPM2B_TEMPLATE *inPublic);
1072Esys_CreateLoaded_Finish(
1074 ESYS_TR *objectHandle,
1075 TPM2B_PRIVATE **outPrivate,
1076 TPM2B_PUBLIC **outPublic);
1083 ESYS_TR objectHandle,
1084 ESYS_TR newParentHandle,
1088 const TPM2B_DATA *encryptionKeyIn,
1089 const TPMT_SYM_DEF_OBJECT *symmetricAlg,
1090 TPM2B_DATA **encryptionKeyOut,
1091 TPM2B_PRIVATE **duplicate,
1092 TPM2B_ENCRYPTED_SECRET **outSymSeed);
1095Esys_Duplicate_Async(
1097 ESYS_TR objectHandle,
1098 ESYS_TR newParentHandle,
1102 const TPM2B_DATA *encryptionKeyIn,
1103 const TPMT_SYM_DEF_OBJECT *symmetricAlg);
1106Esys_Duplicate_Finish(
1108 TPM2B_DATA **encryptionKeyOut,
1109 TPM2B_PRIVATE **duplicate,
1110 TPM2B_ENCRYPTED_SECRET **outSymSeed);
1122 const TPM2B_PRIVATE *inDuplicate,
1123 const TPM2B_NAME *name,
1124 const TPM2B_ENCRYPTED_SECRET *inSymSeed,
1125 TPM2B_PRIVATE **outDuplicate,
1126 TPM2B_ENCRYPTED_SECRET **outSymSeed);
1136 const TPM2B_PRIVATE *inDuplicate,
1137 const TPM2B_NAME *name,
1138 const TPM2B_ENCRYPTED_SECRET *inSymSeed);
1143 TPM2B_PRIVATE **outDuplicate,
1144 TPM2B_ENCRYPTED_SECRET **outSymSeed);
1151 ESYS_TR parentHandle,
1155 const TPM2B_DATA *encryptionKey,
1156 const TPM2B_PUBLIC *objectPublic,
1157 const TPM2B_PRIVATE *duplicate,
1158 const TPM2B_ENCRYPTED_SECRET *inSymSeed,
1159 const TPMT_SYM_DEF_OBJECT *symmetricAlg,
1160 TPM2B_PRIVATE **outPrivate);
1165 ESYS_TR parentHandle,
1169 const TPM2B_DATA *encryptionKey,
1170 const TPM2B_PUBLIC *objectPublic,
1171 const TPM2B_PRIVATE *duplicate,
1172 const TPM2B_ENCRYPTED_SECRET *inSymSeed,
1173 const TPMT_SYM_DEF_OBJECT *symmetricAlg);
1178 TPM2B_PRIVATE **outPrivate);
1189 const TPM2B_PUBLIC_KEY_RSA *message,
1190 const TPMT_RSA_DECRYPT *inScheme,
1191 const TPM2B_DATA *label,
1192 TPM2B_PUBLIC_KEY_RSA **outData);
1195Esys_RSA_Encrypt_Async(
1201 const TPM2B_PUBLIC_KEY_RSA *message,
1202 const TPMT_RSA_DECRYPT *inScheme,
1203 const TPM2B_DATA *label);
1206Esys_RSA_Encrypt_Finish(
1208 TPM2B_PUBLIC_KEY_RSA **outData);
1219 const TPM2B_PUBLIC_KEY_RSA *cipherText,
1220 const TPMT_RSA_DECRYPT *inScheme,
1221 const TPM2B_DATA *label,
1222 TPM2B_PUBLIC_KEY_RSA **message);
1225Esys_RSA_Decrypt_Async(
1231 const TPM2B_PUBLIC_KEY_RSA *cipherText,
1232 const TPMT_RSA_DECRYPT *inScheme,
1233 const TPM2B_DATA *label);
1236Esys_RSA_Decrypt_Finish(
1238 TPM2B_PUBLIC_KEY_RSA **message);
1249 TPM2B_ECC_POINT **zPoint,
1250 TPM2B_ECC_POINT **pubPoint);
1253Esys_ECDH_KeyGen_Async(
1261Esys_ECDH_KeyGen_Finish(
1263 TPM2B_ECC_POINT **zPoint,
1264 TPM2B_ECC_POINT **pubPoint);
1275 const TPM2B_ECC_POINT *inPoint,
1276 TPM2B_ECC_POINT **outPoint);
1279Esys_ECDH_ZGen_Async(
1285 const TPM2B_ECC_POINT *inPoint);
1288Esys_ECDH_ZGen_Finish(
1290 TPM2B_ECC_POINT **outPoint);
1300 TPMI_ECC_CURVE curveID,
1301 TPMS_ALGORITHM_DETAIL_ECC **parameters);
1304Esys_ECC_Parameters_Async(
1309 TPMI_ECC_CURVE curveID);
1312Esys_ECC_Parameters_Finish(
1314 TPMS_ALGORITHM_DETAIL_ECC **parameters);
1325 const TPM2B_ECC_POINT *inQsB,
1326 const TPM2B_ECC_POINT *inQeB,
1327 TPMI_ECC_KEY_EXCHANGE inScheme,
1329 TPM2B_ECC_POINT **outZ1,
1330 TPM2B_ECC_POINT **outZ2);
1333Esys_ZGen_2Phase_Async(
1339 const TPM2B_ECC_POINT *inQsB,
1340 const TPM2B_ECC_POINT *inQeB,
1341 TPMI_ECC_KEY_EXCHANGE inScheme,
1345Esys_ZGen_2Phase_Finish(
1347 TPM2B_ECC_POINT **outZ1,
1348 TPM2B_ECC_POINT **outZ2);
1359 TPMI_YES_NO decrypt,
1360 TPMI_ALG_CIPHER_MODE mode,
1361 const TPM2B_IV *ivIn,
1362 const TPM2B_MAX_BUFFER *inData,
1363 TPM2B_MAX_BUFFER **outData,
1367Esys_EncryptDecrypt_Async(
1373 TPMI_YES_NO decrypt,
1374 TPMI_ALG_CIPHER_MODE mode,
1375 const TPM2B_IV *ivIn,
1376 const TPM2B_MAX_BUFFER *inData);
1379Esys_EncryptDecrypt_Finish(
1381 TPM2B_MAX_BUFFER **outData,
1387Esys_EncryptDecrypt2(
1393 const TPM2B_MAX_BUFFER *inData,
1394 TPMI_YES_NO decrypt,
1395 TPMI_ALG_CIPHER_MODE mode,
1396 const TPM2B_IV *ivIn,
1397 TPM2B_MAX_BUFFER **outData,
1401Esys_EncryptDecrypt2_Async(
1407 const TPM2B_MAX_BUFFER *inData,
1408 TPMI_YES_NO decrypt,
1409 TPMI_ALG_CIPHER_MODE mode,
1410 const TPM2B_IV *ivIn);
1413Esys_EncryptDecrypt2_Finish(
1415 TPM2B_MAX_BUFFER **outData,
1426 const TPM2B_MAX_BUFFER *data,
1427 TPMI_ALG_HASH hashAlg,
1429 TPM2B_DIGEST **outHash,
1430 TPMT_TK_HASHCHECK **validation);
1438 const TPM2B_MAX_BUFFER *data,
1439 TPMI_ALG_HASH hashAlg,
1445 TPM2B_DIGEST **outHash,
1446 TPMT_TK_HASHCHECK **validation);
1457 const TPM2B_MAX_BUFFER *buffer,
1458 TPMI_ALG_HASH hashAlg,
1459 TPM2B_DIGEST **outHMAC);
1468 const TPM2B_MAX_BUFFER *buffer,
1469 TPMI_ALG_HASH hashAlg);
1474 TPM2B_DIGEST **outHMAC);
1480 ESYS_TR handleSession1,
1481 ESYS_TR optionalSession2,
1482 ESYS_TR optionalSession3,
1483 const TPM2B_MAX_BUFFER *buffer,
1484 TPMI_ALG_MAC_SCHEME inScheme);
1489 TPM2B_DIGEST **outMAC);
1495 ESYS_TR handleSession1,
1496 ESYS_TR optionalSession2,
1497 ESYS_TR optionalSession3,
1498 const TPM2B_MAX_BUFFER *buffer,
1499 TPMI_ALG_MAC_SCHEME inScheme,
1500 TPM2B_DIGEST **outMAC);
1510 UINT16 bytesRequested,
1511 TPM2B_DIGEST **randomBytes);
1514Esys_GetRandom_Async(
1519 UINT16 bytesRequested);
1522Esys_GetRandom_Finish(
1524 TPM2B_DIGEST **randomBytes);
1534 const TPM2B_SENSITIVE_DATA *inData);
1537Esys_StirRandom_Async(
1542 const TPM2B_SENSITIVE_DATA *inData);
1545Esys_StirRandom_Finish(
1557 const TPM2B_AUTH *auth,
1558 TPMI_ALG_HASH hashAlg,
1559 ESYS_TR *sequenceHandle);
1562Esys_HMAC_Start_Async(
1568 const TPM2B_AUTH *auth,
1569 TPMI_ALG_HASH hashAlg);
1572Esys_HMAC_Start_Finish(
1574 ESYS_TR *sequenceHandle);
1580 ESYS_TR handleSession1,
1581 ESYS_TR optionalSession2,
1582 ESYS_TR optionalSession3,
1583 const TPM2B_AUTH *auth,
1584 TPMI_ALG_MAC_SCHEME inScheme,
1585 ESYS_TR *sequenceHandle);
1588Esys_MAC_Start_Async(
1591 ESYS_TR handleSession1,
1592 ESYS_TR optionalSession2,
1593 ESYS_TR optionalSession3,
1594 const TPM2B_AUTH *auth,
1595 TPMI_ALG_MAC_SCHEME inScheme);
1598Esys_MAC_Start_Finish(
1600 ESYS_TR *sequenceHandle);
1605Esys_HashSequenceStart(
1610 const TPM2B_AUTH *auth,
1611 TPMI_ALG_HASH hashAlg,
1612 ESYS_TR *sequenceHandle);
1615Esys_HashSequenceStart_Async(
1620 const TPM2B_AUTH *auth,
1621 TPMI_ALG_HASH hashAlg);
1624Esys_HashSequenceStart_Finish(
1626 ESYS_TR *sequenceHandle);
1633 ESYS_TR sequenceHandle,
1637 const TPM2B_MAX_BUFFER *buffer);
1640Esys_SequenceUpdate_Async(
1642 ESYS_TR sequenceHandle,
1646 const TPM2B_MAX_BUFFER *buffer);
1649Esys_SequenceUpdate_Finish(
1655Esys_SequenceComplete(
1657 ESYS_TR sequenceHandle,
1661 const TPM2B_MAX_BUFFER *buffer,
1663 TPM2B_DIGEST **result,
1664 TPMT_TK_HASHCHECK **validation);
1667Esys_SequenceComplete_Async(
1669 ESYS_TR sequenceHandle,
1673 const TPM2B_MAX_BUFFER *buffer,
1677Esys_SequenceComplete_Finish(
1679 TPM2B_DIGEST **result,
1680 TPMT_TK_HASHCHECK **validation);
1685Esys_EventSequenceComplete(
1688 ESYS_TR sequenceHandle,
1692 const TPM2B_MAX_BUFFER *buffer,
1693 TPML_DIGEST_VALUES **results);
1696Esys_EventSequenceComplete_Async(
1699 ESYS_TR sequenceHandle,
1703 const TPM2B_MAX_BUFFER *buffer);
1706Esys_EventSequenceComplete_Finish(
1708 TPML_DIGEST_VALUES **results);
1715 ESYS_TR objectHandle,
1720 const TPM2B_DATA *qualifyingData,
1721 const TPMT_SIG_SCHEME *inScheme,
1722 TPM2B_ATTEST **certifyInfo,
1723 TPMT_SIGNATURE **signature);
1728 ESYS_TR objectHandle,
1733 const TPM2B_DATA *qualifyingData,
1734 const TPMT_SIG_SCHEME *inScheme);
1739 TPM2B_ATTEST **certifyInfo,
1740 TPMT_SIGNATURE **signature);
1745Esys_CertifyCreation(
1748 ESYS_TR objectHandle,
1752 const TPM2B_DATA *qualifyingData,
1753 const TPM2B_DIGEST *creationHash,
1754 const TPMT_SIG_SCHEME *inScheme,
1755 const TPMT_TK_CREATION *creationTicket,
1756 TPM2B_ATTEST **certifyInfo,
1757 TPMT_SIGNATURE **signature);
1760Esys_CertifyCreation_Async(
1763 ESYS_TR objectHandle,
1767 const TPM2B_DATA *qualifyingData,
1768 const TPM2B_DIGEST *creationHash,
1769 const TPMT_SIG_SCHEME *inScheme,
1770 const TPMT_TK_CREATION *creationTicket);
1773Esys_CertifyCreation_Finish(
1775 TPM2B_ATTEST **certifyInfo,
1776 TPMT_SIGNATURE **signature);
1781 ESYS_TR objectHandle,
1786 const TPM2B_DATA *reserved,
1787 const TPMT_SIG_SCHEME *inScheme,
1788 const TPM2B_MAX_BUFFER *partialCertificate,
1789 TPM2B_MAX_BUFFER **addedToCertificate,
1790 TPM2B_DIGEST **tbsDigest,
1791 TPMT_SIGNATURE **signature);
1794Esys_CertifyX509_Async(
1796 ESYS_TR objectHandle,
1801 const TPM2B_DATA *reserved,
1802 const TPMT_SIG_SCHEME *inScheme,
1803 const TPM2B_MAX_BUFFER *partialCertificate);
1806Esys_CertifyX509_Finish(
1808 TPM2B_MAX_BUFFER **addedToCertificate,
1809 TPM2B_DIGEST **tbsDigest,
1810 TPMT_SIGNATURE **signature);
1821 const TPM2B_DATA *qualifyingData,
1822 const TPMT_SIG_SCHEME *inScheme,
1823 const TPML_PCR_SELECTION *PCRselect,
1824 TPM2B_ATTEST **quoted,
1825 TPMT_SIGNATURE **signature);
1834 const TPM2B_DATA *qualifyingData,
1835 const TPMT_SIG_SCHEME *inScheme,
1836 const TPML_PCR_SELECTION *PCRselect);
1841 TPM2B_ATTEST **quoted,
1842 TPMT_SIGNATURE **signature);
1847Esys_GetSessionAuditDigest(
1849 ESYS_TR privacyAdminHandle,
1851 ESYS_TR sessionHandle,
1855 const TPM2B_DATA *qualifyingData,
1856 const TPMT_SIG_SCHEME *inScheme,
1857 TPM2B_ATTEST **auditInfo,
1858 TPMT_SIGNATURE **signature);
1861Esys_GetSessionAuditDigest_Async(
1863 ESYS_TR privacyAdminHandle,
1865 ESYS_TR sessionHandle,
1869 const TPM2B_DATA *qualifyingData,
1870 const TPMT_SIG_SCHEME *inScheme);
1873Esys_GetSessionAuditDigest_Finish(
1875 TPM2B_ATTEST **auditInfo,
1876 TPMT_SIGNATURE **signature);
1881Esys_GetCommandAuditDigest(
1883 ESYS_TR privacyHandle,
1888 const TPM2B_DATA *qualifyingData,
1889 const TPMT_SIG_SCHEME *inScheme,
1890 TPM2B_ATTEST **auditInfo,
1891 TPMT_SIGNATURE **signature);
1894Esys_GetCommandAuditDigest_Async(
1896 ESYS_TR privacyHandle,
1901 const TPM2B_DATA *qualifyingData,
1902 const TPMT_SIG_SCHEME *inScheme);
1905Esys_GetCommandAuditDigest_Finish(
1907 TPM2B_ATTEST **auditInfo,
1908 TPMT_SIGNATURE **signature);
1915 ESYS_TR privacyAdminHandle,
1920 const TPM2B_DATA *qualifyingData,
1921 const TPMT_SIG_SCHEME *inScheme,
1922 TPM2B_ATTEST **timeInfo,
1923 TPMT_SIGNATURE **signature);
1928 ESYS_TR privacyAdminHandle,
1933 const TPM2B_DATA *qualifyingData,
1934 const TPMT_SIG_SCHEME *inScheme);
1939 TPM2B_ATTEST **timeInfo,
1940 TPMT_SIGNATURE **signature);
1951 const TPM2B_ECC_POINT *P1,
1952 const TPM2B_SENSITIVE_DATA *s2,
1953 const TPM2B_ECC_PARAMETER *y2,
1954 TPM2B_ECC_POINT **K,
1955 TPM2B_ECC_POINT **L,
1956 TPM2B_ECC_POINT **E,
1966 const TPM2B_ECC_POINT *P1,
1967 const TPM2B_SENSITIVE_DATA *s2,
1968 const TPM2B_ECC_PARAMETER *y2);
1973 TPM2B_ECC_POINT **K,
1974 TPM2B_ECC_POINT **L,
1975 TPM2B_ECC_POINT **E,
1986 TPMI_ECC_CURVE curveID,
1987 TPM2B_ECC_POINT **Q,
1991Esys_EC_Ephemeral_Async(
1996 TPMI_ECC_CURVE curveID);
1999Esys_EC_Ephemeral_Finish(
2001 TPM2B_ECC_POINT **Q,
2007Esys_VerifySignature(
2013 const TPM2B_DIGEST *digest,
2014 const TPMT_SIGNATURE *signature,
2015 TPMT_TK_VERIFIED **validation);
2018Esys_VerifySignature_Async(
2024 const TPM2B_DIGEST *digest,
2025 const TPMT_SIGNATURE *signature);
2028Esys_VerifySignature_Finish(
2030 TPMT_TK_VERIFIED **validation);
2041 const TPM2B_DIGEST *digest,
2042 const TPMT_SIG_SCHEME *inScheme,
2043 const TPMT_TK_HASHCHECK *validation,
2044 TPMT_SIGNATURE **signature);
2053 const TPM2B_DIGEST *digest,
2054 const TPMT_SIG_SCHEME *inScheme,
2055 const TPMT_TK_HASHCHECK *validation);
2060 TPMT_SIGNATURE **signature);
2065Esys_SetCommandCodeAuditStatus(
2071 TPMI_ALG_HASH auditAlg,
2072 const TPML_CC *setList,
2073 const TPML_CC *clearList);
2076Esys_SetCommandCodeAuditStatus_Async(
2082 TPMI_ALG_HASH auditAlg,
2083 const TPML_CC *setList,
2084 const TPML_CC *clearList);
2087Esys_SetCommandCodeAuditStatus_Finish(
2099 const TPML_DIGEST_VALUES *digests);
2102Esys_PCR_Extend_Async(
2108 const TPML_DIGEST_VALUES *digests);
2111Esys_PCR_Extend_Finish(
2123 const TPM2B_EVENT *eventData,
2124 TPML_DIGEST_VALUES **digests);
2127Esys_PCR_Event_Async(
2133 const TPM2B_EVENT *eventData);
2136Esys_PCR_Event_Finish(
2138 TPML_DIGEST_VALUES **digests);
2148 const TPML_PCR_SELECTION *pcrSelectionIn,
2149 UINT32 *pcrUpdateCounter,
2150 TPML_PCR_SELECTION **pcrSelectionOut,
2151 TPML_DIGEST **pcrValues);
2159 const TPML_PCR_SELECTION *pcrSelectionIn);
2162Esys_PCR_Read_Finish(
2164 UINT32 *pcrUpdateCounter,
2165 TPML_PCR_SELECTION **pcrSelectionOut,
2166 TPML_DIGEST **pcrValues);
2177 const TPML_PCR_SELECTION *pcrAllocation,
2178 TPMI_YES_NO *allocationSuccess,
2181 UINT32 *sizeAvailable);
2184Esys_PCR_Allocate_Async(
2190 const TPML_PCR_SELECTION *pcrAllocation);
2193Esys_PCR_Allocate_Finish(
2195 TPMI_YES_NO *allocationSuccess,
2198 UINT32 *sizeAvailable);
2203Esys_PCR_SetAuthPolicy(
2209 const TPM2B_DIGEST *authPolicy,
2210 TPMI_ALG_HASH hashAlg,
2211 TPMI_DH_PCR pcrNum);
2214Esys_PCR_SetAuthPolicy_Async(
2220 const TPM2B_DIGEST *authPolicy,
2221 TPMI_ALG_HASH hashAlg,
2222 TPMI_DH_PCR pcrNum);
2225Esys_PCR_SetAuthPolicy_Finish(
2231Esys_PCR_SetAuthValue(
2237 const TPM2B_DIGEST *auth);
2240Esys_PCR_SetAuthValue_Async(
2246 const TPM2B_DIGEST *auth);
2249Esys_PCR_SetAuthValue_Finish(
2263Esys_PCR_Reset_Async(
2271Esys_PCR_Reset_Finish(
2280 ESYS_TR policySession,
2284 const TPM2B_NONCE *nonceTPM,
2285 const TPM2B_DIGEST *cpHashA,
2286 const TPM2B_NONCE *policyRef,
2288 const TPMT_SIGNATURE *auth,
2289 TPM2B_TIMEOUT **timeout,
2290 TPMT_TK_AUTH **policyTicket);
2293Esys_PolicySigned_Async(
2296 ESYS_TR policySession,
2300 const TPM2B_NONCE *nonceTPM,
2301 const TPM2B_DIGEST *cpHashA,
2302 const TPM2B_NONCE *policyRef,
2304 const TPMT_SIGNATURE *auth);
2307Esys_PolicySigned_Finish(
2309 TPM2B_TIMEOUT **timeout,
2310 TPMT_TK_AUTH **policyTicket);
2318 ESYS_TR policySession,
2322 const TPM2B_NONCE *nonceTPM,
2323 const TPM2B_DIGEST *cpHashA,
2324 const TPM2B_NONCE *policyRef,
2326 TPM2B_TIMEOUT **timeout,
2327 TPMT_TK_AUTH **policyTicket);
2330Esys_PolicySecret_Async(
2333 ESYS_TR policySession,
2337 const TPM2B_NONCE *nonceTPM,
2338 const TPM2B_DIGEST *cpHashA,
2339 const TPM2B_NONCE *policyRef,
2343Esys_PolicySecret_Finish(
2345 TPM2B_TIMEOUT **timeout,
2346 TPMT_TK_AUTH **policyTicket);
2353 ESYS_TR policySession,
2357 const TPM2B_TIMEOUT *timeout,
2358 const TPM2B_DIGEST *cpHashA,
2359 const TPM2B_NONCE *policyRef,
2360 const TPM2B_NAME *authName,
2361 const TPMT_TK_AUTH *ticket);
2364Esys_PolicyTicket_Async(
2366 ESYS_TR policySession,
2370 const TPM2B_TIMEOUT *timeout,
2371 const TPM2B_DIGEST *cpHashA,
2372 const TPM2B_NONCE *policyRef,
2373 const TPM2B_NAME *authName,
2374 const TPMT_TK_AUTH *ticket);
2377Esys_PolicyTicket_Finish(
2385 ESYS_TR policySession,
2389 const TPML_DIGEST *pHashList);
2394 ESYS_TR policySession,
2398 const TPML_DIGEST *pHashList);
2401Esys_PolicyOR_Finish(
2409 ESYS_TR policySession,
2413 const TPM2B_DIGEST *pcrDigest,
2414 const TPML_PCR_SELECTION *pcrs);
2417Esys_PolicyPCR_Async(
2419 ESYS_TR policySession,
2423 const TPM2B_DIGEST *pcrDigest,
2424 const TPML_PCR_SELECTION *pcrs);
2427Esys_PolicyPCR_Finish(
2435 ESYS_TR policySession,
2439 TPMA_LOCALITY locality);
2442Esys_PolicyLocality_Async(
2444 ESYS_TR policySession,
2448 TPMA_LOCALITY locality);
2451Esys_PolicyLocality_Finish(
2461 ESYS_TR policySession,
2465 const TPM2B_OPERAND *operandB,
2474 ESYS_TR policySession,
2478 const TPM2B_OPERAND *operandB,
2483Esys_PolicyNV_Finish(
2489Esys_PolicyCounterTimer(
2491 ESYS_TR policySession,
2495 const TPM2B_OPERAND *operandB,
2500Esys_PolicyCounterTimer_Async(
2502 ESYS_TR policySession,
2506 const TPM2B_OPERAND *operandB,
2511Esys_PolicyCounterTimer_Finish(
2517Esys_PolicyCommandCode(
2519 ESYS_TR policySession,
2526Esys_PolicyCommandCode_Async(
2528 ESYS_TR policySession,
2535Esys_PolicyCommandCode_Finish(
2541Esys_PolicyPhysicalPresence(
2543 ESYS_TR policySession,
2549Esys_PolicyPhysicalPresence_Async(
2551 ESYS_TR policySession,
2557Esys_PolicyPhysicalPresence_Finish(
2565 ESYS_TR policySession,
2569 const TPM2B_DIGEST *cpHashA);
2572Esys_PolicyCpHash_Async(
2574 ESYS_TR policySession,
2578 const TPM2B_DIGEST *cpHashA);
2581Esys_PolicyCpHash_Finish(
2589 ESYS_TR policySession,
2593 const TPM2B_DIGEST *nameHash);
2596Esys_PolicyNameHash_Async(
2598 ESYS_TR policySession,
2602 const TPM2B_DIGEST *nameHash);
2605Esys_PolicyNameHash_Finish(
2611Esys_PolicyDuplicationSelect(
2613 ESYS_TR policySession,
2617 const TPM2B_NAME *objectName,
2618 const TPM2B_NAME *newParentName,
2619 TPMI_YES_NO includeObject);
2622Esys_PolicyDuplicationSelect_Async(
2624 ESYS_TR policySession,
2628 const TPM2B_NAME *objectName,
2629 const TPM2B_NAME *newParentName,
2630 TPMI_YES_NO includeObject);
2633Esys_PolicyDuplicationSelect_Finish(
2639Esys_PolicyAuthorize(
2641 ESYS_TR policySession,
2645 const TPM2B_DIGEST *approvedPolicy,
2646 const TPM2B_NONCE *policyRef,
2647 const TPM2B_NAME *keySign,
2648 const TPMT_TK_VERIFIED *checkTicket);
2651Esys_PolicyAuthorize_Async(
2653 ESYS_TR policySession,
2657 const TPM2B_DIGEST *approvedPolicy,
2658 const TPM2B_NONCE *policyRef,
2659 const TPM2B_NAME *keySign,
2660 const TPMT_TK_VERIFIED *checkTicket);
2663Esys_PolicyAuthorize_Finish(
2669Esys_PolicyAuthValue(
2671 ESYS_TR policySession,
2677Esys_PolicyAuthValue_Async(
2679 ESYS_TR policySession,
2685Esys_PolicyAuthValue_Finish(
2693 ESYS_TR policySession,
2699Esys_PolicyPassword_Async(
2701 ESYS_TR policySession,
2707Esys_PolicyPassword_Finish(
2713Esys_PolicyGetDigest(
2715 ESYS_TR policySession,
2719 TPM2B_DIGEST **policyDigest);
2722Esys_PolicyGetDigest_Async(
2724 ESYS_TR policySession,
2730Esys_PolicyGetDigest_Finish(
2732 TPM2B_DIGEST **policyDigest);
2737Esys_PolicyNvWritten(
2739 ESYS_TR policySession,
2743 TPMI_YES_NO writtenSet);
2746Esys_PolicyNvWritten_Async(
2748 ESYS_TR policySession,
2752 TPMI_YES_NO writtenSet);
2755Esys_PolicyNvWritten_Finish(
2763 ESYS_TR policySession,
2767 const TPM2B_DIGEST *templateHash);
2770Esys_PolicyTemplate_Async(
2772 ESYS_TR policySession,
2776 const TPM2B_DIGEST *templateHash);
2779Esys_PolicyTemplate_Finish(
2785Esys_PolicyAuthorizeNV(
2789 ESYS_TR policySession,
2795Esys_PolicyAuthorizeNV_Async(
2799 ESYS_TR policySession,
2805Esys_PolicyAuthorizeNV_Finish(
2813 ESYS_TR primaryHandle,
2817 const TPM2B_SENSITIVE_CREATE *inSensitive,
2818 const TPM2B_PUBLIC *inPublic,
2819 const TPM2B_DATA *outsideInfo,
2820 const TPML_PCR_SELECTION *creationPCR,
2821 ESYS_TR *objectHandle,
2822 TPM2B_PUBLIC **outPublic,
2823 TPM2B_CREATION_DATA **creationData,
2824 TPM2B_DIGEST **creationHash,
2825 TPMT_TK_CREATION **creationTicket);
2828Esys_CreatePrimary_Async(
2830 ESYS_TR primaryHandle,
2834 const TPM2B_SENSITIVE_CREATE *inSensitive,
2835 const TPM2B_PUBLIC *inPublic,
2836 const TPM2B_DATA *outsideInfo,
2837 const TPML_PCR_SELECTION *creationPCR);
2840Esys_CreatePrimary_Finish(
2842 ESYS_TR *objectHandle,
2843 TPM2B_PUBLIC **outPublic,
2844 TPM2B_CREATION_DATA **creationData,
2845 TPM2B_DIGEST **creationHash,
2846 TPMT_TK_CREATION **creationTicket);
2851Esys_HierarchyControl(
2861Esys_HierarchyControl_Async(
2871Esys_HierarchyControl_Finish(
2877Esys_SetPrimaryPolicy(
2883 const TPM2B_DIGEST *authPolicy,
2884 TPMI_ALG_HASH hashAlg);
2887Esys_SetPrimaryPolicy_Async(
2893 const TPM2B_DIGEST *authPolicy,
2894 TPMI_ALG_HASH hashAlg);
2897Esys_SetPrimaryPolicy_Finish(
2911Esys_ChangePPS_Async(
2919Esys_ChangePPS_Finish(
2933Esys_ChangeEPS_Async(
2941Esys_ChangeEPS_Finish(
2975 TPMI_YES_NO disable);
2978Esys_ClearControl_Async(
2984 TPMI_YES_NO disable);
2987Esys_ClearControl_Finish(
2993Esys_HierarchyChangeAuth(
2999 const TPM2B_AUTH *newAuth);
3002Esys_HierarchyChangeAuth_Async(
3008 const TPM2B_AUTH *newAuth);
3011Esys_HierarchyChangeAuth_Finish(
3017Esys_DictionaryAttackLockReset(
3025Esys_DictionaryAttackLockReset_Async(
3033Esys_DictionaryAttackLockReset_Finish(
3039Esys_DictionaryAttackParameters(
3046 UINT32 newRecoveryTime,
3047 UINT32 lockoutRecovery);
3050Esys_DictionaryAttackParameters_Async(
3057 UINT32 newRecoveryTime,
3058 UINT32 lockoutRecovery);
3061Esys_DictionaryAttackParameters_Finish(
3073 const TPML_CC *setList,
3074 const TPML_CC *clearList);
3077Esys_PP_Commands_Async(
3083 const TPML_CC *setList,
3084 const TPML_CC *clearList);
3087Esys_PP_Commands_Finish(
3093Esys_SetAlgorithmSet(
3099 UINT32 algorithmSet);
3102Esys_SetAlgorithmSet_Async(
3108 UINT32 algorithmSet);
3111Esys_SetAlgorithmSet_Finish(
3117Esys_FieldUpgradeStart(
3119 ESYS_TR authorization,
3124 const TPM2B_DIGEST *fuDigest,
3125 const TPMT_SIGNATURE *manifestSignature);
3128Esys_FieldUpgradeStart_Async(
3130 ESYS_TR authorization,
3135 const TPM2B_DIGEST *fuDigest,
3136 const TPMT_SIGNATURE *manifestSignature);
3139Esys_FieldUpgradeStart_Finish(
3145Esys_FieldUpgradeData(
3150 const TPM2B_MAX_BUFFER *fuData,
3151 TPMT_HA **nextDigest,
3152 TPMT_HA **firstDigest);
3155Esys_FieldUpgradeData_Async(
3160 const TPM2B_MAX_BUFFER *fuData);
3163Esys_FieldUpgradeData_Finish(
3165 TPMT_HA **nextDigest,
3166 TPMT_HA **firstDigest);
3176 UINT32 sequenceNumber,
3177 TPM2B_MAX_BUFFER **fuData);
3180Esys_FirmwareRead_Async(
3185 UINT32 sequenceNumber);
3188Esys_FirmwareRead_Finish(
3190 TPM2B_MAX_BUFFER **fuData);
3198 TPMS_CONTEXT **context);
3201Esys_ContextSave_Async(
3203 ESYS_TR saveHandle);
3206Esys_ContextSave_Finish(
3208 TPMS_CONTEXT **context);
3215 const TPMS_CONTEXT *context,
3216 ESYS_TR *loadedHandle);
3219Esys_ContextLoad_Async(
3221 const TPMS_CONTEXT *context);
3224Esys_ContextLoad_Finish(
3226 ESYS_TR *loadedHandle);
3233 ESYS_TR flushHandle);
3236Esys_FlushContext_Async(
3238 ESYS_TR flushHandle);
3241Esys_FlushContext_Finish(
3250 ESYS_TR objectHandle,
3254 TPMI_DH_PERSISTENT persistentHandle,
3255 ESYS_TR *newObjectHandle);
3258Esys_EvictControl_Async(
3261 ESYS_TR objectHandle,
3265 TPMI_DH_PERSISTENT persistentHandle);
3268Esys_EvictControl_Finish(
3270 ESYS_TR *newObjectHandle);
3280 TPMS_TIME_INFO **currentTime);
3283Esys_ReadClock_Async(
3290Esys_ReadClock_Finish(
3292 TPMS_TIME_INFO **currentTime);
3315Esys_ClockSet_Finish(
3321Esys_ClockRateAdjust(
3327 TPM2_CLOCK_ADJUST rateAdjust);
3330Esys_ClockRateAdjust_Async(
3336 TPM2_CLOCK_ADJUST rateAdjust);
3339Esys_ClockRateAdjust_Finish(
3350 TPM2_CAP capability,
3352 UINT32 propertyCount,
3353 TPMI_YES_NO *moreData,
3354 TPMS_CAPABILITY_DATA **capabilityData);
3357Esys_GetCapability_Async(
3362 TPM2_CAP capability,
3364 UINT32 propertyCount);
3367Esys_GetCapability_Finish(
3369 TPMI_YES_NO *moreData,
3370 TPMS_CAPABILITY_DATA **capabilityData);
3380 const TPMT_PUBLIC_PARMS *parameters);
3383Esys_TestParms_Async(
3388 const TPMT_PUBLIC_PARMS *parameters);
3391Esys_TestParms_Finish(
3403 const TPM2B_AUTH *auth,
3404 const TPM2B_NV_PUBLIC *publicInfo,
3408Esys_NV_DefineSpace_Async(
3414 const TPM2B_AUTH *auth,
3415 const TPM2B_NV_PUBLIC *publicInfo);
3418Esys_NV_DefineSpace_Finish(
3425Esys_NV_UndefineSpace(
3434Esys_NV_UndefineSpace_Async(
3443Esys_NV_UndefineSpace_Finish(
3449Esys_NV_UndefineSpaceSpecial(
3458Esys_NV_UndefineSpaceSpecial_Async(
3467Esys_NV_UndefineSpaceSpecial_Finish(
3479 TPM2B_NV_PUBLIC **nvPublic,
3480 TPM2B_NAME **nvName);
3483Esys_NV_ReadPublic_Async(
3491Esys_NV_ReadPublic_Finish(
3493 TPM2B_NV_PUBLIC **nvPublic,
3494 TPM2B_NAME **nvName);
3506 const TPM2B_MAX_NV_BUFFER *data,
3517 const TPM2B_MAX_NV_BUFFER *data,
3521Esys_NV_Write_Finish(
3536Esys_NV_Increment_Async(
3545Esys_NV_Increment_Finish(
3558 const TPM2B_MAX_NV_BUFFER *data);
3561Esys_NV_Extend_Async(
3568 const TPM2B_MAX_NV_BUFFER *data);
3571Esys_NV_Extend_Finish(
3587Esys_NV_SetBits_Async(
3597Esys_NV_SetBits_Finish(
3612Esys_NV_WriteLock_Async(
3621Esys_NV_WriteLock_Finish(
3627Esys_NV_GlobalWriteLock(
3635Esys_NV_GlobalWriteLock_Async(
3643Esys_NV_GlobalWriteLock_Finish(
3658 TPM2B_MAX_NV_BUFFER **data);
3674 TPM2B_MAX_NV_BUFFER **data);
3688Esys_NV_ReadLock_Async(
3697Esys_NV_ReadLock_Finish(
3709 const TPM2B_AUTH *newAuth);
3712Esys_NV_ChangeAuth_Async(
3718 const TPM2B_AUTH *newAuth);
3721Esys_NV_ChangeAuth_Finish(
3735 const TPM2B_DATA *qualifyingData,
3736 const TPMT_SIG_SCHEME *inScheme,
3739 TPM2B_ATTEST **certifyInfo,
3740 TPMT_SIGNATURE **signature);
3743Esys_NV_Certify_Async(
3751 const TPM2B_DATA *qualifyingData,
3752 const TPMT_SIG_SCHEME *inScheme,
3757Esys_NV_Certify_Finish(
3759 TPM2B_ATTEST **certifyInfo,
3760 TPMT_SIGNATURE **signature);
3769 const TPMT_ECC_DECRYPT *inScheme,
3770 const TPM2B_MAX_BUFFER *message,
3771 const TPM2B_DATA *sharedData1,
3772 const TPM2B_DATA *sharedData2,
3773 TPM2B_MAX_BUFFER **outData);
3776Esys_ECC_Encrypt_Async(
3782 const TPMT_ECC_DECRYPT *inScheme,
3783 const TPM2B_MAX_BUFFER *message,
3784 const TPM2B_DATA *sharedData1,
3785 const TPM2B_DATA *sharedData2);
3788Esys_ECC_Encrypt_Finish(
3790 TPM2B_MAX_BUFFER **outData);
3799 const TPMT_ECC_DECRYPT *inScheme,
3800 const TPM2B_MAX_BUFFER *message,
3801 const TPM2B_DATA *sharedData1,
3802 const TPM2B_DATA *sharedData2,
3803 TPM2B_MAX_BUFFER **outData);
3806Esys_ECC_Decrypt_Async(
3812 const TPMT_ECC_DECRYPT *inScheme,
3813 const TPM2B_MAX_BUFFER *message,
3814 const TPM2B_DATA *sharedData1,
3815 const TPM2B_DATA *sharedData2);
3818Esys_ECC_Decrypt_Finish(
3820 TPM2B_MAX_BUFFER **outData);
3826Esys_Vendor_TCG_Test(
3831 const TPM2B_DATA *inputData,
3832 TPM2B_DATA **outputData);
3835Esys_Vendor_TCG_Test_Async(
3840 const TPM2B_DATA *inputData);
3843Esys_Vendor_TCG_Test_Finish(
3845 TPM2B_DATA **outputData);
3857 TSS2_SYS_CONTEXT **sys_context);
3860Esys_SetCryptoCallbacks(
Definition esys_int.h:161
Definition tss2_esys.h:408
Definition esys_crypto_mbed.c:34