#include "tpm_tspi.h" #include "tpm_unseal.h" int main(int argc, char **args){ unsigned char* plaintext_data; int plaintext_size; FILE* plaintext_file; if (argc != 2) { fprintf(stderr, "Usage: tpm_unseal \n"); return 3; } fprintf(stdout, "Trying to decode %s\n", args[1]); int result = tpmUnsealFile(args[1], &plaintext_data, &plaintext_size); if (result != 0) { char* errMsg = tpmUnsealStrerror(result); fprintf(stdout, "Decoding failed: %s\n", errMsg); return 2; } if ((plaintext_file = fopen(strcat(args[1], ".decoded"), "w")) == NULL) { fprintf(stderr, "Cannot open %s for writing\n", args[1]); return 1; } int i; for (i=0; i