25#define FAPI_ESYSBLOB_CONTEXTLOAD 1
26#define FAPI_ESYSBLOB_DESERIALIZE 2
30TSS2_RC Fapi_Initialize(
34TSS2_RC Fapi_Initialize_Async(
38TSS2_RC Fapi_Initialize_Finish(
46 TSS2_TCTI_CONTEXT **tcti);
51#if defined(__linux__) || defined(__unix__) || defined(__APPLE__) || defined (__QNXNTO__) || defined (__VXWORKS__)
52#if defined (__VXWORKS__)
57typedef struct pollfd FAPI_POLL_HANDLE;
60typedef HANDLE FAPI_POLL_HANDLE;
62typedef void FAPI_POLL_HANDLE;
63#ifndef FAPI_SUPPRESS_POLL_WARNINGS
64#pragma message "Info: Platform not supported for FAPI_POLL_HANDLES"
68TSS2_RC Fapi_GetPollHandles(
70 FAPI_POLL_HANDLE **handles,
77TSS2_RC Fapi_GetInfo_Async(
80TSS2_RC Fapi_GetInfo_Finish(
86TSS2_RC Fapi_Provision(
88 char const *authValueEh,
89 char const *authValueSh,
90 char const *authValueLockout);
92TSS2_RC Fapi_Provision_Async(
94 char const *authValueEh,
95 char const *authValueSh,
96 char const *authValueLockout);
98TSS2_RC Fapi_Provision_Finish(
101TSS2_RC Fapi_GetPlatformCertificates(
103 uint8_t **certificates,
104 size_t *certificatesSize);
106TSS2_RC Fapi_GetPlatformCertificates_Async(
109TSS2_RC Fapi_GetPlatformCertificates_Finish(
111 uint8_t **certificates,
112 size_t *certificatesSize);
114TSS2_RC Fapi_GetRandom(
119TSS2_RC Fapi_GetRandom_Async(
123TSS2_RC Fapi_GetRandom_Finish(
130 char const *importData);
132TSS2_RC Fapi_Import_Async(
135 char const *importData);
137TSS2_RC Fapi_Import_Finish(
142 char const *searchPath,
145TSS2_RC Fapi_List_Async(
147 char const *searchPath);
149TSS2_RC Fapi_List_Finish(
157TSS2_RC Fapi_Delete_Async(
161TSS2_RC Fapi_Delete_Finish(
164TSS2_RC Fapi_GetEsysBlob(
171TSS2_RC Fapi_GetEsysBlob_Async(
175TSS2_RC Fapi_GetEsysBlob_Finish(
181TSS2_RC Fapi_ChangeAuth(
183 char const *entityPath,
184 char const *authValue);
186TSS2_RC Fapi_ChangeAuth_Async(
188 char const *entityPath,
189 char const *authValue);
191TSS2_RC Fapi_ChangeAuth_Finish(
194TSS2_RC Fapi_SetDescription(
197 char const *description);
199TSS2_RC Fapi_SetDescription_Async(
202 char const *description);
204TSS2_RC Fapi_SetDescription_Finish(
207TSS2_RC Fapi_GetDescription(
212TSS2_RC Fapi_GetDescription_Async(
216TSS2_RC Fapi_GetDescription_Finish(
220TSS2_RC Fapi_SetAppData(
223 uint8_t
const *appData,
226TSS2_RC Fapi_SetAppData_Async(
229 uint8_t
const *appData,
232TSS2_RC Fapi_SetAppData_Finish(
235TSS2_RC Fapi_GetAppData(
239 size_t *appDataSize);
241TSS2_RC Fapi_GetAppData_Async(
245TSS2_RC Fapi_GetAppData_Finish(
248 size_t *appDataSize);
250TSS2_RC Fapi_GetTpmBlobs(
253 uint8_t **tpm2bPublic,
254 size_t *tpm2bPublicSize,
255 uint8_t **tpm2bPrivate,
256 size_t *tpm2bPrivateSize,
259TSS2_RC Fapi_GetTpmBlobs_Async(
263TSS2_RC Fapi_GetTpmBlobs_Finish(
265 uint8_t **tpm2bPublic,
266 size_t *tpm2bPublicSize,
267 uint8_t **tpm2bPrivate,
268 size_t *tpm2bPrivateSize,
273TSS2_RC Fapi_CreateKey(
277 char const *policyPath,
278 char const *authValue);
280TSS2_RC Fapi_CreateKey_Async(
284 char const *policyPath,
285 char const *authValue);
287TSS2_RC Fapi_CreateKey_Finish(
294 uint8_t
const *digest,
297 size_t *signatureSize,
301TSS2_RC Fapi_Sign_Async(
305 uint8_t
const *digest,
308TSS2_RC Fapi_Sign_Finish(
311 size_t *signatureSize,
315TSS2_RC Fapi_VerifySignature(
318 uint8_t
const *digest,
320 uint8_t
const *signature,
321 size_t signatureSize);
323TSS2_RC Fapi_VerifySignature_Async(
326 uint8_t
const *digest,
328 uint8_t
const *signature,
329 size_t signatureSize);
331TSS2_RC Fapi_VerifySignature_Finish(
337 uint8_t
const *plainText,
338 size_t plainTextSize,
339 uint8_t **cipherText,
340 size_t *cipherTextSize);
342TSS2_RC Fapi_Encrypt_Async(
345 uint8_t
const *plainText,
346 size_t plainTextSize);
348TSS2_RC Fapi_Encrypt_Finish(
350 uint8_t **cipherText,
351 size_t *cipherTextSize );
356 uint8_t
const *cipherText,
357 size_t cipherTextSize,
359 size_t *plainTextSize);
361TSS2_RC Fapi_Decrypt_Async(
364 uint8_t
const *cipherText,
365 size_t cipherTextSize);
367TSS2_RC Fapi_Decrypt_Finish(
370 size_t *plainTextSize);
372TSS2_RC Fapi_SetCertificate(
375 char const *x509certData);
377TSS2_RC Fapi_SetCertificate_Async(
380 char const *x509certData);
382TSS2_RC Fapi_SetCertificate_Finish(
385TSS2_RC Fapi_GetCertificate(
388 char **x509certData);
390TSS2_RC Fapi_GetCertificate_Async(
394TSS2_RC Fapi_GetCertificate_Finish(
396 char **x509certData);
398TSS2_RC Fapi_ExportKey(
400 char const *pathOfKeyToDuplicate,
401 char const *pathToPublicKeyOfNewParent,
402 char **exportedData);
404TSS2_RC Fapi_ExportKey_Async(
406 char const *pathOfKeyToDuplicate,
407 char const *pathToPublicKeyOfNewParent);
409TSS2_RC Fapi_ExportKey_Finish(
411 char **exportedData);
415TSS2_RC Fapi_CreateSeal(
420 char const *policyPath,
421 char const *authValue,
422 uint8_t
const *data);
424TSS2_RC Fapi_CreateSeal_Async(
429 char const *policyPath,
430 char const *authValue,
431 uint8_t
const *data);
433TSS2_RC Fapi_CreateSeal_Finish(
442TSS2_RC Fapi_Unseal_Async(
446TSS2_RC Fapi_Unseal_Finish(
453TSS2_RC Fapi_ExportPolicy(
458TSS2_RC Fapi_ExportPolicy_Async(
462TSS2_RC Fapi_ExportPolicy_Finish(
466TSS2_RC Fapi_AuthorizePolicy(
468 char const *policyPath,
470 uint8_t
const *policyRef,
471 size_t policyRefSize);
473TSS2_RC Fapi_AuthorizePolicy_Async(
475 char const *policyPath,
477 uint8_t
const *policyRef,
478 size_t policyRefSize);
480TSS2_RC Fapi_AuthorizePolicy_Finish(
483TSS2_RC Fapi_WriteAuthorizeNv(
486 char const *policyPath);
488TSS2_RC Fapi_WriteAuthorizeNv_Async(
491 char const *policyPath);
493TSS2_RC Fapi_WriteAuthorizeNv_Finish(
502 size_t *pcrValueSize,
505TSS2_RC Fapi_PcrRead_Async(
509TSS2_RC Fapi_PcrRead_Finish(
512 size_t *pcrValueSize,
515TSS2_RC Fapi_PcrExtend(
520 char const *logData);
522TSS2_RC Fapi_PcrExtend_Async(
527 char const *logData);
529TSS2_RC Fapi_PcrExtend_Finish(
538 char const *quoteType,
539 uint8_t
const *qualifyingData,
540 size_t qualifyingDataSize,
543 size_t *signatureSize,
547TSS2_RC Fapi_Quote_Async(
552 char const *quoteType,
553 uint8_t
const *qualifyingData,
554 size_t qualifyingDataSize);
556TSS2_RC Fapi_Quote_Finish(
560 size_t *signatureSize,
564TSS2_RC Fapi_VerifyQuote(
566 char const *publicKeyPath,
567 uint8_t
const *qualifyingData,
568 size_t qualifyingDataSize,
569 char const *quoteInfo,
570 uint8_t
const *signature,
571 size_t signatureSize,
574TSS2_RC Fapi_VerifyQuote_Async(
576 char const *publicKeyPath,
577 uint8_t
const *qualifyingData,
578 size_t qualifyingDataSize,
579 char const *quoteInfo,
580 uint8_t
const *signature,
581 size_t signatureSize,
584TSS2_RC Fapi_VerifyQuote_Finish(
589TSS2_RC Fapi_CreateNv(
594 char const *policyPath,
595 char const *authValue);
597TSS2_RC Fapi_CreateNv_Async(
602 char const *policyPath,
603 char const *authValue);
605TSS2_RC Fapi_CreateNv_Finish(
615TSS2_RC Fapi_NvRead_Async(
619TSS2_RC Fapi_NvRead_Finish(
631TSS2_RC Fapi_NvWrite_Async(
637TSS2_RC Fapi_NvWrite_Finish(
640TSS2_RC Fapi_NvExtend(
645 char const *logData);
647TSS2_RC Fapi_NvExtend_Async(
652 char const *logData);
654TSS2_RC Fapi_NvExtend_Finish(
657TSS2_RC Fapi_NvIncrement(
661TSS2_RC Fapi_NvIncrement_Async(
665TSS2_RC Fapi_NvIncrement_Finish(
668TSS2_RC Fapi_NvSetBits(
673TSS2_RC Fapi_NvSetBits_Async(
678TSS2_RC Fapi_NvSetBits_Finish(
681typedef TSS2_RC (*Fapi_CB_Auth)(
682 char const *objectPath,
683 char const *description,
687TSS2_RC Fapi_SetAuthCB(
689 Fapi_CB_Auth callback,
692typedef TSS2_RC (*Fapi_CB_Branch)(
693 char const *objectPath,
694 char const *description,
695 char const **branchNames,
697 size_t *selectedBranch,
700TSS2_RC Fapi_SetBranchCB(
702 Fapi_CB_Branch callback,
705typedef TSS2_RC (*Fapi_CB_Sign)(
706 char const *objectPath,
707 char const *description,
708 char const *publicKey,
709 char const *publicKeyHint,
711 uint8_t
const *dataToSign,
712 size_t dataToSignSize,
713 uint8_t
const **signature,
714 size_t *signatureSize,
717TSS2_RC Fapi_SetSignCB(
719 Fapi_CB_Sign callback,
722typedef TSS2_RC (*Fapi_CB_PolicyAction)(
723 char const *objectPath,
727TSS2_RC Fapi_SetPolicyActionCB(
729 Fapi_CB_PolicyAction callback,
Definition fapi_int.h:1164