Showing with 119 additions and 167 deletions.
  1. +1 −1 tools/tpm2_certify.c
  2. +25 −43 tools/tpm2_create.c
  3. +17 −30 tools/tpm2_createprimary.c
  4. +1 −1 tools/tpm2_encryptdecrypt.c
  5. +15 −15 tools/tpm2_getmanufec.c
  6. +1 −1 tools/tpm2_getpubek.c
  7. +30 −38 tools/tpm2_load.c
  8. +1 −1 tools/tpm2_loadexternal.c
  9. +1 −1 tools/tpm2_nvlist.c
  10. +27 −36 tools/tpm2_quote.c
2 changes: 1 addition & 1 deletion tools/tpm2_certify.c
Expand Up @@ -394,7 +394,7 @@ int execute_tool(int argc, char *argv[], char *envp[], common_opts_t *opts,

bool result = init(argc, argv, &ctx);
if (!result) {
return false;
return 1;
}

return certify_and_save_data(&ctx) != true;
Expand Down
68 changes: 25 additions & 43 deletions tools/tpm2_create.c
Expand Up @@ -299,25 +299,22 @@ execute_tool (int argc,
if(!tpm2_util_string_to_uint32(optarg,&parentHandle))
{
showArgError(optarg, argv[0]);
returnVal = -1;
break;
return 1;
}
H_flag = 1;
break;

case 'P':
if(!password_tpm2_util_copy_password(optarg, "Parent key password", &sessionData.hmac))
{
returnVal = -2;
break;
return 1;
}
P_flag = 1;
break;
case 'K':
if(!password_tpm2_util_copy_password(optarg, "Key password", &inSensitive.t.sensitive.userAuth))
{
returnVal = -3;
break;
return 1;
}
K_flag = 1;
break;
Expand All @@ -326,8 +323,7 @@ execute_tool (int argc,
if(nameAlg == TPM_ALG_ERROR)
{
showArgError(optarg, argv[0]);
returnVal = -4;
break;
return 1;
}
printf("nameAlg = 0x%4.4x\n", nameAlg);
g_flag = 1;
Expand All @@ -337,8 +333,7 @@ execute_tool (int argc,
if(type == TPM_ALG_ERROR)
{
showArgError(optarg, argv[0]);
returnVal = -5;
break;
return 1;
}
printf("type = 0x%4.4x\n", type);
G_flag = 1;
Expand All @@ -347,8 +342,7 @@ execute_tool (int argc,
if(!tpm2_util_string_to_uint32(optarg,&objectAttributes))
{
showArgError(optarg, argv[0]);
returnVal = -6;
break;
return 1;
}
A_flag = 1;//H_flag = 1;
break;
Expand All @@ -357,13 +351,11 @@ execute_tool (int argc,
if (!strcmp(optarg, "-")) {
if (!files_load_bytes_from_stdin(inSensitive.t.sensitive.data.t.buffer,
&inSensitive.t.sensitive.data.t.size)) {
returnVal = -7;
break;
return 1;
}
} else if(!files_load_bytes_from_file(optarg, inSensitive.t.sensitive.data.t.buffer,
&inSensitive.t.sensitive.data.t.size)) {
returnVal = -7;
break;
return 1;
}
I_flag = 1;
printf("inSensitive.t.sensitive.data.t.size = %d\n",inSensitive.t.sensitive.data.t.size);
Expand All @@ -372,16 +364,15 @@ execute_tool (int argc,
inPublic.t.publicArea.authPolicy.t.size = sizeof(inPublic.t.publicArea.authPolicy) - 2;
if(!files_load_bytes_from_file(optarg, inPublic.t.publicArea.authPolicy.t.buffer, &inPublic.t.publicArea.authPolicy.t.size))
{
returnVal = -8;
break;
return 1;
}
L_flag = 1;
break;
case 'S':
if (!tpm2_util_string_to_uint32(optarg, &sessionData.sessionHandle)) {
LOG_ERR("Could not convert session handle to number, got: \"%s\"",
optarg);
returnVal = 1;
return 1;
}
break;
case 'E':
Expand All @@ -391,26 +382,23 @@ execute_tool (int argc,
opuFilePath = optarg;
if(files_does_file_exist(opuFilePath) != 0)
{
returnVal = -9;
break;
return 1;
}
o_flag = 1;
break;
case 'O':
oprFilePath = optarg;
if(files_does_file_exist(oprFilePath) != 0)
{
returnVal = -10;
break;
return 1;
}
O_flag = 1;
break;
case 'c':
contextParentFilePath = optarg;
if(contextParentFilePath == NULL || contextParentFilePath[0] == '\0')
{
returnVal = -11;
break;
return 1;
}
printf("contextParentFile = %s\n", contextParentFilePath);
c_flag = 1;
Expand All @@ -419,31 +407,25 @@ execute_tool (int argc,
hexPasswd = true;
break;
case ':':
// printf("Argument %c needs a value!\n",optopt);
returnVal = -14;
break;
case '?':
// printf("Unknown Argument: %c\n",optopt);
returnVal = -15;
break;
//default:
// break;
LOG_ERR("Argument %c needs a value!\n", optopt);
return 1;
case '?':
LOG_ERR("Unknown Argument: %c\n", optopt);
return 1;
default:
LOG_ERR("?? getopt returned character code 0%o ??\n", opt);
return 1;
}
if(returnVal)
break;
};

if(returnVal != 0)
return returnVal;

if(P_flag == 0)
sessionData.hmac.t.size = 0;

if(I_flag == 0) {
inSensitive.t.sensitive.data.t.size = 0;
} else if (type != TPM_ALG_KEYEDHASH) {
LOG_ERR("Only TPM_ALG_KEYEDHASH algorithm is allowed when sealing data\n");
return -19;
return 1;
}

if(K_flag == 0)
Expand All @@ -455,7 +437,7 @@ execute_tool (int argc,
if(flagCnt == 1)
{
showArgMismatch(argv[0]);
return -16;
return 1;
}
else if(flagCnt == 3 && (H_flag == 1 || c_flag == 1) && g_flag == 1 && G_flag == 1)
{
Expand All @@ -465,12 +447,12 @@ execute_tool (int argc,
returnVal = create(parentHandle, &inPublic, &inSensitive, type, nameAlg, opuFilePath, oprFilePath, o_flag, O_flag, I_flag, A_flag, objectAttributes, is_policy_enforced);

if(returnVal)
return -17;
return 1;
}
else
{
showArgMismatch(argv[0]);
return -18;
return 1;
}
return 0;
}
47 changes: 17 additions & 30 deletions tools/tpm2_createprimary.c
Expand Up @@ -237,8 +237,7 @@ execute_tool (int argc,
hierarchy = TPM_RH_NULL;
else
{
returnVal = -1;
break;
return 1;
}
A_flag = 1;
break;
Expand All @@ -247,8 +246,7 @@ execute_tool (int argc,
if(!password_tpm2_util_copy_password(optarg, "parent key",
&sessionData.hmac))
{
returnVal = -2;
break;
return 1;
}

P_flag = 1;
Expand All @@ -257,8 +255,7 @@ execute_tool (int argc,
if(!password_tpm2_util_copy_password(optarg, "new key",
&inSensitive.t.sensitive.userAuth))
{
returnVal = -3;
break;
return 1;
}
K_flag = 1;
break;
Expand All @@ -267,8 +264,7 @@ execute_tool (int argc,
if(nameAlg == TPM_ALG_ERROR)
{
showArgError(optarg, argv[0]);
returnVal = -4;
break;
return 1;
}
printf("nameAlg = 0x%4.4x\n", nameAlg);
g_flag = 1;
Expand All @@ -278,8 +274,7 @@ execute_tool (int argc,
if(type == TPM_ALG_ERROR)
{
showArgError(optarg, argv[0]);
returnVal = -5;
break;
return 1;
}
printf("type = 0x%4.4x\n", type);
G_flag = 1;
Expand All @@ -288,8 +283,7 @@ execute_tool (int argc,
contextFile = optarg;
if(contextFile == NULL || contextFile[0] == '\0')
{
returnVal = -8;
break;
return 1;
}
printf("contextFile = %s\n", contextFile);
C_flag = 1;
Expand All @@ -301,8 +295,7 @@ execute_tool (int argc,
inPublic.t.publicArea.authPolicy.t.size = BUFFER_SIZE(TPM2B_DIGEST, buffer);
if(!files_load_bytes_from_file(optarg, inPublic.t.publicArea.authPolicy.t.buffer, &inPublic.t.publicArea.authPolicy.t.size))
{
returnVal = -8;
break;
return 1;
}
break;
case 'E':
Expand All @@ -312,27 +305,21 @@ execute_tool (int argc,
if (!tpm2_util_string_to_uint32(optarg, &sessionData.sessionHandle)) {
LOG_ERR("Could not convert session handle to number, got: \"%s\"",
optarg);
returnVal = 1;
return 1;
}
break;
case ':':
// printf("Argument %c needs a value!\n",optopt);
returnVal = -9;
break;
LOG_ERR("Argument %c needs a value!\n", optopt);
return 1;
case '?':
// printf("Unknown Argument: %c\n",optopt);
returnVal = -10;
break;
//default:
// break;
LOG_ERR("Unknown Argument: %c\n", optopt);
return 1;
default:
LOG_ERR("?? getopt returned character code 0%o ??\n", opt);
return 1;
}
if(returnVal)
break;
};

if(returnVal != 0)
return returnVal;

if (P_flag && hexPasswd)
{
int rc = tpm2_util_hex_to_byte_structure((char *)sessionData.hmac.t.buffer,
Expand Down Expand Up @@ -361,12 +348,12 @@ execute_tool (int argc,
if (returnVal == 0 && C_flag)
returnVal = files_save_tpm_context_to_file(sapi_context, handle2048rsa, contextFile) != true;
if(returnVal)
return -12;
return 1;
}
else
{
showArgMismatch(argv[0]);
return -13;
return 1;
}

return 0;
Expand Down
2 changes: 1 addition & 1 deletion tools/tpm2_encryptdecrypt.c
Expand Up @@ -246,7 +246,7 @@ int execute_tool(int argc, char *argv[], char *envp[], common_opts_t *opts,

bool result = init(argc, argv, &ctx);
if (!result) {
return false;
return 1;
}

return encryptDecrypt(&ctx) != true;
Expand Down