Tspi_DecodeBER_TssBlob - unwraps a BER-encoded TSS blob.
#include <tss/tspi.h>
TSS_RESULT Tspi_DecodeBER_TssBlob(UINT32 berBlobSize, BYTE* berBlob,
UINT32* blobType, UINT32* rawBlobSize,
BYTE* rawBlob);
Tspi_DecodeBER_TssBlob is used to unwrap a BER-encoded blob in accordance
with the ASN.1 data definitions in the Portable Data section of the Trusted
Computing Group Software Stack Specification Version 1.2.
Size of the BER-encoded blob.
Pointer to the BER-encoded blob.
Pointer to the type of blob being unwrapped (refer to the TSS_BLOB_TYPE_*
constants).
Pointer to the size of the rawBlob buffer. On input this parameter contains a
pointer to the maximum size of the supplied rawBlob buffer. On output this
parameter contains a pointer to the actual size of the unwrapped blob. On
input, if this parameter points to a value of 0, then this function will
return the size of the buffer required to hold the unwrapped blob without
writing to the rawBlob buffer.
Note: The output data must be shorter than the
BER-encoding, so berBlobSize is a useful upper limit on rawBlob buffer
size.
Pointer to a buffer to hold the unwrapped blob.
Tspi_EncodeDER_TssBlob returns TSS_SUCCESS on success, otherwise one of
the following values are returned:
- TSS_E_BAD_PARAMETER
- TSS_E_INTERNAL_ERROR - An error occurred internal to the
TSS.
Tspi_DecodeBER_TssBlob conforms to the Trusted Computing Group Software
Specification Version 1.2
Tspi_DecodeBER_TssBlob(3).