=over 4
+=item srk_handle=<HANDLE>
+
+Specify a srk_handle for TPM 2.0. TPM 2.0 uses a key hierarchy, and
+this allow specifying the parent handle for vtpmmgr to create its own
+key under. Using this option bypasses vtpmmgr trying to take ownership
+of the TPM.
+
=item owner_auth=<AUTHSPEC>
=item srk_auth=<AUTHSPEC>
goto err_invalid;
}
}
+ else if(!strncmp(argv[i], "srk_handle=", 11)) {
+ if(sscanf(argv[i] + 11, "%x", &vtpm_globals.srk_handle) != 1) {
+ goto err_invalid;
+ }
+ }
else if(!strncmp(argv[i], "tpmdriver=", 10)) {
if(!strcmp(argv[i] + 10, "tpm_tis")) {
opts->tpmdriver = TPMDRV_TPM_TIS;
{
TPM_RESULT status = TPM_SUCCESS;
- TPMTRYRETURN(tpm2_take_ownership());
+ if ( vtpm_globals.srk_handle == 0 ) {
+ TPMTRYRETURN(tpm2_take_ownership());
+ } else {
+ tpm2_AuthArea_ctor(NULL, 0, &vtpm_globals.srk_auth_area);
+ }
/* create SK */
TPM2_Create_Params_out out;