tpm2-tss 4.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
15extern "C" {
16#endif
17
18/* Type definitions */
19
21
22/* Defines for blob type of Fapi_GetEsysBlob */
23
24#define FAPI_ESYSBLOB_CONTEXTLOAD 1
25#define FAPI_ESYSBLOB_DESERIALIZE 2
26
27/* Context functions */
28
29TSS2_RC Fapi_Initialize(FAPI_CONTEXT **context, char const *uri);
30
31TSS2_RC Fapi_Initialize_Async(FAPI_CONTEXT **context, char const *uri);
32
33TSS2_RC Fapi_Initialize_Finish(FAPI_CONTEXT **context);
34
35void Fapi_Finalize(FAPI_CONTEXT **context);
36
37TSS2_RC Fapi_GetTcti(FAPI_CONTEXT *context, TSS2_TCTI_CONTEXT **tcti);
38
39void Fapi_Free(void *ptr);
40
41#if defined(__linux__) || defined(__unix__) || defined(__APPLE__) || defined(__QNXNTO__) \
42 || defined(__VXWORKS__)
43#if defined(__VXWORKS__)
44#include <sys/poll.h>
45#else
46#include <poll.h>
47#endif
48typedef struct pollfd FAPI_POLL_HANDLE;
49#elif defined(_WIN32)
50#include <windows.h>
51typedef HANDLE FAPI_POLL_HANDLE;
52#else
53typedef void FAPI_POLL_HANDLE;
54#ifndef FAPI_SUPPRESS_POLL_WARNINGS
55#pragma message "Info: Platform not supported for FAPI_POLL_HANDLES"
56#endif
57#endif
58
59TSS2_RC Fapi_GetPollHandles(FAPI_CONTEXT *context, FAPI_POLL_HANDLE **handles, size_t *num_handles);
60
61TSS2_RC Fapi_GetInfo(FAPI_CONTEXT *context, char **info);
62
63TSS2_RC Fapi_GetInfo_Async(FAPI_CONTEXT *context);
64
65TSS2_RC Fapi_GetInfo_Finish(FAPI_CONTEXT *context, char **info);
66
67/* General functions */
68
69TSS2_RC Fapi_Provision(FAPI_CONTEXT *context,
70 char const *authValueEh,
71 char const *authValueSh,
72 char const *authValueLockout);
73
74TSS2_RC Fapi_Provision_Async(FAPI_CONTEXT *context,
75 char const *authValueEh,
76 char const *authValueSh,
77 char const *authValueLockout);
78
79TSS2_RC Fapi_Provision_Finish(FAPI_CONTEXT *context);
80
82 uint8_t **certificates,
83 size_t *certificatesSize);
84
86
88 uint8_t **certificates,
89 size_t *certificatesSize);
90
91TSS2_RC Fapi_GetRandom(FAPI_CONTEXT *context, size_t numBytes, uint8_t **data);
92
93TSS2_RC Fapi_GetRandom_Async(FAPI_CONTEXT *context, size_t numBytes);
94
95TSS2_RC Fapi_GetRandom_Finish(FAPI_CONTEXT *context, uint8_t **data);
96
97TSS2_RC Fapi_Import(FAPI_CONTEXT *context, char const *path, char const *importData);
98
99TSS2_RC Fapi_Import_Async(FAPI_CONTEXT *context, char const *path, char const *importData);
100
101TSS2_RC Fapi_Import_Finish(FAPI_CONTEXT *context);
102
103TSS2_RC Fapi_List(FAPI_CONTEXT *context, char const *searchPath, char **pathList);
104
105TSS2_RC Fapi_List_Async(FAPI_CONTEXT *context, char const *searchPath);
106
107TSS2_RC Fapi_List_Finish(FAPI_CONTEXT *context, char **pathList);
108
109TSS2_RC Fapi_Delete(FAPI_CONTEXT *context, char const *path);
110
111TSS2_RC Fapi_Delete_Async(FAPI_CONTEXT *context, char const *path);
112
113TSS2_RC Fapi_Delete_Finish(FAPI_CONTEXT *context);
114
115TSS2_RC Fapi_GetEsysBlob(FAPI_CONTEXT *context,
116 char const *path,
117 uint8_t *type,
118 uint8_t **data,
119 size_t *length);
120
121TSS2_RC Fapi_GetEsysBlob_Async(FAPI_CONTEXT *context, char const *path);
122
123TSS2_RC
124Fapi_GetEsysBlob_Finish(FAPI_CONTEXT *context, uint8_t *type, uint8_t **data, size_t *length);
125
126TSS2_RC Fapi_ChangeAuth(FAPI_CONTEXT *context, char const *entityPath, char const *authValue);
127
128TSS2_RC Fapi_ChangeAuth_Async(FAPI_CONTEXT *context, char const *entityPath, char const *authValue);
129
130TSS2_RC Fapi_ChangeAuth_Finish(FAPI_CONTEXT *context);
131
132TSS2_RC Fapi_SetDescription(FAPI_CONTEXT *context, char const *path, char const *description);
133
134TSS2_RC Fapi_SetDescription_Async(FAPI_CONTEXT *context, char const *path, char const *description);
135
137
138TSS2_RC Fapi_GetDescription(FAPI_CONTEXT *context, char const *path, char **description);
139
140TSS2_RC Fapi_GetDescription_Async(FAPI_CONTEXT *context, char const *path);
141
142TSS2_RC Fapi_GetDescription_Finish(FAPI_CONTEXT *context, char **description);
143
144TSS2_RC Fapi_SetAppData(FAPI_CONTEXT *context,
145 char const *path,
146 uint8_t const *appData,
147 size_t appDataSize);
148
149TSS2_RC Fapi_SetAppData_Async(FAPI_CONTEXT *context,
150 char const *path,
151 uint8_t const *appData,
152 size_t appDataSize);
153
154TSS2_RC Fapi_SetAppData_Finish(FAPI_CONTEXT *context);
155
156TSS2_RC
157Fapi_GetAppData(FAPI_CONTEXT *context, char const *path, uint8_t **appData, size_t *appDataSize);
158
159TSS2_RC Fapi_GetAppData_Async(FAPI_CONTEXT *context, char const *path);
160
161TSS2_RC Fapi_GetAppData_Finish(FAPI_CONTEXT *context, uint8_t **appData, size_t *appDataSize);
162
163TSS2_RC Fapi_GetTpmBlobs(FAPI_CONTEXT *context,
164 char const *path,
165 uint8_t **tpm2bPublic,
166 size_t *tpm2bPublicSize,
167 uint8_t **tpm2bPrivate,
168 size_t *tpm2bPrivateSize,
169 char **policy);
170
171TSS2_RC Fapi_GetTpmBlobs_Async(FAPI_CONTEXT *context, char const *path);
172
174 uint8_t **tpm2bPublic,
175 size_t *tpm2bPublicSize,
176 uint8_t **tpm2bPrivate,
177 size_t *tpm2bPrivateSize,
178 char **policy);
179
180/* Key functions */
181
182TSS2_RC Fapi_CreateKey(FAPI_CONTEXT *context,
183 char const *path,
184 char const *type,
185 char const *policyPath,
186 char const *authValue);
187
188TSS2_RC Fapi_CreateKey_Async(FAPI_CONTEXT *context,
189 char const *path,
190 char const *type,
191 char const *policyPath,
192 char const *authValue);
193
194TSS2_RC Fapi_CreateKey_Finish(FAPI_CONTEXT *context);
195
196TSS2_RC Fapi_Sign(FAPI_CONTEXT *context,
197 char const *keyPath,
198 char const *padding,
199 uint8_t const *digest,
200 size_t digestSize,
201 uint8_t **signature,
202 size_t *signatureSize,
203 char **publicKey,
204 char **certificate);
205
206TSS2_RC Fapi_Sign_Async(FAPI_CONTEXT *context,
207 char const *keyPath,
208 char const *padding,
209 uint8_t const *digest,
210 size_t digestSize);
211
212TSS2_RC Fapi_Sign_Finish(FAPI_CONTEXT *context,
213 uint8_t **signature,
214 size_t *signatureSize,
215 char **publicKey,
216 char **certificate);
217
218TSS2_RC Fapi_DigestAndSign(FAPI_CONTEXT *context,
219 char const *keyPath,
220 char const *padding,
221 uint8_t const *data,
222 size_t dataSize,
223 uint8_t **signature,
224 size_t *signatureSize,
225 char **publicKey,
226 char **certificate);
227
229 char const *keyPath,
230 char const *padding,
231 uint8_t const *data,
232 size_t dataSize);
233
235 uint8_t **signature,
236 size_t *signatureSize,
237 char **publicKey,
238 char **certificate);
239
240TSS2_RC Fapi_VerifySignature(FAPI_CONTEXT *context,
241 char const *keyPath,
242 uint8_t const *digest,
243 size_t digestSize,
244 uint8_t const *signature,
245 size_t signatureSize);
246
248 char const *keyPath,
249 uint8_t const *digest,
250 size_t digestSize,
251 uint8_t const *signature,
252 size_t signatureSize);
253
255
256TSS2_RC Fapi_Encrypt(FAPI_CONTEXT *context,
257 char const *keyPath,
258 uint8_t const *plainText,
259 size_t plainTextSize,
260 uint8_t **cipherText,
261 size_t *cipherTextSize);
262
263TSS2_RC Fapi_Encrypt_Async(FAPI_CONTEXT *context,
264 char const *keyPath,
265 uint8_t const *plainText,
266 size_t plainTextSize);
267
268TSS2_RC Fapi_Encrypt_Finish(FAPI_CONTEXT *context, uint8_t **cipherText, size_t *cipherTextSize);
269
270TSS2_RC Fapi_Decrypt(FAPI_CONTEXT *context,
271 char const *keyPath,
272 uint8_t const *cipherText,
273 size_t cipherTextSize,
274 uint8_t **plainText,
275 size_t *plainTextSize);
276
277TSS2_RC Fapi_Decrypt_Async(FAPI_CONTEXT *context,
278 char const *keyPath,
279 uint8_t const *cipherText,
280 size_t cipherTextSize);
281
282TSS2_RC Fapi_Decrypt_Finish(FAPI_CONTEXT *context, uint8_t **plainText, size_t *plainTextSize);
283
284TSS2_RC Fapi_SetCertificate(FAPI_CONTEXT *context, char const *path, char const *x509certData);
285
286TSS2_RC
287Fapi_SetCertificate_Async(FAPI_CONTEXT *context, char const *path, char const *x509certData);
288
290
291TSS2_RC Fapi_GetCertificate(FAPI_CONTEXT *context, char const *path, char **x509certData);
292
293TSS2_RC Fapi_GetCertificate_Async(FAPI_CONTEXT *context, char const *path);
294
295TSS2_RC Fapi_GetCertificate_Finish(FAPI_CONTEXT *context, char **x509certData);
296
297TSS2_RC Fapi_ExportKey(FAPI_CONTEXT *context,
298 char const *pathOfKeyToDuplicate,
299 char const *pathToPublicKeyOfNewParent,
300 char **exportedData);
301
302TSS2_RC Fapi_ExportKey_Async(FAPI_CONTEXT *context,
303 char const *pathOfKeyToDuplicate,
304 char const *pathToPublicKeyOfNewParent);
305
306TSS2_RC Fapi_ExportKey_Finish(FAPI_CONTEXT *context, char **exportedData);
307
308/* Seal functions */
309
310TSS2_RC Fapi_CreateSeal(FAPI_CONTEXT *context,
311 char const *path,
312 char const *type,
313 size_t size,
314 char const *policyPath,
315 char const *authValue,
316 uint8_t const *data);
317
318TSS2_RC Fapi_CreateSeal_Async(FAPI_CONTEXT *context,
319 char const *path,
320 char const *type,
321 size_t size,
322 char const *policyPath,
323 char const *authValue,
324 uint8_t const *data);
325
326TSS2_RC Fapi_CreateSeal_Finish(FAPI_CONTEXT *context);
327
328TSS2_RC Fapi_Unseal(FAPI_CONTEXT *context, char const *path, uint8_t **data, size_t *size);
329
330TSS2_RC Fapi_Unseal_Async(FAPI_CONTEXT *context, char const *path);
331
332TSS2_RC Fapi_Unseal_Finish(FAPI_CONTEXT *context, uint8_t **data, size_t *size);
333
334/* Policy functions */
335
336TSS2_RC Fapi_ExportPolicy(FAPI_CONTEXT *context, char const *path, char **jsonPolicy);
337
338TSS2_RC Fapi_ExportPolicy_Async(FAPI_CONTEXT *context, char const *path);
339
340TSS2_RC Fapi_ExportPolicy_Finish(FAPI_CONTEXT *context, char **jsonPolicy);
341
342TSS2_RC Fapi_AuthorizePolicy(FAPI_CONTEXT *context,
343 char const *policyPath,
344 char const *keyPath,
345 uint8_t const *policyRef,
346 size_t policyRefSize);
347
349 char const *policyPath,
350 char const *keyPath,
351 uint8_t const *policyRef,
352 size_t policyRefSize);
353
355
356TSS2_RC Fapi_WriteAuthorizeNv(FAPI_CONTEXT *context, char const *nvPath, char const *policyPath);
357
358TSS2_RC
359Fapi_WriteAuthorizeNv_Async(FAPI_CONTEXT *context, char const *nvPath, char const *policyPath);
360
362
363/* Attestation functions */
364
365TSS2_RC Fapi_PcrRead(FAPI_CONTEXT *context,
366 uint32_t pcrIndex,
367 uint8_t **pcrValue,
368 size_t *pcrValueSize,
369 char **pcrLog);
370
371TSS2_RC Fapi_PcrRead_Async(FAPI_CONTEXT *context, uint32_t pcrIndex);
372
373TSS2_RC
374Fapi_PcrRead_Finish(FAPI_CONTEXT *context, uint8_t **pcrValue, size_t *pcrValueSize, char **pcrLog);
375
376TSS2_RC Fapi_PcrExtend(FAPI_CONTEXT *context,
377 uint32_t pcr,
378 uint8_t const *data,
379 size_t dataSize,
380 char const *logData);
381
382TSS2_RC Fapi_PcrExtend_Async(FAPI_CONTEXT *context,
383 uint32_t pcr,
384 uint8_t const *data,
385 size_t dataSize,
386 char const *logData);
387
388TSS2_RC Fapi_PcrExtend_Finish(FAPI_CONTEXT *context);
389
390TSS2_RC Fapi_Quote(FAPI_CONTEXT *context,
391 uint32_t *pcrList,
392 size_t pcrListSize,
393 char const *keyPath,
394 char const *quoteType,
395 uint8_t const *qualifyingData,
396 size_t qualifyingDataSize,
397 char **quoteInfo,
398 uint8_t **signature,
399 size_t *signatureSize,
400 char **pcrLog,
401 char **certificate);
402
403TSS2_RC Fapi_Quote_Async(FAPI_CONTEXT *context,
404 uint32_t *pcrList,
405 size_t pcrListSize,
406 char const *keyPath,
407 char const *quoteType,
408 uint8_t const *qualifyingData,
409 size_t qualifyingDataSize);
410
411TSS2_RC Fapi_Quote_Finish(FAPI_CONTEXT *context,
412 char **quoteInfo,
413 uint8_t **signature,
414 size_t *signatureSize,
415 char **pcrLog,
416 char **certificate);
417
418TSS2_RC Fapi_VerifyQuote(FAPI_CONTEXT *context,
419 char const *publicKeyPath,
420 uint8_t const *qualifyingData,
421 size_t qualifyingDataSize,
422 char const *quoteInfo,
423 uint8_t const *signature,
424 size_t signatureSize,
425 char const *pcrLog);
426
427TSS2_RC Fapi_VerifyQuote_Async(FAPI_CONTEXT *context,
428 char const *publicKeyPath,
429 uint8_t const *qualifyingData,
430 size_t qualifyingDataSize,
431 char const *quoteInfo,
432 uint8_t const *signature,
433 size_t signatureSize,
434 char const *pcrLog);
435
436TSS2_RC Fapi_VerifyQuote_Finish(FAPI_CONTEXT *context);
437
438/* NV functions */
439
440TSS2_RC Fapi_CreateNv(FAPI_CONTEXT *context,
441 char const *path,
442 char const *type,
443 size_t size,
444 char const *policyPath,
445 char const *authValue);
446
447TSS2_RC Fapi_CreateNv_Async(FAPI_CONTEXT *context,
448 char const *path,
449 char const *type,
450 size_t size,
451 char const *policyPath,
452 char const *authValue);
453
454TSS2_RC Fapi_CreateNv_Finish(FAPI_CONTEXT *context);
455
456TSS2_RC
457Fapi_NvRead(FAPI_CONTEXT *context, char const *path, uint8_t **data, size_t *size, char **logData);
458
459TSS2_RC Fapi_NvRead_Async(FAPI_CONTEXT *context, char const *path);
460
461TSS2_RC Fapi_NvRead_Finish(FAPI_CONTEXT *context, uint8_t **data, size_t *size, char **logData);
462
463TSS2_RC Fapi_NvWrite(FAPI_CONTEXT *context, char const *path, uint8_t const *data, size_t size);
464
465TSS2_RC
466Fapi_NvWrite_Async(FAPI_CONTEXT *context, char const *path, uint8_t const *data, size_t size);
467
468TSS2_RC Fapi_NvWrite_Finish(FAPI_CONTEXT *context);
469
470TSS2_RC Fapi_NvExtend(FAPI_CONTEXT *context,
471 char const *path,
472 uint8_t const *data,
473 size_t size,
474 char const *logData);
475
476TSS2_RC Fapi_NvExtend_Async(FAPI_CONTEXT *context,
477 char const *path,
478 uint8_t const *data,
479 size_t size,
480 char const *logData);
481
482TSS2_RC Fapi_NvExtend_Finish(FAPI_CONTEXT *context);
483
484TSS2_RC Fapi_NvIncrement(FAPI_CONTEXT *context, char const *path);
485
486TSS2_RC Fapi_NvIncrement_Async(FAPI_CONTEXT *context, char const *path);
487
488TSS2_RC Fapi_NvIncrement_Finish(FAPI_CONTEXT *context);
489
490TSS2_RC Fapi_NvSetBits(FAPI_CONTEXT *context, char const *path, uint64_t bitmap);
491
492TSS2_RC Fapi_NvSetBits_Async(FAPI_CONTEXT *context, char const *path, uint64_t bitmap);
493
494TSS2_RC Fapi_NvSetBits_Finish(FAPI_CONTEXT *context);
495
496typedef TSS2_RC (*Fapi_CB_Auth)(char const *objectPath,
497 char const *description,
498 char const **auth,
499 void *userData);
500
501TSS2_RC Fapi_SetAuthCB(FAPI_CONTEXT *context, Fapi_CB_Auth callback, void *userData);
502
503typedef TSS2_RC (*Fapi_CB_Branch)(char const *objectPath,
504 char const *description,
505 char const **branchNames,
506 size_t numBranches,
507 size_t *selectedBranch,
508 void *userData);
509
510TSS2_RC Fapi_SetBranchCB(FAPI_CONTEXT *context, Fapi_CB_Branch callback, void *userData);
511
512typedef TSS2_RC (*Fapi_CB_Sign)(char const *objectPath,
513 char const *description,
514 char const *publicKey,
515 char const *publicKeyHint,
516 uint32_t hashAlg,
517 uint8_t const *dataToSign,
518 size_t dataToSignSize,
519 uint8_t const **signature,
520 size_t *signatureSize,
521 void *userData);
522
523TSS2_RC Fapi_SetSignCB(FAPI_CONTEXT *context, Fapi_CB_Sign callback, void *userData);
524
525typedef TSS2_RC (*Fapi_CB_PolicyAction)(char const *objectPath, char const *action, void *userData);
526
527TSS2_RC
528Fapi_SetPolicyActionCB(FAPI_CONTEXT *context, Fapi_CB_PolicyAction callback, void *userData);
529
530#ifdef __cplusplus
531}
532#endif
533
534#endif /* TSS2_FAPI_H */
TSS2_RC Fapi_AuthorizePolicy_Finish(FAPI_CONTEXT *context)
Definition Fapi_AuthorizePolicy.c:255
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:162
TSS2_RC Fapi_AuthorizePolicy(FAPI_CONTEXT *context, char const *policyPath, char const *keyPath, uint8_t const *policyRef, size_t policyRefSize)
Definition Fapi_AuthorizePolicy.c:78
TSS2_RC Fapi_ChangeAuth_Finish(FAPI_CONTEXT *context)
Definition Fapi_ChangeAuth.c:255
TSS2_RC Fapi_ChangeAuth(FAPI_CONTEXT *context, char const *entityPath, char const *authValue)
Definition Fapi_ChangeAuth.c:72
TSS2_RC Fapi_ChangeAuth_Async(FAPI_CONTEXT *context, char const *entityPath, char const *authValue)
Definition Fapi_ChangeAuth.c:152
TSS2_RC Fapi_CreateKey(FAPI_CONTEXT *context, char const *path, char const *type, char const *policyPath, char const *authValue)
Definition Fapi_CreateKey.c:72
TSS2_RC Fapi_CreateKey_Async(FAPI_CONTEXT *context, char const *path, char const *type, char const *policyPath, char const *authValue)
Definition Fapi_CreateKey.c:157
TSS2_RC Fapi_CreateKey_Finish(FAPI_CONTEXT *context)
Definition Fapi_CreateKey.c:265
TSS2_RC Fapi_CreateNv_Finish(FAPI_CONTEXT *context)
Definition Fapi_CreateNv.c:279
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:168
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:81
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:78
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:170
TSS2_RC Fapi_CreateSeal_Finish(FAPI_CONTEXT *context)
Definition Fapi_CreateSeal.c:253
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:76
TSS2_RC Fapi_Decrypt_Async(FAPI_CONTEXT *context, char const *keyPath, uint8_t const *cipherText, size_t cipherTextSize)
Definition Fapi_Decrypt.c:161
TSS2_RC Fapi_Decrypt_Finish(FAPI_CONTEXT *context, uint8_t **plainText, size_t *plainTextSize)
Definition Fapi_Decrypt.c:248
TSS2_RC Fapi_Delete_Async(FAPI_CONTEXT *context, char const *path)
Definition Fapi_Delete.c:337
TSS2_RC Fapi_Delete_Finish(FAPI_CONTEXT *context)
Definition Fapi_Delete.c:473
TSS2_RC Fapi_Delete(FAPI_CONTEXT *context, char const *path)
Definition Fapi_Delete.c:277
TSS2_RC Fapi_DigestAndSign(FAPI_CONTEXT *context, char const *keyPath, char const *padding, uint8_t const *data, size_t dataSize, uint8_t **signature, size_t *signatureSize, char **publicKey, char **certificate)
Definition Fapi_DigestAndSign.c:81
TSS2_RC Fapi_DigestAndSign_Finish(FAPI_CONTEXT *context, uint8_t **signature, size_t *signatureSize, char **publicKey, char **certificate)
Definition Fapi_DigestAndSign.c:270
TSS2_RC Fapi_DigestAndSign_Async(FAPI_CONTEXT *context, char const *keyPath, char const *padding, uint8_t const *data, size_t dataSize)
Definition Fapi_DigestAndSign.c:170
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:81
TSS2_RC Fapi_Encrypt_Finish(FAPI_CONTEXT *context, uint8_t **cipherText, size_t *cipherTextSize)
Definition Fapi_Encrypt.c:261
TSS2_RC Fapi_Encrypt_Async(FAPI_CONTEXT *context, char const *keyPath, uint8_t const *plainText, size_t plainTextSize)
Definition Fapi_Encrypt.c:168
TSS2_RC Fapi_ExportKey_Finish(FAPI_CONTEXT *context, char **exportedData)
Definition Fapi_ExportKey.c:260
TSS2_RC Fapi_ExportKey(FAPI_CONTEXT *context, char const *pathOfKeyToDuplicate, char const *pathToPublicKeyOfNewParent, char **exportedData)
Definition Fapi_ExportKey.c:79
TSS2_RC Fapi_ExportKey_Async(FAPI_CONTEXT *context, char const *pathOfKeyToDuplicate, char const *pathToPublicKeyOfNewParent)
Definition Fapi_ExportKey.c:169
TSS2_RC Fapi_ExportPolicy(FAPI_CONTEXT *context, char const *path, char **jsonPolicy)
Definition Fapi_ExportPolicy.c:68
TSS2_RC Fapi_ExportPolicy_Finish(FAPI_CONTEXT *context, char **jsonPolicy)
Definition Fapi_ExportPolicy.c:206
TSS2_RC Fapi_ExportPolicy_Async(FAPI_CONTEXT *context, char const *path)
Definition Fapi_ExportPolicy.c:137
void Fapi_Finalize(FAPI_CONTEXT **context)
Definition Fapi_Finalize.c:36
void Fapi_Free(void *ptr)
Definition Fapi_Free.c:23
TSS2_RC Fapi_GetAppData_Finish(FAPI_CONTEXT *context, uint8_t **appData, size_t *appDataSize)
Definition Fapi_GetAppData.c:168
TSS2_RC Fapi_GetAppData_Async(FAPI_CONTEXT *context, char const *path)
Definition Fapi_GetAppData.c:117
TSS2_RC Fapi_GetAppData(FAPI_CONTEXT *context, char const *path, uint8_t **appData, size_t *appDataSize)
Definition Fapi_GetAppData.c:59
TSS2_RC Fapi_GetCertificate_Async(FAPI_CONTEXT *context, char const *path)
Definition Fapi_GetCertificate.c:117
TSS2_RC Fapi_GetCertificate_Finish(FAPI_CONTEXT *context, char **x509certData)
Definition Fapi_GetCertificate.c:169
TSS2_RC Fapi_GetCertificate(FAPI_CONTEXT *context, char const *path, char **x509certData)
Definition Fapi_GetCertificate.c:57
TSS2_RC Fapi_GetDescription_Async(FAPI_CONTEXT *context, char const *path)
Definition Fapi_GetDescription.c:106
TSS2_RC Fapi_GetDescription(FAPI_CONTEXT *context, char const *path, char **description)
Definition Fapi_GetDescription.c:50
TSS2_RC Fapi_GetDescription_Finish(FAPI_CONTEXT *context, char **description)
Definition Fapi_GetDescription.c:153
TSS2_RC Fapi_GetEsysBlob_Finish(FAPI_CONTEXT *context, uint8_t *type, uint8_t **data, size_t *length)
Definition Fapi_GetEsysBlob.c:231
TSS2_RC Fapi_GetEsysBlob_Async(FAPI_CONTEXT *context, char const *path)
Definition Fapi_GetEsysBlob.c:138
TSS2_RC Fapi_GetInfo_Finish(FAPI_CONTEXT *context, char **info)
Definition Fapi_GetInfo.c:205
TSS2_RC Fapi_GetInfo(FAPI_CONTEXT *context, char **info)
Definition Fapi_GetInfo.c:84
TSS2_RC Fapi_GetInfo_Async(FAPI_CONTEXT *context)
Definition Fapi_GetInfo.c:152
TSS2_RC Fapi_GetPlatformCertificates(FAPI_CONTEXT *context, uint8_t **certificates, size_t *certificatesSize)
Definition Fapi_GetPlatformCertificates.c:71
TSS2_RC Fapi_GetPlatformCertificates_Async(FAPI_CONTEXT *context)
Definition Fapi_GetPlatformCertificates.c:144
TSS2_RC Fapi_GetPlatformCertificates_Finish(FAPI_CONTEXT *context, uint8_t **certificates, size_t *certificatesSize)
Definition Fapi_GetPlatformCertificates.c:205
TSS2_RC Fapi_GetPollHandles(FAPI_CONTEXT *context, FAPI_POLL_HANDLE **handles, size_t *num_handles)
Definition Fapi_GetPollHandles.c:47
TSS2_RC Fapi_GetRandom(FAPI_CONTEXT *context, size_t numBytes, uint8_t **data)
Definition Fapi_GetRandom.c:67
TSS2_RC Fapi_GetRandom_Async(FAPI_CONTEXT *context, size_t numBytes)
Definition Fapi_GetRandom.c:143
TSS2_RC Fapi_GetRandom_Finish(FAPI_CONTEXT *context, uint8_t **data)
Definition Fapi_GetRandom.c:212
TSS2_RC Fapi_GetTcti(FAPI_CONTEXT *context, TSS2_TCTI_CONTEXT **tcti)
Definition Fapi_GetTcti.c:39
TSS2_RC Fapi_GetTpmBlobs_Async(FAPI_CONTEXT *context, char const *path)
Definition Fapi_GetTpmBlobs.c:128
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:185
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:65
TSS2_RC Fapi_Import_Finish(FAPI_CONTEXT *context)
Definition Fapi_Import.c:400
TSS2_RC Fapi_Import_Async(FAPI_CONTEXT *context, char const *path, char const *importData)
Definition Fapi_Import.c:144
TSS2_RC Fapi_Import(FAPI_CONTEXT *context, char const *path, char const *importData)
Definition Fapi_Import.c:80
TSS2_RC Fapi_Initialize_Finish(FAPI_CONTEXT **context)
Definition Fapi_Initialize.c:172
TSS2_RC Fapi_Initialize_Async(FAPI_CONTEXT **context, char const *uri)
Definition Fapi_Initialize.c:109
TSS2_RC Fapi_Initialize(FAPI_CONTEXT **context, char const *uri)
Definition Fapi_Initialize.c:60
TSS2_RC Fapi_List_Async(FAPI_CONTEXT *context, char const *searchPath)
Definition Fapi_List.c:106
TSS2_RC Fapi_List_Finish(FAPI_CONTEXT *context, char **pathList)
Definition Fapi_List.c:160
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:260
TSS2_RC Fapi_NvExtend(FAPI_CONTEXT *context, char const *path, uint8_t const *data, size_t size, char const *logData)
Definition Fapi_NvExtend.c:76
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:162
TSS2_RC Fapi_NvIncrement_Finish(FAPI_CONTEXT *context)
Definition Fapi_NvIncrement.c:222
TSS2_RC Fapi_NvIncrement_Async(FAPI_CONTEXT *context, char const *path)
Definition Fapi_NvIncrement.c:148
TSS2_RC Fapi_NvIncrement(FAPI_CONTEXT *context, char const *path)
Definition Fapi_NvIncrement.c:69
TSS2_RC Fapi_NvRead_Async(FAPI_CONTEXT *context, char const *path)
Definition Fapi_NvRead.c:158
TSS2_RC Fapi_NvRead_Finish(FAPI_CONTEXT *context, uint8_t **data, size_t *size, char **logData)
Definition Fapi_NvRead.c:235
TSS2_RC Fapi_NvRead(FAPI_CONTEXT *context, char const *path, uint8_t **data, size_t *size, char **logData)
Definition Fapi_NvRead.c:73
TSS2_RC Fapi_NvSetBits_Async(FAPI_CONTEXT *context, char const *path, uint64_t bitmap)
Definition Fapi_NvSetBits.c:153
TSS2_RC Fapi_NvSetBits(FAPI_CONTEXT *context, char const *path, uint64_t bitmap)
Definition Fapi_NvSetBits.c:72
TSS2_RC Fapi_NvSetBits_Finish(FAPI_CONTEXT *context)
Definition Fapi_NvSetBits.c:229
TSS2_RC Fapi_NvWrite_Finish(FAPI_CONTEXT *context)
Definition Fapi_NvWrite.c:234
TSS2_RC Fapi_NvWrite_Async(FAPI_CONTEXT *context, char const *path, uint8_t const *data, size_t size)
Definition Fapi_NvWrite.c:146
TSS2_RC Fapi_NvWrite(FAPI_CONTEXT *context, char const *path, uint8_t const *data, size_t size)
Definition Fapi_NvWrite.c:69
TSS2_RC Fapi_PcrExtend(FAPI_CONTEXT *context, uint32_t pcr, uint8_t const *data, size_t dataSize, char const *logData)
Definition Fapi_PcrExtend.c:72
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:152
TSS2_RC Fapi_PcrExtend_Finish(FAPI_CONTEXT *context)
Definition Fapi_PcrExtend.c:241
TSS2_RC Fapi_PcrRead_Async(FAPI_CONTEXT *context, uint32_t pcrIndex)
Definition Fapi_PcrRead.c:142
TSS2_RC Fapi_PcrRead_Finish(FAPI_CONTEXT *context, uint8_t **pcrValue, size_t *pcrValueSize, char **pcrLog)
Definition Fapi_PcrRead.c:209
TSS2_RC Fapi_PcrRead(FAPI_CONTEXT *context, uint32_t pcrIndex, uint8_t **pcrValue, size_t *pcrValueSize, char **pcrLog)
Definition Fapi_PcrRead.c:69
TSS2_RC Fapi_Provision_Async(FAPI_CONTEXT *context, char const *authValueEh, char const *authValueSh, char const *authValueLockout)
Definition Fapi_Provision.c:267
TSS2_RC Fapi_Provision(FAPI_CONTEXT *context, char const *authValueEh, char const *authValueSh, char const *authValueLockout)
Definition Fapi_Provision.c:185
TSS2_RC Fapi_Provision_Finish(FAPI_CONTEXT *context)
Definition Fapi_Provision.c:385
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:182
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:86
TSS2_RC Fapi_Quote_Finish(FAPI_CONTEXT *context, char **quoteInfo, uint8_t **signature, size_t *signatureSize, char **pcrLog, char **certificate)
Definition Fapi_Quote.c:308
TSS2_RC Fapi_SetAppData(FAPI_CONTEXT *context, char const *path, uint8_t const *appData, size_t appDataSize)
Definition Fapi_SetAppData.c:60
TSS2_RC Fapi_SetAppData_Finish(FAPI_CONTEXT *context)
Definition Fapi_SetAppData.c:217
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_SetAuthCB(FAPI_CONTEXT *context, Fapi_CB_Auth callback, void *userData)
Definition fapi_callback.c:74
TSS2_RC Fapi_SetBranchCB(FAPI_CONTEXT *context, Fapi_CB_Branch callback, void *userData)
Definition fapi_callback.c:39
TSS2_RC Fapi_SetCertificate_Finish(FAPI_CONTEXT *context)
Definition Fapi_SetCertificate.c:194
TSS2_RC Fapi_SetCertificate_Async(FAPI_CONTEXT *context, char const *path, char const *x509certData)
Definition Fapi_SetCertificate.c:120
TSS2_RC Fapi_SetCertificate(FAPI_CONTEXT *context, char const *path, char const *x509certData)
Definition Fapi_SetCertificate.c:59
TSS2_RC Fapi_SetDescription_Finish(FAPI_CONTEXT *context)
Definition Fapi_SetDescription.c:186
TSS2_RC Fapi_SetDescription(FAPI_CONTEXT *context, char const *path, char const *description)
Definition Fapi_SetDescription.c:54
TSS2_RC Fapi_SetDescription_Async(FAPI_CONTEXT *context, char const *path, char const *description)
Definition Fapi_SetDescription.c:111
TSS2_RC Fapi_SetSignCB(FAPI_CONTEXT *context, Fapi_CB_Sign callback, void *userData)
Definition fapi_callback.c:109
TSS2_RC Fapi_SetPolicyActionCB(FAPI_CONTEXT *context, Fapi_CB_PolicyAction callback, void *userData)
Definition fapi_callback.c:144
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:81
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:169
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_Unseal(FAPI_CONTEXT *context, char const *path, uint8_t **data, size_t *size)
Definition Fapi_Unseal.c:68
TSS2_RC Fapi_Unseal_Finish(FAPI_CONTEXT *context, uint8_t **data, size_t *size)
Definition Fapi_Unseal.c:210
TSS2_RC Fapi_Unseal_Async(FAPI_CONTEXT *context, char const *path)
Definition Fapi_Unseal.c:141
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:146
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:71
TSS2_RC Fapi_VerifyQuote_Finish(FAPI_CONTEXT *context)
Definition Fapi_VerifyQuote.c:261
TSS2_RC Fapi_VerifySignature_Finish(FAPI_CONTEXT *context)
Definition Fapi_VerifySignature.c:225
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:64
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:136
TSS2_RC Fapi_WriteAuthorizeNv_Async(FAPI_CONTEXT *context, char const *nvPath, char const *policyPath)
Definition Fapi_WriteAuthorizeNV.c:149
TSS2_RC Fapi_WriteAuthorizeNv_Finish(FAPI_CONTEXT *context)
Definition Fapi_WriteAuthorizeNV.c:225
TSS2_RC Fapi_WriteAuthorizeNv(FAPI_CONTEXT *context, char const *nvPath, char const *policyPath)
Definition Fapi_WriteAuthorizeNV.c:70
Definition fapi_int.h:1226