int tpmUnsealFile(char* file, char** data, int* size);
void tpmUnsealShred(char* data, int size);
char* tpmUnsealStrerror(int rc);
The functions in the tpmUnseal family allow access to a piece of sensitive data that has been sealed to the TPM configuration of a given system if the conditions are right, that is the SRK has not changed and the PCRS (if any) specified at seal time are of the appropriate value.
The tpmUnsealFile function returns the contents of the file unsealed in the data buffer. The memory at *data must be freed by the caller.
The tpmUnsealShred function will zero and free the memory.
The tpmUnsealStrerror function will convert the return code from tpmUnsealFile into a human comprehensible string using and internal errno variable.