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
prev parent 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