TPMLIB_DecodeBlob - Man Page

Decode a base64-encode TPM blob


#include <libtpms/tpm_types.h>

#include <libtpms/tpm_library.h>

TPM_RESULT TPMLIB_DecodeBlob(const char *buffer,
                            enum TPMLIB_BlobType type,
                            unsigned char **result
                            size_t *result_len);


The TPMLIB_DecodeBlob() function is used to decode a base64-encoded TPM state blob. The caller must pass what type of blob is expected to be decoded and following that the function will look for the start and end markers of the data.

The following types of blobs are supported along with their start and  end markers:


'-----BEGIN INITSTATE-----' marks the beginning of the base64-encoded blob.

'-----END INITSTATE-----' marks the end of the base64-encoded blob.

This function is useful when passing state to the TPM inside the callback that is invoked to get the TPM's state blob. See TPMLIB_RegisterCallbacks(3).



The function completed sucessfully.


The size of a requested buffer exceeds the limit or the system is out of memory.


An error occurred while attempting to decode the blob.

For a complete list of TPM error codes please consult the include file libtpms/tpm_error.h

See Also

TPMLIB_MainInit(3), TPMLIB_RegisterCallbacks(3)

Referenced By


2021-03-01 libtpms