|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 04/13] vtpmmgr: Allow specifying srk_handle for TPM2
On 5/6/21 9:59 AM, Jason Andryuk wrote:
> Bypass taking ownership of the TPM2 if an srk_handle is specified.
>
> This srk_handle must be usable with Null auth for the time being.
>
> Signed-off-by: Jason Andryuk <jandryuk@xxxxxxxxx>
> ---
Reviewed-by: Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>
> v2: Use "=" seperator
> ---
> docs/man/xen-vtpmmgr.7.pod | 7 +++++++
> stubdom/vtpmmgr/init.c | 11 ++++++++++-
> 2 files changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/docs/man/xen-vtpmmgr.7.pod b/docs/man/xen-vtpmmgr.7.pod
> index 875dcce508..3286954568 100644
> --- a/docs/man/xen-vtpmmgr.7.pod
> +++ b/docs/man/xen-vtpmmgr.7.pod
> @@ -92,6 +92,13 @@ Valid arguments:
>
> =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>
> diff --git a/stubdom/vtpmmgr/init.c b/stubdom/vtpmmgr/init.c
> index 1506735051..130e4f4bf6 100644
> --- a/stubdom/vtpmmgr/init.c
> +++ b/stubdom/vtpmmgr/init.c
> @@ -302,6 +302,11 @@ int parse_cmdline_opts(int argc, char** argv, struct
> Opts* opts)
> 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;
> @@ -586,7 +591,11 @@ TPM_RESULT vtpmmgr2_create(void)
> {
> 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;
>
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |