tpm2-tss 3.2.1
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
15extern "C" {
16#endif
17
18/* Type definitions */
19
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
30TSS2_RC Fapi_Initialize(
31 FAPI_CONTEXT **context,
32 char const *uri);
33
35 FAPI_CONTEXT **context,
36 char const *uri);
37
39 FAPI_CONTEXT **context);
40
41void Fapi_Finalize(
42 FAPI_CONTEXT **context);
43
44TSS2_RC Fapi_GetTcti(
45 FAPI_CONTEXT *context,
46 TSS2_TCTI_CONTEXT **tcti);
47
48void 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
57typedef struct pollfd FAPI_POLL_HANDLE;
58#elif defined(_WIN32)
59#include <windows.h>
60typedef HANDLE FAPI_POLL_HANDLE;
61#else
62typedef 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
69 FAPI_CONTEXT *context,
70 FAPI_POLL_HANDLE **handles,
71 size_t *num_handles);
72
73TSS2_RC Fapi_GetInfo(
74 FAPI_CONTEXT *context,
75 char **info);
76
77TSS2_RC Fapi_GetInfo_Async(
78 FAPI_CONTEXT *context);
79
81 FAPI_CONTEXT *context,
82 char **info);
83
84/* General functions */
85
86TSS2_RC Fapi_Provision(
87 FAPI_CONTEXT *context,
88 char const *authValueEh,
89 char const *authValueSh,
90 char const *authValueLockout);
91
93 FAPI_CONTEXT *context,
94 char const *authValueEh,
95 char const *authValueSh,
96 char const *authValueLockout);
97
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
114TSS2_RC Fapi_GetRandom(
115 FAPI_CONTEXT *context,
116 size_t numBytes,
117 uint8_t **data);
118
120 FAPI_CONTEXT *context,
121 size_t numBytes);
122
124 FAPI_CONTEXT *context,
125 uint8_t **data);
126
127TSS2_RC Fapi_Import(
128 FAPI_CONTEXT *context,
129 char const *path,
130 char const *importData);
131
132TSS2_RC Fapi_Import_Async(
133 FAPI_CONTEXT *context,
134 char const *path,
135 char const *importData);
136
137TSS2_RC Fapi_Import_Finish(
138 FAPI_CONTEXT *context);
139
140TSS2_RC Fapi_List(
141 FAPI_CONTEXT *context,
142 char const *searchPath,
143 char **pathList);
144
145TSS2_RC Fapi_List_Async(
146 FAPI_CONTEXT *context,
147 char const *searchPath);
148
149TSS2_RC Fapi_List_Finish(
150 FAPI_CONTEXT *context,
151 char **pathList);
152
153TSS2_RC Fapi_Delete(
154 FAPI_CONTEXT *context,
155 char const *path);
156
157TSS2_RC Fapi_Delete_Async(
158 FAPI_CONTEXT *context,
159 char const *path);
160
161TSS2_RC Fapi_Delete_Finish(
162 FAPI_CONTEXT *context);
163
164TSS2_RC Fapi_GetEsysBlob(
165 FAPI_CONTEXT *context,
166 char const *path,
167 uint8_t *type,
168 uint8_t **data,
169 size_t *length);
170
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
181TSS2_RC Fapi_ChangeAuth(
182 FAPI_CONTEXT *context,
183 char const *entityPath,
184 char const *authValue);
185
187 FAPI_CONTEXT *context,
188 char const *entityPath,
189 char const *authValue);
190
192 FAPI_CONTEXT *context);
193
194TSS2_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
207TSS2_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
220TSS2_RC Fapi_SetAppData(
221 FAPI_CONTEXT *context,
222 char const *path,
223 uint8_t const *appData,
224 size_t appDataSize);
225
227 FAPI_CONTEXT *context,
228 char const *path,
229 uint8_t const *appData,
230 size_t appDataSize);
231
233 FAPI_CONTEXT *context);
234
235TSS2_RC Fapi_GetAppData(
236 FAPI_CONTEXT *context,
237 char const *path,
238 uint8_t **appData,
239 size_t *appDataSize);
240
242 FAPI_CONTEXT *context,
243 char const *path);
244
246 FAPI_CONTEXT *context,
247 uint8_t **appData,
248 size_t *appDataSize);
249
250TSS2_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
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
273TSS2_RC Fapi_CreateKey(
274 FAPI_CONTEXT *context,
275 char const *path,
276 char const *type,
277 char const *policyPath,
278 char const *authValue);
279
281 FAPI_CONTEXT *context,
282 char const *path,
283 char const *type,
284 char const *policyPath,
285 char const *authValue);
286
288 FAPI_CONTEXT *context);
289
290TSS2_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
301TSS2_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
308TSS2_RC Fapi_Sign_Finish(
309 FAPI_CONTEXT *context,
310 uint8_t **signature,
311 size_t *signatureSize,
312 char **publicKey,
313 char **certificate);
314
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
334TSS2_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
342TSS2_RC Fapi_Encrypt_Async(
343 FAPI_CONTEXT *context,
344 char const *keyPath,
345 uint8_t const *plainText,
346 size_t plainTextSize);
347
348TSS2_RC Fapi_Encrypt_Finish(
349 FAPI_CONTEXT *context,
350 uint8_t **cipherText,
351 size_t *cipherTextSize );
352
353TSS2_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
361TSS2_RC Fapi_Decrypt_Async(
362 FAPI_CONTEXT *context,
363 char const *keyPath,
364 uint8_t const *cipherText,
365 size_t cipherTextSize);
366
367TSS2_RC Fapi_Decrypt_Finish(
368 FAPI_CONTEXT *context,
369 uint8_t **plainText,
370 size_t *plainTextSize);
371
372TSS2_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
385TSS2_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
398TSS2_RC Fapi_ExportKey(
399 FAPI_CONTEXT *context,
400 char const *pathOfKeyToDuplicate,
401 char const *pathToPublicKeyOfNewParent,
402 char **exportedData);
403
405 FAPI_CONTEXT *context,
406 char const *pathOfKeyToDuplicate,
407 char const *pathToPublicKeyOfNewParent);
408
410 FAPI_CONTEXT *context,
411 char **exportedData);
412
413/* Seal functions */
414
415TSS2_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
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
434 FAPI_CONTEXT *context);
435
436TSS2_RC Fapi_Unseal(
437 FAPI_CONTEXT *context,
438 char const *path,
439 uint8_t **data,
440 size_t *size);
441
442TSS2_RC Fapi_Unseal_Async(
443 FAPI_CONTEXT *context,
444 char const *path);
445
446TSS2_RC Fapi_Unseal_Finish(
447 FAPI_CONTEXT *context,
448 uint8_t **data,
449 size_t *size);
450
451/* Policy functions */
452
453TSS2_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
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
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
498TSS2_RC Fapi_PcrRead(
499 FAPI_CONTEXT *context,
500 uint32_t pcrIndex,
501 uint8_t **pcrValue,
502 size_t *pcrValueSize,
503 char **pcrLog);
504
505TSS2_RC Fapi_PcrRead_Async(
506 FAPI_CONTEXT *context,
507 uint32_t pcrIndex);
508
509TSS2_RC Fapi_PcrRead_Finish(
510 FAPI_CONTEXT *context,
511 uint8_t **pcrValue,
512 size_t *pcrValueSize,
513 char **pcrLog);
514
515TSS2_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
523 FAPI_CONTEXT *context,
524 uint32_t pcr,
525 uint8_t const *data,
526 size_t dataSize,
527 char const *logData);
528
530 FAPI_CONTEXT *context);
531
532
533TSS2_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
547TSS2_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
556TSS2_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
564TSS2_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
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
589TSS2_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
597TSS2_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
606 FAPI_CONTEXT *context);
607
608TSS2_RC Fapi_NvRead(
609 FAPI_CONTEXT *context,
610 char const *path,
611 uint8_t **data,
612 size_t *size,
613 char **logData);
614
615TSS2_RC Fapi_NvRead_Async(
616 FAPI_CONTEXT *context,
617 char const *path);
618
619TSS2_RC Fapi_NvRead_Finish(
620 FAPI_CONTEXT *context,
621 uint8_t **data,
622 size_t *size,
623 char **logData);
624
625TSS2_RC Fapi_NvWrite(
626 FAPI_CONTEXT *context,
627 char const *path,
628 uint8_t const *data,
629 size_t size);
630
631TSS2_RC Fapi_NvWrite_Async(
632 FAPI_CONTEXT *context,
633 char const *path,
634 uint8_t const *data,
635 size_t size);
636
637TSS2_RC Fapi_NvWrite_Finish(
638 FAPI_CONTEXT *context);
639
640TSS2_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
647TSS2_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
655 FAPI_CONTEXT *context);
656
657TSS2_RC Fapi_NvIncrement(
658 FAPI_CONTEXT *context,
659 char const *path);
660
662 FAPI_CONTEXT *context,
663 char const *path);
664
666 FAPI_CONTEXT *context);
667
668TSS2_RC Fapi_NvSetBits(
669 FAPI_CONTEXT *context,
670 char const *path,
671 uint64_t bitmap);
672
674 FAPI_CONTEXT *context,
675 char const *path,
676 uint64_t bitmap);
677
679 FAPI_CONTEXT *context);
680
681typedef TSS2_RC (*Fapi_CB_Auth)(
682 char const *objectPath,
683 char const *description,
684 char const **auth,
685 void *userData);
686
687TSS2_RC Fapi_SetAuthCB(
688 FAPI_CONTEXT *context,
689 Fapi_CB_Auth callback,
690 void *userData);
691
692typedef 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
700TSS2_RC Fapi_SetBranchCB(
701 FAPI_CONTEXT *context,
702 Fapi_CB_Branch callback,
703 void *userData);
704
705typedef 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
717TSS2_RC Fapi_SetSignCB(
718 FAPI_CONTEXT *context,
719 Fapi_CB_Sign callback,
720 void *userData);
721
722typedef TSS2_RC (*Fapi_CB_PolicyAction)(
723 char const *objectPath,
724 char const *action,
725 void *userData);
726
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_AuthorizePolicy_Finish(FAPI_CONTEXT *context)
Definition: Fapi_AuthorizePolicy.c:244
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_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_ChangeAuth_Async(FAPI_CONTEXT *context, char const *entityPath, char const *authValue)
Definition: Fapi_ChangeAuth.c:150
TSS2_RC Fapi_ChangeAuth_Finish(FAPI_CONTEXT *context)
Definition: Fapi_ChangeAuth.c:258
TSS2_RC Fapi_ChangeAuth(FAPI_CONTEXT *context, char const *entityPath, char const *authValue)
Definition: Fapi_ChangeAuth.c:66
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_CreateKey_Finish(FAPI_CONTEXT *context)
Definition: Fapi_CreateKey.c:265
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_CreateNv_Finish(FAPI_CONTEXT *context)
Definition: Fapi_CreateNv.c:273
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_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
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_CreateSeal_Finish(FAPI_CONTEXT *context)
Definition: Fapi_CreateSeal.c:251
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_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_Decrypt_Async(FAPI_CONTEXT *context, char const *keyPath, uint8_t const *cipherText, size_t cipherTextSize)
Definition: Fapi_Decrypt.c:155
TSS2_RC Fapi_Decrypt_Finish(FAPI_CONTEXT *context, uint8_t **plainText, size_t *plainTextSize)
Definition: Fapi_Decrypt.c:240
TSS2_RC Fapi_Delete_Finish(FAPI_CONTEXT *context)
Definition: Fapi_Delete.c:503
TSS2_RC Fapi_Delete(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_Delete.c:300
TSS2_RC Fapi_Delete_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_Delete.c:363
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_Encrypt_Finish(FAPI_CONTEXT *context, uint8_t **cipherText, size_t *cipherTextSize)
Definition: Fapi_Encrypt.c:247
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_ExportKey(FAPI_CONTEXT *context, char const *pathOfKeyToDuplicate, char const *pathToPublicKeyOfNewParent, char **exportedData)
Definition: Fapi_ExportKey.c:77
TSS2_RC Fapi_ExportKey_Finish(FAPI_CONTEXT *context, char **exportedData)
Definition: Fapi_ExportKey.c:264
TSS2_RC Fapi_ExportKey_Async(FAPI_CONTEXT *context, char const *pathOfKeyToDuplicate, char const *pathToPublicKeyOfNewParent)
Definition: Fapi_ExportKey.c:170
TSS2_RC Fapi_ExportPolicy_Finish(FAPI_CONTEXT *context, char **jsonPolicy)
Definition: Fapi_ExportPolicy.c:195
TSS2_RC Fapi_ExportPolicy(FAPI_CONTEXT *context, char const *path, char **jsonPolicy)
Definition: Fapi_ExportPolicy.c:52
TSS2_RC Fapi_ExportPolicy_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_ExportPolicy.c:126
void Fapi_Finalize(FAPI_CONTEXT **context)
Definition: Fapi_Finalize.c:35
void Fapi_Free(void *ptr)
Definition: Fapi_Free.c:23
TSS2_RC Fapi_GetAppData_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_GetAppData.c:120
TSS2_RC Fapi_GetAppData(FAPI_CONTEXT *context, char const *path, uint8_t **appData, size_t *appDataSize)
Definition: Fapi_GetAppData.c:57
TSS2_RC Fapi_GetAppData_Finish(FAPI_CONTEXT *context, uint8_t **appData, size_t *appDataSize)
Definition: Fapi_GetAppData.c:171
TSS2_RC Fapi_GetCertificate_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_GetCertificate.c:124
TSS2_RC Fapi_GetCertificate_Finish(FAPI_CONTEXT *context, char **x509certData)
Definition: Fapi_GetCertificate.c:174
TSS2_RC Fapi_GetCertificate(FAPI_CONTEXT *context, char const *path, char **x509certData)
Definition: Fapi_GetCertificate.c:60
TSS2_RC Fapi_GetDescription(FAPI_CONTEXT *context, char const *path, char **description)
Definition: Fapi_GetDescription.c:53
TSS2_RC Fapi_GetDescription_Finish(FAPI_CONTEXT *context, char **description)
Definition: Fapi_GetDescription.c:159
TSS2_RC Fapi_GetDescription_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_GetDescription.c:113
TSS2_RC Fapi_GetEsysBlob_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_GetEsysBlob.c:135
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_GetInfo_Async(FAPI_CONTEXT *context)
Definition: Fapi_GetInfo.c:150
TSS2_RC Fapi_GetInfo_Finish(FAPI_CONTEXT *context, char **info)
Definition: Fapi_GetInfo.c:202
TSS2_RC Fapi_GetInfo(FAPI_CONTEXT *context, char **info)
Definition: Fapi_GetInfo.c:79
TSS2_RC Fapi_GetPlatformCertificates_Finish(FAPI_CONTEXT *context, uint8_t **certificates, size_t *certificatesSize)
Definition: Fapi_GetPlatformCertificates.c:203
TSS2_RC Fapi_GetPlatformCertificates(FAPI_CONTEXT *context, uint8_t **certificates, size_t *certificatesSize)
Definition: Fapi_GetPlatformCertificates.c:67
TSS2_RC Fapi_GetPlatformCertificates_Async(FAPI_CONTEXT *context)
Definition: Fapi_GetPlatformCertificates.c:143
TSS2_RC Fapi_GetPollHandles(FAPI_CONTEXT *context, FAPI_POLL_HANDLE **handles, size_t *num_handles)
Definition: Fapi_GetPollHandles.c:46
TSS2_RC Fapi_GetRandom(FAPI_CONTEXT *context, size_t numBytes, uint8_t **data)
Definition: Fapi_GetRandom.c:59
TSS2_RC Fapi_GetRandom_Async(FAPI_CONTEXT *context, size_t numBytes)
Definition: Fapi_GetRandom.c:139
TSS2_RC Fapi_GetRandom_Finish(FAPI_CONTEXT *context, uint8_t **data)
Definition: Fapi_GetRandom.c:209
TSS2_RC Fapi_GetTcti(FAPI_CONTEXT *context, TSS2_TCTI_CONTEXT **tcti)
Definition: Fapi_GetTcti.c:38
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_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_GetTpmBlobs_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_GetTpmBlobs.c:127
TSS2_RC Fapi_Import_Async(FAPI_CONTEXT *context, char const *path, char const *importData)
Definition: Fapi_Import.c:137
TSS2_RC Fapi_Import(FAPI_CONTEXT *context, char const *path, char const *importData)
Definition: Fapi_Import.c:69
TSS2_RC Fapi_Import_Finish(FAPI_CONTEXT *context)
Definition: Fapi_Import.c:364
TSS2_RC Fapi_Initialize_Async(FAPI_CONTEXT **context, char const *uri)
Definition: Fapi_Initialize.c:106
TSS2_RC Fapi_Initialize(FAPI_CONTEXT **context, char const *uri)
Definition: Fapi_Initialize.c:54
TSS2_RC Fapi_Initialize_Finish(FAPI_CONTEXT **context)
Definition: Fapi_Initialize.c:170
TSS2_RC Fapi_List_Finish(FAPI_CONTEXT *context, char **pathList)
Definition: Fapi_List.c:167
TSS2_RC Fapi_List_Async(FAPI_CONTEXT *context, char const *searchPath)
Definition: Fapi_List.c:110
TSS2_RC Fapi_List(FAPI_CONTEXT *context, char const *searchPath, char **pathList)
Definition: Fapi_List.c:53
TSS2_RC Fapi_NvExtend_Finish(FAPI_CONTEXT *context)
Definition: Fapi_NvExtend.c:252
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_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_NvIncrement_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_NvIncrement.c:143
TSS2_RC Fapi_NvIncrement(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_NvIncrement.c:61
TSS2_RC Fapi_NvIncrement_Finish(FAPI_CONTEXT *context)
Definition: Fapi_NvIncrement.c:217
TSS2_RC Fapi_NvRead_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_NvRead.c:152
TSS2_RC Fapi_NvRead_Finish(FAPI_CONTEXT *context, uint8_t **data, size_t *size, char **logData)
Definition: Fapi_NvRead.c:229
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_NvSetBits(FAPI_CONTEXT *context, char const *path, uint64_t bitmap)
Definition: Fapi_NvSetBits.c:63
TSS2_RC Fapi_NvSetBits_Finish(FAPI_CONTEXT *context)
Definition: Fapi_NvSetBits.c:225
TSS2_RC Fapi_NvSetBits_Async(FAPI_CONTEXT *context, char const *path, uint64_t bitmap)
Definition: Fapi_NvSetBits.c:148
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_NvWrite_Finish(FAPI_CONTEXT *context)
Definition: Fapi_NvWrite.c:239
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(FAPI_CONTEXT *context, uint32_t pcr, uint8_t const *data, size_t dataSize, char const *logData)
Definition: Fapi_PcrExtend.c:62
TSS2_RC Fapi_PcrExtend_Finish(FAPI_CONTEXT *context)
Definition: Fapi_PcrExtend.c:234
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_PcrRead(FAPI_CONTEXT *context, uint32_t pcrIndex, uint8_t **pcrValue, size_t *pcrValueSize, char **pcrLog)
Definition: Fapi_PcrRead.c:59
TSS2_RC Fapi_PcrRead_Async(FAPI_CONTEXT *context, uint32_t pcrIndex)
Definition: Fapi_PcrRead.c:134
TSS2_RC Fapi_PcrRead_Finish(FAPI_CONTEXT *context, uint8_t **pcrValue, size_t *pcrValueSize, char **pcrLog)
Definition: Fapi_PcrRead.c:202
TSS2_RC Fapi_Provision(FAPI_CONTEXT *context, char const *authValueEh, char const *authValueSh, char const *authValueLockout)
Definition: Fapi_Provision.c:123
TSS2_RC Fapi_Provision_Finish(FAPI_CONTEXT *context)
Definition: Fapi_Provision.c:326
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_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_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_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_SetAppData_Finish(FAPI_CONTEXT *context)
Definition: Fapi_SetAppData.c:212
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_SetAppData(FAPI_CONTEXT *context, char const *path, uint8_t const *appData, size_t appDataSize)
Definition: Fapi_SetAppData.c:58
TSS2_RC Fapi_SetAuthCB(FAPI_CONTEXT *context, Fapi_CB_Auth callback, void *userData)
Definition: fapi_callback.c:84
TSS2_RC Fapi_SetBranchCB(FAPI_CONTEXT *context, Fapi_CB_Branch callback, void *userData)
Definition: fapi_callback.c:45
TSS2_RC Fapi_SetCertificate_Finish(FAPI_CONTEXT *context)
Definition: Fapi_SetCertificate.c:197
TSS2_RC Fapi_SetCertificate_Async(FAPI_CONTEXT *context, char const *path, char const *x509certData)
Definition: Fapi_SetCertificate.c:126
TSS2_RC Fapi_SetCertificate(FAPI_CONTEXT *context, char const *path, char const *x509certData)
Definition: Fapi_SetCertificate.c:61
TSS2_RC Fapi_SetDescription(FAPI_CONTEXT *context, char const *path, char const *description)
Definition: Fapi_SetDescription.c:54
TSS2_RC Fapi_SetDescription_Finish(FAPI_CONTEXT *context)
Definition: Fapi_SetDescription.c:189
TSS2_RC Fapi_SetDescription_Async(FAPI_CONTEXT *context, char const *path, char const *description)
Definition: Fapi_SetDescription.c:115
TSS2_RC Fapi_SetPolicyActionCB(FAPI_CONTEXT *context, Fapi_CB_PolicyAction callback, void *userData)
Definition: fapi_callback.c:163
TSS2_RC Fapi_SetSignCB(FAPI_CONTEXT *context, Fapi_CB_Sign callback, void *userData)
Definition: fapi_callback.c:123
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_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_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_Unseal(FAPI_CONTEXT *context, char const *path, uint8_t **data, size_t *size)
Definition: Fapi_Unseal.c:65
TSS2_RC Fapi_Unseal_Finish(FAPI_CONTEXT *context, uint8_t **data, size_t *size)
Definition: Fapi_Unseal.c:212
TSS2_RC Fapi_Unseal_Async(FAPI_CONTEXT *context, char const *path)
Definition: Fapi_Unseal.c:140
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_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_VerifyQuote_Finish(FAPI_CONTEXT *context)
Definition: Fapi_VerifyQuote.c:257
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_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_VerifySignature_Finish(FAPI_CONTEXT *context)
Definition: Fapi_VerifySignature.c:228
TSS2_RC Fapi_WriteAuthorizeNv_Finish(FAPI_CONTEXT *context)
Definition: Fapi_WriteAuthorizeNV.c:220
TSS2_RC Fapi_WriteAuthorizeNv(FAPI_CONTEXT *context, char const *nvPath, char const *policyPath)
Definition: Fapi_WriteAuthorizeNV.c:60
TSS2_RC Fapi_WriteAuthorizeNv_Async(FAPI_CONTEXT *context, char const *nvPath, char const *policyPath)
Definition: Fapi_WriteAuthorizeNV.c:143
Definition: fapi_int.h:1148