tpm2-tss  3.2.0
TPM Software stack 2.0 TCG spec compliant implementation
tss2_fapi.h
1 /* SPDX-License-Identifier: BSD-2-Clause */
2 /*******************************************************************************
3  * Copyright 2017-2018, Fraunhofer SIT sponsored by Infineon Technologies AG
4  * All rights reserved.
5  *******************************************************************************/
6 #ifndef TSS2_FAPI_H
7 #define TSS2_FAPI_H
8 
9 #include <stddef.h>
10 #include <stdint.h>
11 
12 #include "tss2_tcti.h"
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 /* Type definitions */
19 
20 typedef struct FAPI_CONTEXT FAPI_CONTEXT;
21 
22 
23 /* Defines for blob type of Fapi_GetEsysBlob */
24 
25 #define FAPI_ESYSBLOB_CONTEXTLOAD 1
26 #define FAPI_ESYSBLOB_DESERIALIZE 2
27 
28 /* Context functions */
29 
30 TSS2_RC Fapi_Initialize(
31  FAPI_CONTEXT **context,
32  char const *uri);
33 
34 TSS2_RC Fapi_Initialize_Async(
35  FAPI_CONTEXT **context,
36  char const *uri);
37 
39  FAPI_CONTEXT **context);
40 
41 void Fapi_Finalize(
42  FAPI_CONTEXT **context);
43 
44 TSS2_RC Fapi_GetTcti(
45  FAPI_CONTEXT *context,
46  TSS2_TCTI_CONTEXT **tcti);
47 
48 void Fapi_Free(
49  void *ptr);
50 
51 #if defined(__linux__) || defined(__unix__) || defined(__APPLE__) || defined (__QNXNTO__) || defined (__VXWORKS__)
52 #if defined (__VXWORKS__)
53 #include <sys/poll.h>
54 #else
55 #include <poll.h>
56 #endif
57 typedef struct pollfd FAPI_POLL_HANDLE;
58 #elif defined(_WIN32)
59 #include <windows.h>
60 typedef HANDLE FAPI_POLL_HANDLE;
61 #else
62 typedef void FAPI_POLL_HANDLE;
63 #ifndef FAPI_SUPPRESS_POLL_WARNINGS
64 #pragma message "Info: Platform not supported for FAPI_POLL_HANDLES"
65 #endif
66 #endif
67 
68 TSS2_RC Fapi_GetPollHandles(
69  FAPI_CONTEXT *context,
70  FAPI_POLL_HANDLE **handles,
71  size_t *num_handles);
72 
73 TSS2_RC Fapi_GetInfo(
74  FAPI_CONTEXT *context,
75  char **info);
76 
77 TSS2_RC Fapi_GetInfo_Async(
78  FAPI_CONTEXT *context);
79 
80 TSS2_RC Fapi_GetInfo_Finish(
81  FAPI_CONTEXT *context,
82  char **info);
83 
84 /* General functions */
85 
86 TSS2_RC Fapi_Provision(
87  FAPI_CONTEXT *context,
88  char const *authValueEh,
89  char const *authValueSh,
90  char const *authValueLockout);
91 
92 TSS2_RC Fapi_Provision_Async(
93  FAPI_CONTEXT *context,
94  char const *authValueEh,
95  char const *authValueSh,
96  char const *authValueLockout);
97 
98 TSS2_RC Fapi_Provision_Finish(
99  FAPI_CONTEXT *context);
100 
102  FAPI_CONTEXT *context,
103  uint8_t **certificates,
104  size_t *certificatesSize);
105 
107  FAPI_CONTEXT *context);
108 
110  FAPI_CONTEXT *context,
111  uint8_t **certificates,
112  size_t *certificatesSize);
113 
114 TSS2_RC Fapi_GetRandom(
115  FAPI_CONTEXT *context,
116  size_t numBytes,
117  uint8_t **data);
118 
119 TSS2_RC Fapi_GetRandom_Async(
120  FAPI_CONTEXT *context,
121  size_t numBytes);
122 
123 TSS2_RC Fapi_GetRandom_Finish(
124  FAPI_CONTEXT *context,
125  uint8_t **data);
126 
127 TSS2_RC Fapi_Import(
128  FAPI_CONTEXT *context,
129  char const *path,
130  char const *importData);
131 
132 TSS2_RC Fapi_Import_Async(
133  FAPI_CONTEXT *context,
134  char const *path,
135  char const *importData);
136 
137 TSS2_RC Fapi_Import_Finish(
138  FAPI_CONTEXT *context);
139 
140 TSS2_RC Fapi_List(
141  FAPI_CONTEXT *context,
142  char const *searchPath,
143  char **pathList);
144 
145 TSS2_RC Fapi_List_Async(
146  FAPI_CONTEXT *context,
147  char const *searchPath);
148 
149 TSS2_RC Fapi_List_Finish(
150  FAPI_CONTEXT *context,
151  char **pathList);
152 
153 TSS2_RC Fapi_Delete(
154  FAPI_CONTEXT *context,
155  char const *path);
156 
157 TSS2_RC Fapi_Delete_Async(
158  FAPI_CONTEXT *context,
159  char const *path);
160 
161 TSS2_RC Fapi_Delete_Finish(
162  FAPI_CONTEXT *context);
163 
164 TSS2_RC Fapi_GetEsysBlob(
165  FAPI_CONTEXT *context,
166  char const *path,
167  uint8_t *type,
168  uint8_t **data,
169  size_t *length);
170 
171 TSS2_RC Fapi_GetEsysBlob_Async(
172  FAPI_CONTEXT *context,
173  char const *path);
174 
176  FAPI_CONTEXT *context,
177  uint8_t *type,
178  uint8_t **data,
179  size_t *length);
180 
181 TSS2_RC Fapi_ChangeAuth(
182  FAPI_CONTEXT *context,
183  char const *entityPath,
184  char const *authValue);
185 
186 TSS2_RC Fapi_ChangeAuth_Async(
187  FAPI_CONTEXT *context,
188  char const *entityPath,
189  char const *authValue);
190 
191 TSS2_RC Fapi_ChangeAuth_Finish(
192  FAPI_CONTEXT *context);
193 
194 TSS2_RC Fapi_SetDescription(
195  FAPI_CONTEXT *context,
196  char const *path,
197  char const *description);
198 
200  FAPI_CONTEXT *context,
201  char const *path,
202  char const *description);
203 
205  FAPI_CONTEXT *context);
206 
207 TSS2_RC Fapi_GetDescription(
208  FAPI_CONTEXT *context,
209  char const *path,
210  char **description);
211 
213  FAPI_CONTEXT *context,
214  char const *path);
215 
217  FAPI_CONTEXT *context,
218  char **description);
219 
220 TSS2_RC Fapi_SetAppData(
221  FAPI_CONTEXT *context,
222  char const *path,
223  uint8_t const *appData,
224  size_t appDataSize);
225 
226 TSS2_RC Fapi_SetAppData_Async(
227  FAPI_CONTEXT *context,
228  char const *path,
229  uint8_t const *appData,
230  size_t appDataSize);
231 
232 TSS2_RC Fapi_SetAppData_Finish(
233  FAPI_CONTEXT *context);
234 
235 TSS2_RC Fapi_GetAppData(
236  FAPI_CONTEXT *context,
237  char const *path,
238  uint8_t **appData,
239  size_t *appDataSize);
240 
241 TSS2_RC Fapi_GetAppData_Async(
242  FAPI_CONTEXT *context,
243  char const *path);
244 
245 TSS2_RC Fapi_GetAppData_Finish(
246  FAPI_CONTEXT *context,
247  uint8_t **appData,
248  size_t *appDataSize);
249 
250 TSS2_RC Fapi_GetTpmBlobs(
251  FAPI_CONTEXT *context,
252  char const *path,
253  uint8_t **tpm2bPublic,
254  size_t *tpm2bPublicSize,
255  uint8_t **tpm2bPrivate,
256  size_t *tpm2bPrivateSize,
257  char **policy);
258 
259 TSS2_RC Fapi_GetTpmBlobs_Async(
260  FAPI_CONTEXT *context,
261  char const *path);
262 
264  FAPI_CONTEXT *context,
265  uint8_t **tpm2bPublic,
266  size_t *tpm2bPublicSize,
267  uint8_t **tpm2bPrivate,
268  size_t *tpm2bPrivateSize,
269  char **policy);
270 
271 /* Key functions */
272 
273 TSS2_RC Fapi_CreateKey(
274  FAPI_CONTEXT *context,
275  char const *path,
276  char const *type,
277  char const *policyPath,
278  char const *authValue);
279 
280 TSS2_RC Fapi_CreateKey_Async(
281  FAPI_CONTEXT *context,
282  char const *path,
283  char const *type,
284  char const *policyPath,
285  char const *authValue);
286 
287 TSS2_RC Fapi_CreateKey_Finish(
288  FAPI_CONTEXT *context);
289 
290 TSS2_RC Fapi_Sign(
291  FAPI_CONTEXT *context,
292  char const *keyPath,
293  char const *padding,
294  uint8_t const *digest,
295  size_t digestSize,
296  uint8_t **signature,
297  size_t *signatureSize,
298  char **publicKey,
299  char **certificate);
300 
301 TSS2_RC Fapi_Sign_Async(
302  FAPI_CONTEXT *context,
303  char const *keyPath,
304  char const *padding,
305  uint8_t const *digest,
306  size_t digestSize);
307 
308 TSS2_RC Fapi_Sign_Finish(
309  FAPI_CONTEXT *context,
310  uint8_t **signature,
311  size_t *signatureSize,
312  char **publicKey,
313  char **certificate);
314 
315 TSS2_RC Fapi_VerifySignature(
316  FAPI_CONTEXT *context,
317  char const *keyPath,
318  uint8_t const *digest,
319  size_t digestSize,
320  uint8_t const *signature,
321  size_t signatureSize);
322 
324  FAPI_CONTEXT *context,
325  char const *keyPath,
326  uint8_t const *digest,
327  size_t digestSize,
328  uint8_t const *signature,
329  size_t signatureSize);
330 
332  FAPI_CONTEXT *context);
333 
334 TSS2_RC Fapi_Encrypt(
335  FAPI_CONTEXT *context,
336  char const *keyPath,
337  uint8_t const *plainText,
338  size_t plainTextSize,
339  uint8_t **cipherText,
340  size_t *cipherTextSize);
341 
342 TSS2_RC Fapi_Encrypt_Async(
343  FAPI_CONTEXT *context,
344  char const *keyPath,
345  uint8_t const *plainText,
346  size_t plainTextSize);
347 
348 TSS2_RC Fapi_Encrypt_Finish(
349  FAPI_CONTEXT *context,
350  uint8_t **cipherText,
351  size_t *cipherTextSize );
352 
353 TSS2_RC Fapi_Decrypt(
354  FAPI_CONTEXT *context,
355  char const *keyPath,
356  uint8_t const *cipherText,
357  size_t cipherTextSize,
358  uint8_t **plainText,
359  size_t *plainTextSize);
360 
361 TSS2_RC Fapi_Decrypt_Async(
362  FAPI_CONTEXT *context,
363  char const *keyPath,
364  uint8_t const *cipherText,
365  size_t cipherTextSize);
366 
367 TSS2_RC Fapi_Decrypt_Finish(
368  FAPI_CONTEXT *context,
369  uint8_t **plainText,
370  size_t *plainTextSize);
371 
372 TSS2_RC Fapi_SetCertificate(
373  FAPI_CONTEXT *context,
374  char const *path,
375  char const *x509certData);
376 
378  FAPI_CONTEXT *context,
379  char const *path,
380  char const *x509certData);
381 
383  FAPI_CONTEXT *context);
384 
385 TSS2_RC Fapi_GetCertificate(
386  FAPI_CONTEXT *context,
387  char const *path,
388  char **x509certData);
389 
391  FAPI_CONTEXT *context,
392  char const *path);
393 
395  FAPI_CONTEXT *context,
396  char **x509certData);
397 
398 TSS2_RC Fapi_ExportKey(
399  FAPI_CONTEXT *context,
400  char const *pathOfKeyToDuplicate,
401  char const *pathToPublicKeyOfNewParent,
402  char **exportedData);
403 
404 TSS2_RC Fapi_ExportKey_Async(
405  FAPI_CONTEXT *context,
406  char const *pathOfKeyToDuplicate,
407  char const *pathToPublicKeyOfNewParent);
408 
409 TSS2_RC Fapi_ExportKey_Finish(
410  FAPI_CONTEXT *context,
411  char **exportedData);
412 
413 /* Seal functions */
414 
415 TSS2_RC Fapi_CreateSeal(
416  FAPI_CONTEXT *context,
417  char const *path,
418  char const *type,
419  size_t size,
420  char const *policyPath,
421  char const *authValue,
422  uint8_t const *data);
423 
424 TSS2_RC Fapi_CreateSeal_Async(
425  FAPI_CONTEXT *context,
426  char const *path,
427  char const *type,
428  size_t size,
429  char const *policyPath,
430  char const *authValue,
431  uint8_t const *data);
432 
433 TSS2_RC Fapi_CreateSeal_Finish(
434  FAPI_CONTEXT *context);
435 
436 TSS2_RC Fapi_Unseal(
437  FAPI_CONTEXT *context,
438  char const *path,
439  uint8_t **data,
440  size_t *size);
441 
442 TSS2_RC Fapi_Unseal_Async(
443  FAPI_CONTEXT *context,
444  char const *path);
445 
446 TSS2_RC Fapi_Unseal_Finish(
447  FAPI_CONTEXT *context,
448  uint8_t **data,
449  size_t *size);
450 
451 /* Policy functions */
452 
453 TSS2_RC Fapi_ExportPolicy(
454  FAPI_CONTEXT *context,
455  char const *path,
456  char **jsonPolicy);
457 
459  FAPI_CONTEXT *context,
460  char const *path);
461 
463  FAPI_CONTEXT *context,
464  char **jsonPolicy);
465 
466 TSS2_RC Fapi_AuthorizePolicy(
467  FAPI_CONTEXT *context,
468  char const *policyPath,
469  char const *keyPath,
470  uint8_t const *policyRef,
471  size_t policyRefSize);
472 
474  FAPI_CONTEXT *context,
475  char const *policyPath,
476  char const *keyPath,
477  uint8_t const *policyRef,
478  size_t policyRefSize);
479 
481  FAPI_CONTEXT *context);
482 
483 TSS2_RC Fapi_WriteAuthorizeNv(
484  FAPI_CONTEXT *context,
485  char const *nvPath,
486  char const *policyPath);
487 
489  FAPI_CONTEXT *context,
490  char const *nvPath,
491  char const *policyPath);
492 
494  FAPI_CONTEXT *context);
495 
496 /* Attestation functions */
497 
498 TSS2_RC Fapi_PcrRead(
499  FAPI_CONTEXT *context,
500  uint32_t pcrIndex,
501  uint8_t **pcrValue,
502  size_t *pcrValueSize,
503  char **pcrLog);
504 
505 TSS2_RC Fapi_PcrRead_Async(
506  FAPI_CONTEXT *context,
507  uint32_t pcrIndex);
508 
509 TSS2_RC Fapi_PcrRead_Finish(
510  FAPI_CONTEXT *context,
511  uint8_t **pcrValue,
512  size_t *pcrValueSize,
513  char **pcrLog);
514 
515 TSS2_RC Fapi_PcrExtend(
516  FAPI_CONTEXT *context,
517  uint32_t pcr,
518  uint8_t const *data,
519  size_t dataSize,
520  char const *logData);
521 
522 TSS2_RC Fapi_PcrExtend_Async(
523  FAPI_CONTEXT *context,
524  uint32_t pcr,
525  uint8_t const *data,
526  size_t dataSize,
527  char const *logData);
528 
529 TSS2_RC Fapi_PcrExtend_Finish(
530  FAPI_CONTEXT *context);
531 
532 
533 TSS2_RC Fapi_Quote(
534  FAPI_CONTEXT *context,
535  uint32_t *pcrList,
536  size_t pcrListSize,
537  char const *keyPath,
538  char const *quoteType,
539  uint8_t const *qualifyingData,
540  size_t qualifyingDataSize,
541  char **quoteInfo,
542  uint8_t **signature,
543  size_t *signatureSize,
544  char **pcrLog,
545  char **certificate);
546 
547 TSS2_RC Fapi_Quote_Async(
548  FAPI_CONTEXT *context,
549  uint32_t *pcrList,
550  size_t pcrListSize,
551  char const *keyPath,
552  char const *quoteType,
553  uint8_t const *qualifyingData,
554  size_t qualifyingDataSize);
555 
556 TSS2_RC Fapi_Quote_Finish(
557  FAPI_CONTEXT *context,
558  char **quoteInfo,
559  uint8_t **signature,
560  size_t *signatureSize,
561  char **pcrLog,
562  char **certificate);
563 
564 TSS2_RC Fapi_VerifyQuote(
565  FAPI_CONTEXT *context,
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,
572  char const *pcrLog);
573 
574 TSS2_RC Fapi_VerifyQuote_Async(
575  FAPI_CONTEXT *context,
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,
582  char const *pcrLog);
583 
585  FAPI_CONTEXT *context);
586 
587 /* NV functions */
588 
589 TSS2_RC Fapi_CreateNv(
590  FAPI_CONTEXT *context,
591  char const *path,
592  char const *type,
593  size_t size,
594  char const *policyPath,
595  char const *authValue);
596 
597 TSS2_RC Fapi_CreateNv_Async(
598  FAPI_CONTEXT *context,
599  char const *path,
600  char const *type,
601  size_t size,
602  char const *policyPath,
603  char const *authValue);
604 
605 TSS2_RC Fapi_CreateNv_Finish(
606  FAPI_CONTEXT *context);
607 
608 TSS2_RC Fapi_NvRead(
609  FAPI_CONTEXT *context,
610  char const *path,
611  uint8_t **data,
612  size_t *size,
613  char **logData);
614 
615 TSS2_RC Fapi_NvRead_Async(
616  FAPI_CONTEXT *context,
617  char const *path);
618 
619 TSS2_RC Fapi_NvRead_Finish(
620  FAPI_CONTEXT *context,
621  uint8_t **data,
622  size_t *size,
623  char **logData);
624 
625 TSS2_RC Fapi_NvWrite(
626  FAPI_CONTEXT *context,
627  char const *path,
628  uint8_t const *data,
629  size_t size);
630 
631 TSS2_RC Fapi_NvWrite_Async(
632  FAPI_CONTEXT *context,
633  char const *path,
634  uint8_t const *data,
635  size_t size);
636 
637 TSS2_RC Fapi_NvWrite_Finish(
638  FAPI_CONTEXT *context);
639 
640 TSS2_RC Fapi_NvExtend(
641  FAPI_CONTEXT *context,
642  char const *path,
643  uint8_t const *data,
644  size_t size,
645  char const *logData);
646 
647 TSS2_RC Fapi_NvExtend_Async(
648  FAPI_CONTEXT *context,
649  char const *path,
650  uint8_t const *data,
651  size_t size,
652  char const *logData);
653 
654 TSS2_RC Fapi_NvExtend_Finish(
655  FAPI_CONTEXT *context);
656 
657 TSS2_RC Fapi_NvIncrement(
658  FAPI_CONTEXT *context,
659  char const *path);
660 
661 TSS2_RC Fapi_NvIncrement_Async(
662  FAPI_CONTEXT *context,
663  char const *path);
664 
666  FAPI_CONTEXT *context);
667 
668 TSS2_RC Fapi_NvSetBits(
669  FAPI_CONTEXT *context,
670  char const *path,
671  uint64_t bitmap);
672 
673 TSS2_RC Fapi_NvSetBits_Async(
674  FAPI_CONTEXT *context,
675  char const *path,
676  uint64_t bitmap);
677 
678 TSS2_RC Fapi_NvSetBits_Finish(
679  FAPI_CONTEXT *context);
680 
681 typedef TSS2_RC (*Fapi_CB_Auth)(
682  char const *objectPath,
683  char const *description,
684  char const **auth,
685  void *userData);
686 
687 TSS2_RC Fapi_SetAuthCB(
688  FAPI_CONTEXT *context,
689  Fapi_CB_Auth callback,
690  void *userData);
691 
692 typedef TSS2_RC (*Fapi_CB_Branch)(
693  char const *objectPath,
694  char const *description,
695  char const **branchNames,
696  size_t numBranches,
697  size_t *selectedBranch,
698  void *userData);
699 
700 TSS2_RC Fapi_SetBranchCB(
701  FAPI_CONTEXT *context,
702  Fapi_CB_Branch callback,
703  void *userData);
704 
705 typedef TSS2_RC (*Fapi_CB_Sign)(
706  char const *objectPath,
707  char const *description,
708  char const *publicKey,
709  char const *publicKeyHint,
710  uint32_t hashAlg,
711  uint8_t const *dataToSign,
712  size_t dataToSignSize,
713  uint8_t const **signature,
714  size_t *signatureSize,
715  void *userData);
716 
717 TSS2_RC Fapi_SetSignCB(
718  FAPI_CONTEXT *context,
719  Fapi_CB_Sign callback,
720  void *userData);
721 
722 typedef TSS2_RC (*Fapi_CB_PolicyAction)(
723  char const *objectPath,
724  char const *action,
725  void *userData);
726 
727 TSS2_RC Fapi_SetPolicyActionCB(
728  FAPI_CONTEXT *context,
729  Fapi_CB_PolicyAction callback,
730  void *userData);
731 
732 #ifdef __cplusplus
733 }
734 #endif
735 
736 #endif /* TSS2_FAPI_H */
TSS2_RC Fapi_CreateSeal(FAPI_CONTEXT *context, char const *path, char const *type, size_t size, char const *policyPath, char const *authValue, uint8_t const *data)
Definition: Fapi_CreateSeal.c:73
TSS2_RC Fapi_NvWrite_Finish(FAPI_CONTEXT *context)
Definition: Fapi_NvWrite.c:239
TSS2_RC Fapi_SetAuthCB(FAPI_CONTEXT *context, Fapi_CB_Auth callback, void *userData)
Definition: fapi_callback.c:84
TSS2_RC Fapi_Quote(FAPI_CONTEXT *context, uint32_t *pcrList, size_t pcrListSize, char const *keyPath, char const *quoteType, uint8_t const *qualifyingData, size_t qualifyingDataSize, char **quoteInfo, uint8_t **signature, size_t *signatureSize, char **pcrLog, char **certificate)
Definition: Fapi_Quote.c:75
TSS2_RC Fapi_GetTpmBlobs_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_GetTpmBlobs.c:127
TSS2_RC Fapi_GetInfo_Async(FAPI_CONTEXT *context)
Definition: Fapi_GetInfo.c:150
TSS2_RC Fapi_GetPlatformCertificates_Finish(FAPI_CONTEXT *context, uint8_t **certificates, size_t *certificatesSize)
Definition: Fapi_GetPlatformCertificates.c:203
TSS2_RC Fapi_Initialize_Async(FAPI_CONTEXT **context, char const *uri)
Definition: Fapi_Initialize.c:106
TSS2_RC Fapi_CreateSeal_Finish(FAPI_CONTEXT *context)
Definition: Fapi_CreateSeal.c:251
void Fapi_Free(void *ptr)
Definition: Fapi_Free.c:23
TSS2_RC Fapi_CreateNv_Async(FAPI_CONTEXT *context, char const *path, char const *type, size_t size, char const *policyPath, char const *authValue)
Definition: Fapi_CreateNv.c:162
Definition: fapi_int.h:1120
TSS2_RC Fapi_GetTcti(FAPI_CONTEXT *context, TSS2_TCTI_CONTEXT **tcti)
Definition: Fapi_GetTcti.c:38
TSS2_RC Fapi_SetDescription_Finish(FAPI_CONTEXT *context)
Definition: Fapi_SetDescription.c:189
TSS2_RC Fapi_GetCertificate_Finish(FAPI_CONTEXT *context, char **x509certData)
Definition: Fapi_GetCertificate.c:174
TSS2_RC Fapi_VerifyQuote_Finish(FAPI_CONTEXT *context)
Definition: Fapi_VerifyQuote.c:257
TSS2_RC Fapi_ExportPolicy_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_ExportPolicy.c:126
TSS2_RC Fapi_Delete_Finish(FAPI_CONTEXT *context)
Definition: Fapi_Delete.c:503
TSS2_RC Fapi_GetPlatformCertificates(FAPI_CONTEXT *context, uint8_t **certificates, size_t *certificatesSize)
Definition: Fapi_GetPlatformCertificates.c:67
TSS2_RC Fapi_GetRandom_Finish(FAPI_CONTEXT *context, uint8_t **data)
Definition: Fapi_GetRandom.c:209
TSS2_RC Fapi_ExportPolicy(FAPI_CONTEXT *context, char const *path, char **jsonPolicy)
Definition: Fapi_ExportPolicy.c:52
TSS2_RC Fapi_Unseal_Finish(FAPI_CONTEXT *context, uint8_t **data, size_t *size)
Definition: Fapi_Unseal.c:212
TSS2_RC Fapi_AuthorizePolicy_Finish(FAPI_CONTEXT *context)
Definition: Fapi_AuthorizePolicy.c:244
TSS2_RC Fapi_NvSetBits(FAPI_CONTEXT *context, char const *path, uint64_t bitmap)
Definition: Fapi_NvSetBits.c:63
TSS2_RC Fapi_PcrRead(FAPI_CONTEXT *context, uint32_t pcrIndex, uint8_t **pcrValue, size_t *pcrValueSize, char **pcrLog)
Definition: Fapi_PcrRead.c:59
TSS2_RC Fapi_List(FAPI_CONTEXT *context, char const *searchPath, char **pathList)
Definition: Fapi_List.c:53
TSS2_RC Fapi_CreateNv(FAPI_CONTEXT *context, char const *path, char const *type, size_t size, char const *policyPath, char const *authValue)
Definition: Fapi_CreateNv.c:72
TSS2_RC Fapi_ChangeAuth_Finish(FAPI_CONTEXT *context)
Definition: Fapi_ChangeAuth.c:258
TSS2_RC Fapi_GetTpmBlobs_Finish(FAPI_CONTEXT *context, uint8_t **tpm2bPublic, size_t *tpm2bPublicSize, uint8_t **tpm2bPrivate, size_t *tpm2bPrivateSize, char **policy)
Definition: Fapi_GetTpmBlobs.c:180
TSS2_RC Fapi_Provision_Async(FAPI_CONTEXT *context, char const *authValueEh, char const *authValueSh, char const *authValueLockout)
Definition: Fapi_Provision.c:207
TSS2_RC Fapi_SetBranchCB(FAPI_CONTEXT *context, Fapi_CB_Branch callback, void *userData)
Definition: fapi_callback.c:45
TSS2_RC Fapi_Import_Finish(FAPI_CONTEXT *context)
Definition: Fapi_Import.c:364
TSS2_RC Fapi_NvWrite_Async(FAPI_CONTEXT *context, char const *path, uint8_t const *data, size_t size)
Definition: Fapi_NvWrite.c:147
TSS2_RC Fapi_PcrExtend_Async(FAPI_CONTEXT *context, uint32_t pcr, uint8_t const *data, size_t dataSize, char const *logData)
Definition: Fapi_PcrExtend.c:144
TSS2_RC Fapi_Provision_Finish(FAPI_CONTEXT *context)
Definition: Fapi_Provision.c:326
TSS2_RC Fapi_Decrypt(FAPI_CONTEXT *context, char const *keyPath, uint8_t const *cipherText, size_t cipherTextSize, uint8_t **plainText, size_t *plainTextSize)
Definition: Fapi_Decrypt.c:72
TSS2_RC Fapi_CreateSeal_Async(FAPI_CONTEXT *context, char const *path, char const *type, size_t size, char const *policyPath, char const *authValue, uint8_t const *data)
Definition: Fapi_CreateSeal.c:168
TSS2_RC Fapi_SetPolicyActionCB(FAPI_CONTEXT *context, Fapi_CB_PolicyAction callback, void *userData)
Definition: fapi_callback.c:163
TSS2_RC Fapi_SetAppData_Finish(FAPI_CONTEXT *context)
Definition: Fapi_SetAppData.c:212
TSS2_RC Fapi_AuthorizePolicy(FAPI_CONTEXT *context, char const *policyPath, char const *keyPath, uint8_t const *policyRef, size_t policyRefSize)
Definition: Fapi_AuthorizePolicy.c:65
TSS2_RC Fapi_GetEsysBlob_Finish(FAPI_CONTEXT *context, uint8_t *type, uint8_t **data, size_t *length)
Definition: Fapi_GetEsysBlob.c:228
TSS2_RC Fapi_SetCertificate(FAPI_CONTEXT *context, char const *path, char const *x509certData)
Definition: Fapi_SetCertificate.c:61
void Fapi_Finalize(FAPI_CONTEXT **context)
Definition: Fapi_Finalize.c:35
TSS2_RC Fapi_ExportKey_Finish(FAPI_CONTEXT *context, char **exportedData)
Definition: Fapi_ExportKey.c:264
TSS2_RC Fapi_NvRead_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_NvRead.c:152
TSS2_RC Fapi_VerifyQuote_Async(FAPI_CONTEXT *context, char const *publicKeyPath, uint8_t const *qualifyingData, size_t qualifyingDataSize, char const *quoteInfo, uint8_t const *signature, size_t signatureSize, char const *pcrLog)
Definition: Fapi_VerifyQuote.c:145
TSS2_RC Fapi_Import(FAPI_CONTEXT *context, char const *path, char const *importData)
Definition: Fapi_Import.c:69
TSS2_RC Fapi_GetEsysBlob_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_GetEsysBlob.c:135
TSS2_RC Fapi_Sign(FAPI_CONTEXT *context, char const *keyPath, char const *padding, uint8_t const *digest, size_t digestSize, uint8_t **signature, size_t *signatureSize, char **publicKey, char **certificate)
Definition: Fapi_Sign.c:76
TSS2_RC Fapi_GetAppData_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_GetAppData.c:120
TSS2_RC Fapi_ChangeAuth_Async(FAPI_CONTEXT *context, char const *entityPath, char const *authValue)
Definition: Fapi_ChangeAuth.c:150
TSS2_RC Fapi_ExportKey(FAPI_CONTEXT *context, char const *pathOfKeyToDuplicate, char const *pathToPublicKeyOfNewParent, char **exportedData)
Definition: Fapi_ExportKey.c:77
TSS2_RC Fapi_VerifyQuote(FAPI_CONTEXT *context, char const *publicKeyPath, uint8_t const *qualifyingData, size_t qualifyingDataSize, char const *quoteInfo, uint8_t const *signature, size_t signatureSize, char const *pcrLog)
Definition: Fapi_VerifyQuote.c:66
TSS2_RC Fapi_GetTpmBlobs(FAPI_CONTEXT *context, char const *path, uint8_t **tpm2bPublic, size_t *tpm2bPublicSize, uint8_t **tpm2bPrivate, size_t *tpm2bPrivateSize, char **policy)
Definition: Fapi_GetTpmBlobs.c:62
TSS2_RC Fapi_Unseal_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_Unseal.c:140
TSS2_RC Fapi_Initialize_Finish(FAPI_CONTEXT **context)
Definition: Fapi_Initialize.c:170
TSS2_RC Fapi_NvSetBits_Finish(FAPI_CONTEXT *context)
Definition: Fapi_NvSetBits.c:225
TSS2_RC Fapi_NvExtend(FAPI_CONTEXT *context, char const *path, uint8_t const *data, size_t size, char const *logData)
Definition: Fapi_NvExtend.c:66
TSS2_RC Fapi_GetInfo(FAPI_CONTEXT *context, char **info)
Definition: Fapi_GetInfo.c:79
TSS2_RC Fapi_NvRead(FAPI_CONTEXT *context, char const *path, uint8_t **data, size_t *size, char **logData)
Definition: Fapi_NvRead.c:65
TSS2_RC Fapi_ExportPolicy_Finish(FAPI_CONTEXT *context, char **jsonPolicy)
Definition: Fapi_ExportPolicy.c:195
TSS2_RC Fapi_GetDescription(FAPI_CONTEXT *context, char const *path, char **description)
Definition: Fapi_GetDescription.c:53
TSS2_RC Fapi_GetPlatformCertificates_Async(FAPI_CONTEXT *context)
Definition: Fapi_GetPlatformCertificates.c:143
TSS2_RC Fapi_Initialize(FAPI_CONTEXT **context, char const *uri)
Definition: Fapi_Initialize.c:54
TSS2_RC Fapi_Quote_Finish(FAPI_CONTEXT *context, char **quoteInfo, uint8_t **signature, size_t *signatureSize, char **pcrLog, char **certificate)
Definition: Fapi_Quote.c:301
TSS2_RC Fapi_ExportKey_Async(FAPI_CONTEXT *context, char const *pathOfKeyToDuplicate, char const *pathToPublicKeyOfNewParent)
Definition: Fapi_ExportKey.c:170
TSS2_RC Fapi_NvIncrement_Finish(FAPI_CONTEXT *context)
Definition: Fapi_NvIncrement.c:217
TSS2_RC Fapi_Encrypt(FAPI_CONTEXT *context, char const *keyPath, uint8_t const *plainText, size_t plainTextSize, uint8_t **cipherText, size_t *cipherTextSize)
Definition: Fapi_Encrypt.c:76
TSS2_RC Fapi_WriteAuthorizeNv(FAPI_CONTEXT *context, char const *nvPath, char const *policyPath)
Definition: Fapi_WriteAuthorizeNV.c:60
TSS2_RC Fapi_NvExtend_Finish(FAPI_CONTEXT *context)
Definition: Fapi_NvExtend.c:252
TSS2_RC Fapi_Encrypt_Async(FAPI_CONTEXT *context, char const *keyPath, uint8_t const *plainText, size_t plainTextSize)
Definition: Fapi_Encrypt.c:161
TSS2_RC Fapi_Decrypt_Finish(FAPI_CONTEXT *context, uint8_t **plainText, size_t *plainTextSize)
Definition: Fapi_Decrypt.c:240
TSS2_RC Fapi_Import_Async(FAPI_CONTEXT *context, char const *path, char const *importData)
Definition: Fapi_Import.c:137
TSS2_RC Fapi_Sign_Async(FAPI_CONTEXT *context, char const *keyPath, char const *padding, uint8_t const *digest, size_t digestSize)
Definition: Fapi_Sign.c:167
TSS2_RC Fapi_VerifySignature_Finish(FAPI_CONTEXT *context)
Definition: Fapi_VerifySignature.c:228
TSS2_RC Fapi_GetRandom(FAPI_CONTEXT *context, size_t numBytes, uint8_t **data)
Definition: Fapi_GetRandom.c:59
TSS2_RC Fapi_Delete(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_Delete.c:300
TSS2_RC Fapi_GetAppData(FAPI_CONTEXT *context, char const *path, uint8_t **appData, size_t *appDataSize)
Definition: Fapi_GetAppData.c:57
TSS2_RC Fapi_Provision(FAPI_CONTEXT *context, char const *authValueEh, char const *authValueSh, char const *authValueLockout)
Definition: Fapi_Provision.c:123
TSS2_RC Fapi_SetAppData(FAPI_CONTEXT *context, char const *path, uint8_t const *appData, size_t appDataSize)
Definition: Fapi_SetAppData.c:58
TSS2_RC Fapi_Encrypt_Finish(FAPI_CONTEXT *context, uint8_t **cipherText, size_t *cipherTextSize)
Definition: Fapi_Encrypt.c:247
TSS2_RC Fapi_GetRandom_Async(FAPI_CONTEXT *context, size_t numBytes)
Definition: Fapi_GetRandom.c:139
TSS2_RC Fapi_SetSignCB(FAPI_CONTEXT *context, Fapi_CB_Sign callback, void *userData)
Definition: fapi_callback.c:123
TSS2_RC Fapi_NvRead_Finish(FAPI_CONTEXT *context, uint8_t **data, size_t *size, char **logData)
Definition: Fapi_NvRead.c:229
TSS2_RC Fapi_NvWrite(FAPI_CONTEXT *context, char const *path, uint8_t const *data, size_t size)
Definition: Fapi_NvWrite.c:65
TSS2_RC Fapi_Decrypt_Async(FAPI_CONTEXT *context, char const *keyPath, uint8_t const *cipherText, size_t cipherTextSize)
Definition: Fapi_Decrypt.c:155
TSS2_RC Fapi_Delete_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_Delete.c:363
TSS2_RC Fapi_NvExtend_Async(FAPI_CONTEXT *context, char const *path, uint8_t const *data, size_t size, char const *logData)
Definition: Fapi_NvExtend.c:154
TSS2_RC Fapi_GetDescription_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_GetDescription.c:113
TSS2_RC Fapi_Unseal(FAPI_CONTEXT *context, char const *path, uint8_t **data, size_t *size)
Definition: Fapi_Unseal.c:65
TSS2_RC Fapi_WriteAuthorizeNv_Async(FAPI_CONTEXT *context, char const *nvPath, char const *policyPath)
Definition: Fapi_WriteAuthorizeNV.c:143
TSS2_RC Fapi_AuthorizePolicy_Async(FAPI_CONTEXT *context, char const *policyPath, char const *keyPath, uint8_t const *policyRef, size_t policyRefSize)
Definition: Fapi_AuthorizePolicy.c:152
TSS2_RC Fapi_SetDescription(FAPI_CONTEXT *context, char const *path, char const *description)
Definition: Fapi_SetDescription.c:54
TSS2_RC Fapi_List_Async(FAPI_CONTEXT *context, char const *searchPath)
Definition: Fapi_List.c:110
TSS2_RC Fapi_PcrRead_Finish(FAPI_CONTEXT *context, uint8_t **pcrValue, size_t *pcrValueSize, char **pcrLog)
Definition: Fapi_PcrRead.c:202
TSS2_RC Fapi_Sign_Finish(FAPI_CONTEXT *context, uint8_t **signature, size_t *signatureSize, char **publicKey, char **certificate)
Definition: Fapi_Sign.c:263
TSS2_RC Fapi_NvIncrement(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_NvIncrement.c:61
TSS2_RC Fapi_PcrExtend(FAPI_CONTEXT *context, uint32_t pcr, uint8_t const *data, size_t dataSize, char const *logData)
Definition: Fapi_PcrExtend.c:62
TSS2_RC Fapi_SetCertificate_Finish(FAPI_CONTEXT *context)
Definition: Fapi_SetCertificate.c:197
TSS2_RC Fapi_NvSetBits_Async(FAPI_CONTEXT *context, char const *path, uint64_t bitmap)
Definition: Fapi_NvSetBits.c:148
TSS2_RC Fapi_CreateKey(FAPI_CONTEXT *context, char const *path, char const *type, char const *policyPath, char const *authValue)
Definition: Fapi_CreateKey.c:69
TSS2_RC Fapi_PcrExtend_Finish(FAPI_CONTEXT *context)
Definition: Fapi_PcrExtend.c:234
TSS2_RC Fapi_GetCertificate(FAPI_CONTEXT *context, char const *path, char **x509certData)
Definition: Fapi_GetCertificate.c:60
TSS2_RC Fapi_WriteAuthorizeNv_Finish(FAPI_CONTEXT *context)
Definition: Fapi_WriteAuthorizeNV.c:220
TSS2_RC Fapi_GetAppData_Finish(FAPI_CONTEXT *context, uint8_t **appData, size_t *appDataSize)
Definition: Fapi_GetAppData.c:171
TSS2_RC Fapi_GetDescription_Finish(FAPI_CONTEXT *context, char **description)
Definition: Fapi_GetDescription.c:159
TSS2_RC Fapi_SetAppData_Async(FAPI_CONTEXT *context, char const *path, uint8_t const *appData, size_t appDataSize)
Definition: Fapi_SetAppData.c:122
TSS2_RC Fapi_VerifySignature(FAPI_CONTEXT *context, char const *keyPath, uint8_t const *digest, size_t digestSize, uint8_t const *signature, size_t signatureSize)
Definition: Fapi_VerifySignature.c:63
TSS2_RC Fapi_ChangeAuth(FAPI_CONTEXT *context, char const *entityPath, char const *authValue)
Definition: Fapi_ChangeAuth.c:66
TSS2_RC Fapi_Quote_Async(FAPI_CONTEXT *context, uint32_t *pcrList, size_t pcrListSize, char const *keyPath, char const *quoteType, uint8_t const *qualifyingData, size_t qualifyingDataSize)
Definition: Fapi_Quote.c:174
TSS2_RC Fapi_GetCertificate_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_GetCertificate.c:124
TSS2_RC Fapi_CreateNv_Finish(FAPI_CONTEXT *context)
Definition: Fapi_CreateNv.c:273
TSS2_RC Fapi_SetDescription_Async(FAPI_CONTEXT *context, char const *path, char const *description)
Definition: Fapi_SetDescription.c:115
TSS2_RC Fapi_GetPollHandles(FAPI_CONTEXT *context, FAPI_POLL_HANDLE **handles, size_t *num_handles)
Definition: Fapi_GetPollHandles.c:46
TSS2_RC Fapi_CreateKey_Finish(FAPI_CONTEXT *context)
Definition: Fapi_CreateKey.c:265
TSS2_RC Fapi_CreateKey_Async(FAPI_CONTEXT *context, char const *path, char const *type, char const *policyPath, char const *authValue)
Definition: Fapi_CreateKey.c:156
TSS2_RC Fapi_List_Finish(FAPI_CONTEXT *context, char **pathList)
Definition: Fapi_List.c:167
TSS2_RC Fapi_PcrRead_Async(FAPI_CONTEXT *context, uint32_t pcrIndex)
Definition: Fapi_PcrRead.c:134
TSS2_RC Fapi_VerifySignature_Async(FAPI_CONTEXT *context, char const *keyPath, uint8_t const *digest, size_t digestSize, uint8_t const *signature, size_t signatureSize)
Definition: Fapi_VerifySignature.c:138
TSS2_RC Fapi_SetCertificate_Async(FAPI_CONTEXT *context, char const *path, char const *x509certData)
Definition: Fapi_SetCertificate.c:126
TSS2_RC Fapi_GetInfo_Finish(FAPI_CONTEXT *context, char **info)
Definition: Fapi_GetInfo.c:202
TSS2_RC Fapi_NvIncrement_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_NvIncrement.c:143