You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
711 lines
17 KiB
711 lines
17 KiB
/* SPDX-License-Identifier: BSD-2-Clause */
|
|
/*******************************************************************************
|
|
* Copyright 2017-2018, Fraunhofer SIT sponsored by Infineon Technologies AG
|
|
* All rights reserved.
|
|
*******************************************************************************/
|
|
#ifndef TSS2_FAPI_H
|
|
#define TSS2_FAPI_H
|
|
|
|
#include "tss2_tcti.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Type definitions */
|
|
|
|
typedef struct FAPI_CONTEXT FAPI_CONTEXT;
|
|
|
|
/* Context functions */
|
|
|
|
TSS2_RC Fapi_Initialize(
|
|
FAPI_CONTEXT **context,
|
|
char const *uri);
|
|
|
|
TSS2_RC Fapi_Initialize_Async(
|
|
FAPI_CONTEXT **context,
|
|
char const *uri);
|
|
|
|
TSS2_RC Fapi_Initialize_Finish(
|
|
FAPI_CONTEXT **context);
|
|
|
|
void Fapi_Finalize(
|
|
FAPI_CONTEXT **context);
|
|
|
|
TSS2_RC Fapi_GetTcti(
|
|
FAPI_CONTEXT *context,
|
|
TSS2_TCTI_CONTEXT **tcti);
|
|
|
|
void Fapi_Free(
|
|
void *ptr);
|
|
|
|
#if defined(__linux__) || defined(__unix__) || defined(__APPLE__) || defined (__QNXNTO__) || defined (__VXWORKS__)
|
|
#if defined (__VXWORKS__)
|
|
#include <sys/poll.h>
|
|
#else
|
|
#include <poll.h>
|
|
#endif
|
|
typedef struct pollfd FAPI_POLL_HANDLE;
|
|
#elif defined(_WIN32)
|
|
#include <windows.h>
|
|
typedef HANDLE FAPI_POLL_HANDLE;
|
|
#else
|
|
typedef void FAPI_POLL_HANDLE;
|
|
#ifndef FAPI_SUPPRESS_POLL_WARNINGS
|
|
#pragma message "Info: Platform not supported for FAPI_POLL_HANDLES"
|
|
#endif
|
|
#endif
|
|
|
|
TSS2_RC Fapi_GetPollHandles(
|
|
FAPI_CONTEXT *context,
|
|
FAPI_POLL_HANDLE **handles,
|
|
size_t *num_handles);
|
|
|
|
TSS2_RC Fapi_GetInfo(
|
|
FAPI_CONTEXT *context,
|
|
char **info);
|
|
|
|
TSS2_RC Fapi_GetInfo_Async(
|
|
FAPI_CONTEXT *context);
|
|
|
|
TSS2_RC Fapi_GetInfo_Finish(
|
|
FAPI_CONTEXT *context,
|
|
char **info);
|
|
|
|
/* General functions */
|
|
|
|
TSS2_RC Fapi_Provision(
|
|
FAPI_CONTEXT *context,
|
|
char const *authValueEh,
|
|
char const *authValueSh,
|
|
char const *authValueLockout);
|
|
|
|
TSS2_RC Fapi_Provision_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *authValueEh,
|
|
char const *authValueSh,
|
|
char const *authValueLockout);
|
|
|
|
TSS2_RC Fapi_Provision_Finish(
|
|
FAPI_CONTEXT *context);
|
|
|
|
TSS2_RC Fapi_GetPlatformCertificates(
|
|
FAPI_CONTEXT *context,
|
|
uint8_t **certificates,
|
|
size_t *certificatesSize);
|
|
|
|
TSS2_RC Fapi_GetPlatformCertificates_Async(
|
|
FAPI_CONTEXT *context);
|
|
|
|
TSS2_RC Fapi_GetPlatformCertificates_Finish(
|
|
FAPI_CONTEXT *context,
|
|
uint8_t **certificates,
|
|
size_t *certificatesSize);
|
|
|
|
TSS2_RC Fapi_GetRandom(
|
|
FAPI_CONTEXT *context,
|
|
size_t numBytes,
|
|
uint8_t **data);
|
|
|
|
TSS2_RC Fapi_GetRandom_Async(
|
|
FAPI_CONTEXT *context,
|
|
size_t numBytes);
|
|
|
|
TSS2_RC Fapi_GetRandom_Finish(
|
|
FAPI_CONTEXT *context,
|
|
uint8_t **data);
|
|
|
|
TSS2_RC Fapi_Import(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
char const *importData);
|
|
|
|
TSS2_RC Fapi_Import_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
char const *importData);
|
|
|
|
TSS2_RC Fapi_Import_Finish(
|
|
FAPI_CONTEXT *context);
|
|
|
|
TSS2_RC Fapi_List(
|
|
FAPI_CONTEXT *context,
|
|
char const *searchPath,
|
|
char **pathList);
|
|
|
|
TSS2_RC Fapi_List_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *searchPath);
|
|
|
|
TSS2_RC Fapi_List_Finish(
|
|
FAPI_CONTEXT *context,
|
|
char **pathList);
|
|
|
|
TSS2_RC Fapi_Delete(
|
|
FAPI_CONTEXT *context,
|
|
char const *path);
|
|
|
|
TSS2_RC Fapi_Delete_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *path);
|
|
|
|
TSS2_RC Fapi_Delete_Finish(
|
|
FAPI_CONTEXT *context);
|
|
|
|
TSS2_RC Fapi_ChangeAuth(
|
|
FAPI_CONTEXT *context,
|
|
char const *entityPath,
|
|
char const *authValue);
|
|
|
|
TSS2_RC Fapi_ChangeAuth_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *entityPath,
|
|
char const *authValue);
|
|
|
|
TSS2_RC Fapi_ChangeAuth_Finish(
|
|
FAPI_CONTEXT *context);
|
|
|
|
TSS2_RC Fapi_SetDescription(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
char const *description);
|
|
|
|
TSS2_RC Fapi_SetDescription_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
char const *description);
|
|
|
|
TSS2_RC Fapi_SetDescription_Finish(
|
|
FAPI_CONTEXT *context);
|
|
|
|
TSS2_RC Fapi_GetDescription(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
char **description);
|
|
|
|
TSS2_RC Fapi_GetDescription_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *path);
|
|
|
|
TSS2_RC Fapi_GetDescription_Finish(
|
|
FAPI_CONTEXT *context,
|
|
char **description);
|
|
|
|
TSS2_RC Fapi_SetAppData(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
uint8_t const *appData,
|
|
size_t appDataSize);
|
|
|
|
TSS2_RC Fapi_SetAppData_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
uint8_t const *appData,
|
|
size_t appDataSize);
|
|
|
|
TSS2_RC Fapi_SetAppData_Finish(
|
|
FAPI_CONTEXT *context);
|
|
|
|
TSS2_RC Fapi_GetAppData(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
uint8_t **appData,
|
|
size_t *appDataSize);
|
|
|
|
TSS2_RC Fapi_GetAppData_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *path);
|
|
|
|
TSS2_RC Fapi_GetAppData_Finish(
|
|
FAPI_CONTEXT *context,
|
|
uint8_t **appData,
|
|
size_t *appDataSize);
|
|
|
|
TSS2_RC Fapi_GetTpmBlobs(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
uint8_t **tpm2bPublic,
|
|
size_t *tpm2bPublicSize,
|
|
uint8_t **tpm2bPrivate,
|
|
size_t *tpm2bPrivateSize,
|
|
char **policy);
|
|
|
|
TSS2_RC Fapi_GetTpmBlobs_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *path);
|
|
|
|
TSS2_RC Fapi_GetTpmBlobs_Finish(
|
|
FAPI_CONTEXT *context,
|
|
uint8_t **tpm2bPublic,
|
|
size_t *tpm2bPublicSize,
|
|
uint8_t **tpm2bPrivate,
|
|
size_t *tpm2bPrivateSize,
|
|
char **policy);
|
|
|
|
/* Key functions */
|
|
|
|
TSS2_RC Fapi_CreateKey(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
char const *type,
|
|
char const *policyPath,
|
|
char const *authValue);
|
|
|
|
TSS2_RC Fapi_CreateKey_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
char const *type,
|
|
char const *policyPath,
|
|
char const *authValue);
|
|
|
|
TSS2_RC Fapi_CreateKey_Finish(
|
|
FAPI_CONTEXT *context);
|
|
|
|
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);
|
|
|
|
TSS2_RC Fapi_Sign_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *keyPath,
|
|
char const *padding,
|
|
uint8_t const *digest,
|
|
size_t digestSize);
|
|
|
|
TSS2_RC Fapi_Sign_Finish(
|
|
FAPI_CONTEXT *context,
|
|
uint8_t **signature,
|
|
size_t *signatureSize,
|
|
char **publicKey,
|
|
char **certificate);
|
|
|
|
TSS2_RC Fapi_VerifySignature(
|
|
FAPI_CONTEXT *context,
|
|
char const *keyPath,
|
|
uint8_t const *digest,
|
|
size_t digestSize,
|
|
uint8_t const *signature,
|
|
size_t signatureSize);
|
|
|
|
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);
|
|
|
|
TSS2_RC Fapi_VerifySignature_Finish(
|
|
FAPI_CONTEXT *context);
|
|
|
|
TSS2_RC Fapi_Encrypt(
|
|
FAPI_CONTEXT *context,
|
|
char const *keyPath,
|
|
uint8_t const *plainText,
|
|
size_t plainTextSize,
|
|
uint8_t **cipherText,
|
|
size_t *cipherTextSize);
|
|
|
|
TSS2_RC Fapi_Encrypt_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *keyPath,
|
|
uint8_t const *plainText,
|
|
size_t plainTextSize);
|
|
|
|
TSS2_RC Fapi_Encrypt_Finish(
|
|
FAPI_CONTEXT *context,
|
|
uint8_t **cipherText,
|
|
size_t *cipherTextSize );
|
|
|
|
TSS2_RC Fapi_Decrypt(
|
|
FAPI_CONTEXT *context,
|
|
char const *keyPath,
|
|
uint8_t const *cipherText,
|
|
size_t cipherTextSize,
|
|
uint8_t **plainText,
|
|
size_t *plainTextSize);
|
|
|
|
TSS2_RC Fapi_Decrypt_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *keyPath,
|
|
uint8_t const *cipherText,
|
|
size_t cipherTextSize);
|
|
|
|
TSS2_RC Fapi_Decrypt_Finish(
|
|
FAPI_CONTEXT *context,
|
|
uint8_t **plainText,
|
|
size_t *plainTextSize);
|
|
|
|
TSS2_RC Fapi_SetCertificate(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
char const *x509certData);
|
|
|
|
TSS2_RC Fapi_SetCertificate_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
char const *x509certData);
|
|
|
|
TSS2_RC Fapi_SetCertificate_Finish(
|
|
FAPI_CONTEXT *context);
|
|
|
|
TSS2_RC Fapi_GetCertificate(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
char **x509certData);
|
|
|
|
TSS2_RC Fapi_GetCertificate_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *path);
|
|
|
|
TSS2_RC Fapi_GetCertificate_Finish(
|
|
FAPI_CONTEXT *context,
|
|
char **x509certData);
|
|
|
|
TSS2_RC Fapi_ExportKey(
|
|
FAPI_CONTEXT *context,
|
|
char const *pathOfKeyToDuplicate,
|
|
char const *pathToPublicKeyOfNewParent,
|
|
char **exportedData);
|
|
|
|
TSS2_RC Fapi_ExportKey_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *pathOfKeyToDuplicate,
|
|
char const *pathToPublicKeyOfNewParent);
|
|
|
|
TSS2_RC Fapi_ExportKey_Finish(
|
|
FAPI_CONTEXT *context,
|
|
char **exportedData);
|
|
|
|
/* Seal functions */
|
|
|
|
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);
|
|
|
|
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);
|
|
|
|
TSS2_RC Fapi_CreateSeal_Finish(
|
|
FAPI_CONTEXT *context);
|
|
|
|
TSS2_RC Fapi_Unseal(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
uint8_t **data,
|
|
size_t *size);
|
|
|
|
TSS2_RC Fapi_Unseal_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *path);
|
|
|
|
TSS2_RC Fapi_Unseal_Finish(
|
|
FAPI_CONTEXT *context,
|
|
uint8_t **data,
|
|
size_t *size);
|
|
|
|
/* Policy functions */
|
|
|
|
TSS2_RC Fapi_ExportPolicy(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
char **jsonPolicy);
|
|
|
|
TSS2_RC Fapi_ExportPolicy_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *path);
|
|
|
|
TSS2_RC Fapi_ExportPolicy_Finish(
|
|
FAPI_CONTEXT *context,
|
|
char **jsonPolicy);
|
|
|
|
TSS2_RC Fapi_AuthorizePolicy(
|
|
FAPI_CONTEXT *context,
|
|
char const *policyPath,
|
|
char const *keyPath,
|
|
uint8_t const *policyRef,
|
|
size_t policyRefSize);
|
|
|
|
TSS2_RC Fapi_AuthorizePolicy_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *policyPath,
|
|
char const *keyPath,
|
|
uint8_t const *policyRef,
|
|
size_t policyRefSize);
|
|
|
|
TSS2_RC Fapi_AuthorizePolicy_Finish(
|
|
FAPI_CONTEXT *context);
|
|
|
|
TSS2_RC Fapi_WriteAuthorizeNv(
|
|
FAPI_CONTEXT *context,
|
|
char const *nvPath,
|
|
char const *policyPath);
|
|
|
|
TSS2_RC Fapi_WriteAuthorizeNv_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *nvPath,
|
|
char const *policyPath);
|
|
|
|
TSS2_RC Fapi_WriteAuthorizeNv_Finish(
|
|
FAPI_CONTEXT *context);
|
|
|
|
/* Attestation functions */
|
|
|
|
TSS2_RC Fapi_PcrRead(
|
|
FAPI_CONTEXT *context,
|
|
uint32_t pcrIndex,
|
|
uint8_t **pcrValue,
|
|
size_t *pcrValueSize,
|
|
char **pcrLog);
|
|
|
|
TSS2_RC Fapi_PcrRead_Async(
|
|
FAPI_CONTEXT *context,
|
|
uint32_t pcrIndex);
|
|
|
|
TSS2_RC Fapi_PcrRead_Finish(
|
|
FAPI_CONTEXT *context,
|
|
uint8_t **pcrValue,
|
|
size_t *pcrValueSize,
|
|
char **pcrLog);
|
|
|
|
TSS2_RC Fapi_PcrExtend(
|
|
FAPI_CONTEXT *context,
|
|
uint32_t pcr,
|
|
uint8_t const *data,
|
|
size_t dataSize,
|
|
char const *logData);
|
|
|
|
TSS2_RC Fapi_PcrExtend_Async(
|
|
FAPI_CONTEXT *context,
|
|
uint32_t pcr,
|
|
uint8_t const *data,
|
|
size_t dataSize,
|
|
char const *logData);
|
|
|
|
TSS2_RC Fapi_PcrExtend_Finish(
|
|
FAPI_CONTEXT *context);
|
|
|
|
|
|
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);
|
|
|
|
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);
|
|
|
|
TSS2_RC Fapi_Quote_Finish(
|
|
FAPI_CONTEXT *context,
|
|
char **quoteInfo,
|
|
uint8_t **signature,
|
|
size_t *signatureSize,
|
|
char **pcrLog,
|
|
char **certificate);
|
|
|
|
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);
|
|
|
|
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);
|
|
|
|
TSS2_RC Fapi_VerifyQuote_Finish(
|
|
FAPI_CONTEXT *context);
|
|
|
|
/* NV functions */
|
|
|
|
TSS2_RC Fapi_CreateNv(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
char const *type,
|
|
size_t size,
|
|
char const *policyPath,
|
|
char const *authValue);
|
|
|
|
TSS2_RC Fapi_CreateNv_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
char const *type,
|
|
size_t size,
|
|
char const *policyPath,
|
|
char const *authValue);
|
|
|
|
TSS2_RC Fapi_CreateNv_Finish(
|
|
FAPI_CONTEXT *context);
|
|
|
|
TSS2_RC Fapi_NvRead(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
uint8_t **data,
|
|
size_t *size,
|
|
char **logData);
|
|
|
|
TSS2_RC Fapi_NvRead_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *path);
|
|
|
|
TSS2_RC Fapi_NvRead_Finish(
|
|
FAPI_CONTEXT *context,
|
|
uint8_t **data,
|
|
size_t *size,
|
|
char **logData);
|
|
|
|
TSS2_RC Fapi_NvWrite(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
uint8_t const *data,
|
|
size_t size);
|
|
|
|
TSS2_RC Fapi_NvWrite_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
uint8_t const *data,
|
|
size_t size);
|
|
|
|
TSS2_RC Fapi_NvWrite_Finish(
|
|
FAPI_CONTEXT *context);
|
|
|
|
TSS2_RC Fapi_NvExtend(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
uint8_t const *data,
|
|
size_t size,
|
|
char const *logData);
|
|
|
|
TSS2_RC Fapi_NvExtend_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
uint8_t const *data,
|
|
size_t size,
|
|
char const *logData);
|
|
|
|
TSS2_RC Fapi_NvExtend_Finish(
|
|
FAPI_CONTEXT *context);
|
|
|
|
TSS2_RC Fapi_NvIncrement(
|
|
FAPI_CONTEXT *context,
|
|
char const *path);
|
|
|
|
TSS2_RC Fapi_NvIncrement_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *path);
|
|
|
|
TSS2_RC Fapi_NvIncrement_Finish(
|
|
FAPI_CONTEXT *context);
|
|
|
|
TSS2_RC Fapi_NvSetBits(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
uint64_t bitmap);
|
|
|
|
TSS2_RC Fapi_NvSetBits_Async(
|
|
FAPI_CONTEXT *context,
|
|
char const *path,
|
|
uint64_t bitmap);
|
|
|
|
TSS2_RC Fapi_NvSetBits_Finish(
|
|
FAPI_CONTEXT *context);
|
|
|
|
typedef TSS2_RC (*Fapi_CB_Auth)(
|
|
FAPI_CONTEXT *context,
|
|
char const *description,
|
|
char **auth,
|
|
void *userData);
|
|
|
|
TSS2_RC Fapi_SetAuthCB(
|
|
FAPI_CONTEXT *context,
|
|
Fapi_CB_Auth callback,
|
|
void *userData);
|
|
|
|
typedef TSS2_RC (*Fapi_CB_Branch)(
|
|
FAPI_CONTEXT *context,
|
|
char const *description,
|
|
char const **branchNames,
|
|
size_t numBranches,
|
|
size_t *selectedBranch,
|
|
void *userData);
|
|
|
|
TSS2_RC Fapi_SetBranchCB(
|
|
FAPI_CONTEXT *context,
|
|
Fapi_CB_Branch callback,
|
|
void *userData);
|
|
|
|
typedef TSS2_RC (*Fapi_CB_Sign)(
|
|
FAPI_CONTEXT *context,
|
|
char const *description,
|
|
char const *publicKey,
|
|
char const *publicKeyHint,
|
|
uint32_t hashAlg,
|
|
uint8_t const *dataToSign,
|
|
size_t dataToSignSize,
|
|
uint8_t **signature,
|
|
size_t *signatureSize,
|
|
void *userData);
|
|
|
|
TSS2_RC Fapi_SetSignCB(
|
|
FAPI_CONTEXT *context,
|
|
Fapi_CB_Sign callback,
|
|
void *userData);
|
|
|
|
typedef TSS2_RC (*Fapi_CB_PolicyAction)(
|
|
FAPI_CONTEXT *context,
|
|
char const *action,
|
|
void *userData);
|
|
|
|
TSS2_RC Fapi_SetPolicyActionCB(
|
|
FAPI_CONTEXT *context,
|
|
Fapi_CB_PolicyAction callback,
|
|
void *userData);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* TSS2_FAPI_H */
|