tpm2-tss  master
TPM Software stack 2.0 TCG spec compliant implementation
Fapi_GetTpmBlobs

Functions

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)
 

Detailed Description

FAPI functions to invoke GetTPMBlobs either as one-call or in an asynchronous manner.

Function Documentation

◆ Fapi_GetTpmBlobs()

Fapi_GetTpmBlobs ( FAPI_CONTEXT context,
char const *  path,
uint8_t **  tpm2bPublic,
size_t *  tpm2bPublicSize,
uint8_t **  tpm2bPrivate,
size_t *  tpm2bPrivateSize,
char **  policy 
)

One-Call function for Fapi_GetTpmBlobs

Get the public and private blobs of a TPM object. They can be loaded with a lower-level API such as the SAPI or the ESAPI.

Parameters
[in,out]contextThe FAPI_CONTEXT
[in]pathThe path to the key for which the blobs will be returned
[out]tpm2bPublicThe returned public area of the object. May be NULL
[out]tpm2bPublicSizeThe size of tpm2bPublic in bytes. May be NULL
[out]tpm2bPrivateThe returned private area of the object. May be NULL
[out]tpm2bPrivateSizeThe size of tpm2bPrivate in bytes. May be NULL
[out]policyThe policy that is associated with the object encoded in JSON. May be NULL
Return values
TSS2_RC_SUCCESSif the function call was a success.
TSS2_FAPI_RC_BAD_REFERENCEif context or path is NULL.
TSS2_FAPI_RC_BAD_CONTEXTif context corruption is detected.
TSS2_FAPI_RC_BAD_PATHif path does not map to a FAPI entity.
TSS2_FAPI_RC_BAD_SEQUENCEif the context has an asynchronous operation already pending.
TSS2_FAPI_RC_IO_ERRORif the data cannot be saved.
TSS2_FAPI_RC_MEMORYif the FAPI cannot allocate enough memory for internal operations or return parameters.
TSS2_FAPI_RC_PATH_NOT_FOUNDif a FAPI object path was not found during authorization.
TSS2_FAPI_RC_KEY_NOT_FOUNDif a key was not found.
TSS2_FAPI_RC_BAD_VALUEif an invalid value was passed into the function.
TSS2_FAPI_RC_TRY_AGAINif an I/O operation is not finished yet and this function needs to be called again.
TSS2_FAPI_RC_GENERAL_FAILUREif an internal error occurred.
TSS2_FAPI_RC_NOT_PROVISIONEDFAPI was not provisioned.

◆ Fapi_GetTpmBlobs_Async()

Fapi_GetTpmBlobs_Async ( FAPI_CONTEXT context,
char const *  path 
)

Asynchronous function for Fapi_GetTpmBlobs

Get the public and private blobs of a TPM object. They can be loaded with a lower-level API such as the SAPI or the ESAPI.

Call Fapi_GetTpmBlobs_Finish to finish the execution of this command.

Parameters
[in,out]contextThe FAPI_CONTEXT
[in]pathThe path to the key for which the blobs will be returned
Return values
TSS2_RC_SUCCESSif the function call was a success.
TSS2_FAPI_RC_BAD_REFERENCEif context or path is NULL.
TSS2_FAPI_RC_BAD_CONTEXTif context corruption is detected.
TSS2_FAPI_RC_BAD_PATHif path does not map to a FAPI entity.
TSS2_FAPI_RC_BAD_SEQUENCEif the context has an asynchronous operation already pending.
TSS2_FAPI_RC_IO_ERRORif the data cannot be saved.
TSS2_FAPI_RC_MEMORYif the FAPI cannot allocate enough memory for internal operations or return parameters.
TSS2_FAPI_RC_PATH_NOT_FOUNDif a FAPI object path was not found during authorization.
TSS2_FAPI_RC_KEY_NOT_FOUNDif a key was not found.
TSS2_FAPI_RC_BAD_VALUEif an invalid value was passed into the function.
TSS2_FAPI_RC_NOT_PROVISIONEDFAPI was not provisioned.

◆ Fapi_GetTpmBlobs_Finish()

Fapi_GetTpmBlobs_Finish ( FAPI_CONTEXT context,
uint8_t **  tpm2bPublic,
size_t *  tpm2bPublicSize,
uint8_t **  tpm2bPrivate,
size_t *  tpm2bPrivateSize,
char **  policy 
)

Asynchronous finish function for Fapi_GetTpmBlobs

This function should be called after a previous Fapi_GetTpmBlobs_Async.

Parameters
[in,out]contextThe FAPI_CONTEXT
[out]tpm2bPublicThe returned public area of the object. May be NULL
[out]tpm2bPublicSizeThe size of tpm2bPublic in bytes. May be NULL
[out]tpm2bPrivateThe returned private area of the object. May be NULL
[out]tpm2bPrivateSizeThe size of tpm2bPrivate in bytes. May be NULL
[out]policyThe policy that is associated with the object encoded in JSON. May be NULL
Return values
TSS2_RC_SUCCESSif the function call was a success.
TSS2_FAPI_RC_BAD_REFERENCEif context is NULL.
TSS2_FAPI_RC_BAD_CONTEXTif context corruption is detected.
TSS2_FAPI_RC_BAD_SEQUENCEif the context has an asynchronous operation already pending.
TSS2_FAPI_RC_IO_ERRORif the data cannot be saved.
TSS2_FAPI_RC_MEMORYif the FAPI cannot allocate enough memory for internal operations or return parameters.
TSS2_FAPI_RC_TRY_AGAINif the asynchronous operation is not yet complete. Call this function again later.
TSS2_FAPI_RC_BAD_PATHif a path is used in inappropriate context or contains illegal characters.
TSS2_FAPI_RC_GENERAL_FAILUREif an internal error occurred.
TSS2_FAPI_RC_BAD_VALUEif an invalid value was passed into the function.