HP-UX Trusted Computing Services A.02.00 Administrator's Guide
password = optarg;
break;
case 'h':
host = optarg;
break;
case 's':
secret = optarg;
break;
case '?':
default:
if (isprint (optopt))
fprintf (stderr, "Unknown option `-%c'.\n", optopt);
else
fprintf (stderr, "Unknown option character `\\x%x'.\n", optopt);
usage();
return 1;
}
return 0;
}
TSS_UUID *
uuidGen(TSS_HTPM hTPM){
TSS_RESULT tResult;
TSS_UUID *uuid;
tResult = Tspi_TPM_GetRandom(hTPM, sizeof(TSS_UUID), (BYTE **)&uuid);
if (tResult != TSS_SUCCESS) {
fprintf(stderr, "Tspi_TPM_GetRandom failed. Error: %s\n",
Trspi_Error_String(tResult));
return NULL;
}
// Put in the variant and version bits
uuid->usTimeHigh &= 0x0FFF;
uuid->usTimeHigh |= (4 << 12);
uuid->bClockSeqHigh &= 0x3F;
uuid->bClockSeqHigh |= 0x80;
return uuid;
}
void
usage() {
fprintf(stderr, "usage: tpm_addsecret [-p password] [-s secretdata]
[-h host]\n");
}
void
printHex(BYTE *blob, UINT32 blobLen) {
int i;
for(i=0; i < blobLen; i++) {
fprintf(stdout, "%02x", blob[i]);
if((i+1) % 32 == 0) {
fprintf(stdout, "\n");
}
}
}
97