TPMLIB_DecodeBlob(3)

NAME
TPMLIB_DecodeBlob - Decode a base64-encode TPM blob

SYNOPSIS
#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);

DESCRIPTION
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:

BLOB_TYPE_INITSTATE
    '-----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).

ERRORS

TPM_SUCCESS
    The function completed successfully.

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

TPM_FAIL
    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)