public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Laszlo Ersek" <lersek@redhat.com>
To: devel@edk2.groups.io, glin@suse.com
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Jordan Justen <jordan.l.justen@intel.com>
Subject: Re: [edk2-devel] [PATCH 1/1] OvmfPkg/EnrollDefaultKeys: import the non-default key into db
Date: Thu, 16 May 2019 15:47:57 +0200	[thread overview]
Message-ID: <bf1a39bd-e57e-d475-1a89-9860bf16237a@redhat.com> (raw)
In-Reply-To: <20190516030834.12203-1-glin@suse.com>

On 05/16/19 05:08, Gary Lin wrote:
> For QA test and development, we may need to test Secure Boot with a
> devel key instead of UEFI CA.
> 
> This commit adds an argument, "--no-default", to EnrollDefaultKeys.efi.
> With the argument, the key from SMBIOS Type 11 will also be enrolled
> into db. Besides, the keys in AuthData.c, i.e. Microsoft KEK CA,
> Microsoft PCA, and Microsoft UEFI CA will be excluded, so the developer
> can easily create a varstore template for a specific key.
> 
> Cc: Laszlo Ersek <lersek@redhat.com>
> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Signed-off-by: Gary Lin <glin@suse.com>
> ---
>  OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c | 53 ++++++++++++++-----
>  1 file changed, 39 insertions(+), 14 deletions(-)
> 
> diff --git a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
> index 75f2749dc84a..f45cb799f726 100644
> --- a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
> +++ b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
> @@ -538,6 +538,13 @@ ShellAppMain (
>    SETTINGS   Settings;
>    UINT8      *PkKek1;
>    UINTN      SizeOfPkKek1;
> +  BOOLEAN    NoDefault;
> +
> +  if (Argc == 2 && StrCmp (Argv[1], L"--no-default") == 0) {
> +    NoDefault = TRUE;
> +  } else {
> +    NoDefault = FALSE;
> +  }
>  
>    //
>    // Prepare for failure.
> @@ -594,13 +601,22 @@ ShellAppMain (
>    //
>    // Enroll db.
>    //
> -  Status = EnrollListOfCerts (
> -             EFI_IMAGE_SECURITY_DATABASE,
> -             &gEfiImageSecurityDatabaseGuid,
> -             &gEfiCertX509Guid,
> -             mMicrosoftPca,    mSizeOfMicrosoftPca,    &gMicrosoftVendorGuid,
> -             mMicrosoftUefiCa, mSizeOfMicrosoftUefiCa, &gMicrosoftVendorGuid,
> -             NULL);
> +  if (NoDefault) {
> +    Status = EnrollListOfCerts (
> +               EFI_IMAGE_SECURITY_DATABASE,
> +               &gEfiImageSecurityDatabaseGuid,
> +               &gEfiCertX509Guid,
> +               PkKek1, SizeOfPkKek1, &gEfiCallerIdGuid,
> +               NULL);
> +  } else {
> +    Status = EnrollListOfCerts (
> +               EFI_IMAGE_SECURITY_DATABASE,
> +               &gEfiImageSecurityDatabaseGuid,
> +               &gEfiCertX509Guid,
> +               mMicrosoftPca,    mSizeOfMicrosoftPca,    &gMicrosoftVendorGuid,
> +               mMicrosoftUefiCa, mSizeOfMicrosoftUefiCa, &gMicrosoftVendorGuid,
> +               NULL);
> +  }
>    if (EFI_ERROR (Status)) {
>      goto FreePkKek1;
>    }
> @@ -621,13 +637,22 @@ ShellAppMain (
>    //
>    // Enroll KEK.
>    //
> -  Status = EnrollListOfCerts (
> -             EFI_KEY_EXCHANGE_KEY_NAME,
> -             &gEfiGlobalVariableGuid,
> -             &gEfiCertX509Guid,
> -             PkKek1,        SizeOfPkKek1,        &gEfiCallerIdGuid,
> -             mMicrosoftKek, mSizeOfMicrosoftKek, &gMicrosoftVendorGuid,
> -             NULL);
> +  if (NoDefault) {
> +    Status = EnrollListOfCerts (
> +               EFI_KEY_EXCHANGE_KEY_NAME,
> +               &gEfiGlobalVariableGuid,
> +               &gEfiCertX509Guid,
> +               PkKek1, SizeOfPkKek1, &gEfiCallerIdGuid,
> +               NULL);
> +  } else {
> +    Status = EnrollListOfCerts (
> +               EFI_KEY_EXCHANGE_KEY_NAME,
> +               &gEfiGlobalVariableGuid,
> +               &gEfiCertX509Guid,
> +               PkKek1,        SizeOfPkKek1,        &gEfiCallerIdGuid,
> +               mMicrosoftKek, mSizeOfMicrosoftKek, &gMicrosoftVendorGuid,
> +               NULL);
> +  }
>    if (EFI_ERROR (Status)) {
>      goto FreePkKek1;
>    }
> 

Reviewed-by: Laszlo Ersek <lersek@redhat.com>

Pushed as commit 89d7c543cf71.

Thanks,
Laszlo

      reply	other threads:[~2019-05-16 13:48 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-16  3:08 [PATCH 1/1] OvmfPkg/EnrollDefaultKeys: import the non-default key into db Gary Lin
2019-05-16 13:47 ` Laszlo Ersek [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bf1a39bd-e57e-d475-1a89-9860bf16237a@redhat.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox