On 4/27/19 2:53 AM, Laszlo Ersek wrote:
> A large portion of "EnrollDefaultKeys.c" is hex-encoded X509 certificates,
> GUIDs, and signatures. These objects are constants, unlikely to see
> changes anytime soon. Move them out of the way, to "AuthData.c", so we can
> more easily work on functions in "EnrollDefaultKeys.c".
> 
> Cc: Anthony Perard <anthony.per...@citrix.com>
> Cc: Ard Biesheuvel <ard.biesheu...@linaro.org>
> Cc: Jordan Justen <jordan.l.jus...@intel.com>
> Cc: Julien Grall <julien.gr...@arm.com>
> Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=1747
> Signed-off-by: Laszlo Ersek <ler...@redhat.com>
> ---
>  OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf               |   1 +
>  OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h                 |  24 +-
>  OvmfPkg/EnrollDefaultKeys/{EnrollDefaultKeys.c => AuthData.c} | 402 
> +--------------
>  OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c                 | 540 
> +-------------------
>  4 files changed, 53 insertions(+), 914 deletions(-)
> 
> diff --git a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf 
> b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf
> index 9f315a8e6d90..3f093c768585 100644
> --- a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf
> +++ b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf
> @@ -10,16 +10,17 @@ [Defines]
>    INF_VERSION                    = 1.28
>    BASE_NAME                      = EnrollDefaultKeys
>    FILE_GUID                      = A0BAA8A3-041D-48A8-BC87-C36D121B5E3D
>    MODULE_TYPE                    = UEFI_APPLICATION
>    VERSION_STRING                 = 0.1
>    ENTRY_POINT                    = ShellCEntryLib
>  
>  [Sources]
> +  AuthData.c
>    EnrollDefaultKeys.c
>    EnrollDefaultKeys.h
>  
>  [Packages]
>    MdeModulePkg/MdeModulePkg.dec
>    MdePkg/MdePkg.dec
>    SecurityPkg/SecurityPkg.dec
>    ShellPkg/ShellPkg.dec
> diff --git a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h 
> b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h
> index 9bcd87ff4f44..07f4aa04e469 100644
> --- a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h
> +++ b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h
> @@ -1,10 +1,11 @@
>  /** @file
> -  Type definitions for the EnrollDefaultKeys application.
> +  Type definitions and object declarations for the EnrollDefaultKeys
> +  application.
>  
>    Copyright (C) 2014-2019, Red Hat, Inc.
>  
>    SPDX-License-Identifier: BSD-2-Clause-Patent
>  **/
>  
>  #ifndef ENROLL_DEFAULT_KEYS_H_
>  #define ENROLL_DEFAULT_KEYS_H_
> @@ -113,9 +114,30 @@ typedef struct {
>  typedef struct {
>    UINT8 SetupMode;
>    UINT8 SecureBoot;
>    UINT8 SecureBootEnable;
>    UINT8 CustomMode;
>    UINT8 VendorKeys;
>  } SETTINGS;
>  
> +
> +//
> +// Refer to "AuthData.c" for details on the following objects.
> +//
> +extern CONST UINT8 mRedHatPkKek1[];
> +extern CONST UINTN mSizeOfRedHatPkKek1;
> +
> +extern CONST UINT8 mMicrosoftKek[];
> +extern CONST UINTN mSizeOfMicrosoftKek;
> +
> +extern CONST UINT8 mMicrosoftPca[];
> +extern CONST UINTN mSizeOfMicrosoftPca;
> +
> +extern CONST UINT8 mMicrosoftUefiCa[];
> +extern CONST UINTN mSizeOfMicrosoftUefiCa;
> +
> +extern CONST UINT8 mSha256OfDevNull[];
> +extern CONST UINTN mSizeOfSha256OfDevNull;
> +
> +extern CONST EFI_GUID mMicrosoftOwnerGuid;
> +
>  #endif /* ENROLL_DEFAULT_KEYS_H_ */
> diff --git a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c 
> b/OvmfPkg/EnrollDefaultKeys/AuthData.c
> similarity index 74%
> copy from OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
> copy to OvmfPkg/EnrollDefaultKeys/AuthData.c
> index fefea6638887..e0a543785fb5 100644
> --- a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
> +++ b/OvmfPkg/EnrollDefaultKeys/AuthData.c
> @@ -1,35 +1,27 @@
>  /** @file
> -  Enroll default PK, KEK, db, dbx.
> +  Certificate and signature constants for the EnrollDefaultKeys application.
>  
>    Copyright (C) 2014-2019, Red Hat, Inc.
>  
>    SPDX-License-Identifier: BSD-2-Clause-Patent
>  **/
> -#include <Guid/AuthenticatedVariableFormat.h>    // gEfiCustomModeEnableGuid
> -#include <Guid/GlobalVariable.h>                 // EFI_SETUP_MODE_NAME
> -#include <Guid/ImageAuthentication.h>            // 
> EFI_IMAGE_SECURITY_DATABASE
> -#include <Library/BaseMemoryLib.h>               // CopyGuid()
> -#include <Library/DebugLib.h>                    // ASSERT()
> -#include <Library/MemoryAllocationLib.h>         // FreePool()
> -#include <Library/ShellCEntryLib.h>              // ShellAppMain()
> -#include <Library/UefiLib.h>                     // AsciiPrint()
> -#include <Library/UefiRuntimeServicesTableLib.h> // gRT
>  
>  #include "EnrollDefaultKeys.h"
>  
> +
>  //
>  // We'll use the certificate below as both Platform Key and as first Key
>  // Exchange Key.
>  //
>  // "Red Hat Secure Boot (PK/KEK key 1)/emailAddress=secal...@redhat.com"
>  // SHA1: fd:fc:7f:3c:7e:f3:e0:57:76:ad:d7:98:78:21:6c:9b:e0:e1:95:97
>  //
> -STATIC CONST UINT8 mRedHatPkKek1[] = {
> +CONST UINT8 mRedHatPkKek1[] = {
>    0x30, 0x82, 0x03, 0xa0, 0x30, 0x82, 0x02, 0x88, 0xa0, 0x03, 0x02, 0x01, 
> 0x02,
>    0x02, 0x09, 0x00, 0xfe, 0xf5, 0x88, 0xe8, 0xf3, 0x96, 0xc0, 0xf1, 0x30, 
> 0x0d,
>    0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 
> 0x00,
>    0x30, 0x51, 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 
> 0x22,
>    0x52, 0x65, 0x64, 0x20, 0x48, 0x61, 0x74, 0x20, 0x53, 0x65, 0x63, 0x75, 
> 0x72,
>    0x65, 0x20, 0x42, 0x6f, 0x6f, 0x74, 0x20, 0x28, 0x50, 0x4b, 0x2f, 0x4b, 
> 0x45,
>    0x4b, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x31, 0x29, 0x31, 0x22, 0x30, 0x20, 
> 0x06,
>    0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x16, 0x13, 
> 0x73,
> @@ -94,23 +86,26 @@ STATIC CONST UINT8 mRedHatPkKek1[] = {
>    0xf5, 0x8a, 0x27, 0x26, 0xa4, 0x70, 0x36, 0xec, 0x0c, 0xf6, 0x83, 0x3d, 
> 0x90,
>    0xf7, 0x36, 0xf3, 0xf9, 0xf3, 0x15, 0xd4, 0x90, 0x62, 0xbe, 0x53, 0xb4, 
> 0xaf,
>    0xd3, 0x49, 0xaf, 0xef, 0xf4, 0x73, 0xe8, 0x7b, 0x76, 0xe4, 0x44, 0x2a, 
> 0x37,
>    0xba, 0x81, 0xa4, 0x99, 0x0c, 0x3a, 0x31, 0x24, 0x71, 0xa0, 0xe4, 0xe4, 
> 0xb7,
>    0x1a, 0xcb, 0x47, 0xe4, 0xaa, 0x22, 0xcf, 0xef, 0x75, 0x61, 0x80, 0xe3, 
> 0x43,
>    0xb7, 0x48, 0x57, 0x73, 0x11, 0x3d, 0x78, 0x9b, 0x69
>  };
>  
> +CONST UINTN mSizeOfRedHatPkKek1 = sizeof mRedHatPkKek1;
> +
> +
>  //
>  // Second KEK: "Microsoft Corporation KEK CA 2011".
>  // SHA1: 31:59:0b:fd:89:c9:d7:4e:d0:87:df:ac:66:33:4b:39:31:25:4b:30
>  //
>  // "dbx" updates in "dbxtool" are signed with a key derived from this KEK.
>  //
> -STATIC CONST UINT8 mMicrosoftKek[] = {
> +CONST UINT8 mMicrosoftKek[] = {
>    0x30, 0x82, 0x05, 0xe8, 0x30, 0x82, 0x03, 0xd0, 0xa0, 0x03, 0x02, 0x01, 
> 0x02,
>    0x02, 0x0a, 0x61, 0x0a, 0xd1, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
> 0x30,
>    0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 
> 0x05,
>    0x00, 0x30, 0x81, 0x91, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 
> 0x06,
>    0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 
> 0x08,
>    0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 
> 0x31,
>    0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 
> 0x64,
>    0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 
> 0x0a,
> @@ -220,24 +215,27 @@ STATIC CONST UINT8 mMicrosoftKek[] = {
>    0x34, 0x72, 0xba, 0x97, 0x60, 0x3b, 0xf0, 0x79, 0xeb, 0xa2, 0xb2, 0x1c, 
> 0x5d,
>    0xa2, 0x16, 0xb8, 0x87, 0xc5, 0xe9, 0x1b, 0xf6, 0xb5, 0x97, 0x25, 0x6f, 
> 0x38,
>    0x9f, 0xe3, 0x91, 0xfa, 0x8a, 0x79, 0x98, 0xc3, 0x69, 0x0e, 0xb7, 0xa3, 
> 0x1c,
>    0x20, 0x05, 0x97, 0xf8, 0xca, 0x14, 0xae, 0x00, 0xd7, 0xc4, 0xf3, 0xc0, 
> 0x14,
>    0x10, 0x75, 0x6b, 0x34, 0xa0, 0x1b, 0xb5, 0x99, 0x60, 0xf3, 0x5c, 0xb0, 
> 0xc5,
>    0x57, 0x4e, 0x36, 0xd2, 0x32, 0x84, 0xbf, 0x9e
>  };
>  
> +CONST UINTN mSizeOfMicrosoftKek = sizeof mMicrosoftKek;
> +
> +
>  //
>  // First DB entry: "Microsoft Windows Production PCA 2011"
>  // SHA1: 58:0a:6f:4c:c4:e4:b6:69:b9:eb:dc:1b:2b:3e:08:7b:80:d0:67:8d
>  //
>  // Windows 8 and Windows Server 2012 R2 boot loaders are signed with a chain
>  // rooted in this certificate.
>  //
> -STATIC CONST UINT8 mMicrosoftPca[] = {
> +CONST UINT8 mMicrosoftPca[] = {
>    0x30, 0x82, 0x05, 0xd7, 0x30, 0x82, 0x03, 0xbf, 0xa0, 0x03, 0x02, 0x01, 
> 0x02,
>    0x02, 0x0a, 0x61, 0x07, 0x76, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 
> 0x30,
>    0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 
> 0x05,
>    0x00, 0x30, 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 
> 0x06,
>    0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 
> 0x08,
>    0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 
> 0x31,
>    0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 
> 0x64,
>    0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 
> 0x0a,
> @@ -346,23 +344,26 @@ STATIC CONST UINT8 mMicrosoftPca[] = {
>    0xe5, 0x42, 0x59, 0x08, 0x71, 0x4b, 0x57, 0xba, 0x7e, 0x83, 0x81, 0xf0, 
> 0x21,
>    0x3c, 0xf4, 0x1c, 0xc1, 0xc5, 0xb9, 0x90, 0x93, 0x0e, 0x88, 0x45, 0x93, 
> 0x86,
>    0xe9, 0xb1, 0x20, 0x99, 0xbe, 0x98, 0xcb, 0xc5, 0x95, 0xa4, 0x5d, 0x62, 
> 0xd6,
>    0xa0, 0x63, 0x08, 0x20, 0xbd, 0x75, 0x10, 0x77, 0x7d, 0x3d, 0xf3, 0x45, 
> 0xb9,
>    0x9f, 0x97, 0x9f, 0xcb, 0x57, 0x80, 0x6f, 0x33, 0xa9, 0x04, 0xcf, 0x77, 
> 0xa4,
>    0x62, 0x1c, 0x59, 0x7e
>  };
>  
> +CONST UINTN mSizeOfMicrosoftPca = sizeof mMicrosoftPca;
> +
> +
>  //
>  // Second DB entry: "Microsoft Corporation UEFI CA 2011"
>  // SHA1: 46:de:f6:3b:5c:e6:1c:f8:ba:0d:e2:e6:63:9c:10:19:d0:ed:14:f3
>  //
>  // To verify the "shim" binary and PCI expansion ROMs with.
>  //
> -STATIC CONST UINT8 mMicrosoftUefiCa[] = {
> +CONST UINT8 mMicrosoftUefiCa[] = {
>    0x30, 0x82, 0x06, 0x10, 0x30, 0x82, 0x03, 0xf8, 0xa0, 0x03, 0x02, 0x01, 
> 0x02,
>    0x02, 0x0a, 0x61, 0x08, 0xd3, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 
> 0x30,
>    0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 
> 0x05,
>    0x00, 0x30, 0x81, 0x91, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 
> 0x06,
>    0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 
> 0x08,
>    0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 
> 0x31,
>    0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 
> 0x64,
>    0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 
> 0x0a,
> @@ -475,16 +476,19 @@ STATIC CONST UINT8 mMicrosoftUefiCa[] = {
>    0xe2, 0x25, 0x22, 0xb1, 0xd9, 0x7b, 0xe7, 0x03, 0x06, 0x2a, 0xa3, 0xf7, 
> 0x1e,
>    0x90, 0x46, 0xc3, 0x00, 0x0d, 0xd6, 0x19, 0x89, 0xe3, 0x0e, 0x35, 0x27, 
> 0x62,
>    0x03, 0x71, 0x15, 0xa6, 0xef, 0xd0, 0x27, 0xa0, 0xa0, 0x59, 0x37, 0x60, 
> 0xf8,
>    0x38, 0x94, 0xb8, 0xe0, 0x78, 0x70, 0xf8, 0xba, 0x4c, 0x86, 0x87, 0x94, 
> 0xf6,
>    0xe0, 0xae, 0x02, 0x45, 0xee, 0x65, 0xc2, 0xb6, 0xa3, 0x7e, 0x69, 0x16, 
> 0x75,
>    0x07, 0x92, 0x9b, 0xf5, 0xa6, 0xbc, 0x59, 0x83, 0x58
>  };
>  
> +CONST UINTN mSizeOfMicrosoftUefiCa = sizeof mMicrosoftUefiCa;
> +
> +
>  //
>  // The Microsoft.UefiSecureBootLogo.Tests.OutOfBoxConfirmDBXisPresent test 
> case
>  // of the Secure Boot Logo Test in the Microsoft Hardware Certification Kit
>  // expects that the "dbx" variable exist.
>  //
>  // The article at <https://technet.microsoft.com/en-us/library/dn747883.aspx>
>  // writes (excerpt):
>  //
> @@ -507,22 +511,25 @@ STATIC CONST UINT8 mMicrosoftUefiCa[] = {
>  //
>  // Technically speaking, we could also capture an official (although soon to 
> be
>  // obsolete) dbx update from <http://www.uefi.org/revocationlistfile>. 
> However,
>  // the terms and conditions on distributing that binary aren't exactly light
>  // reading, so let's best steer clear of it, and follow the "dummy entry"
>  // practice recommended -- in natural English langauge -- in the
>  // above-referenced TechNet article.
>  //
> -STATIC CONST UINT8 mSha256OfDevNull[] = {
> +CONST UINT8 mSha256OfDevNull[] = {
>    0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 
> 0x99,
>    0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 
> 0x95,
>    0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55
>  };
>  
> +CONST UINTN mSizeOfSha256OfDevNull = sizeof mSha256OfDevNull;
> +
> +
>  //
>  // The following test cases of the Secure Boot Logo Test in the Microsoft
>  // Hardware Certification Kit:
>  //
>  // - Microsoft.UefiSecureBootLogo.Tests.OutOfBoxVerifyMicrosoftKEKpresent
>  // - Microsoft.UefiSecureBootLogo.Tests.OutOfBoxConfirmMicrosoftSignatureInDB
>  //
>  // expect the EFI_SIGNATURE_DATA.SignatureOwner GUID to be
> @@ -535,375 +542,12 @@ STATIC CONST UINT8 mSha256OfDevNull[] = {
>  // - "Microsoft Corporation UEFI CA 2011" (in db)
>  //
>  // This is despite the fact that the UEFI specification requires
>  // EFI_SIGNATURE_DATA.SignatureOwner to reflect the agent (i.e., OS,
>  // application or driver) that enrolled and therefore owns
>  // EFI_SIGNATURE_DATA.SignatureData, and not the organization that issued
>  // EFI_SIGNATURE_DATA.SignatureData.
>  //
> -STATIC CONST EFI_GUID mMicrosoftOwnerGuid = {
> +CONST EFI_GUID mMicrosoftOwnerGuid = {
>    0x77fa9abd, 0x0359, 0x4d32,
>    { 0xbd, 0x60, 0x28, 0xf4, 0xe7, 0x8f, 0x78, 0x4b },
>  };
> -
> -/**
> -  Enroll a set of certificates in a global variable, overwriting it.
> -
> -  The variable will be rewritten with NV+BS+RT+AT attributes.
> -
> -  @param[in] VariableName  The name of the variable to overwrite.
> -
> -  @param[in] VendorGuid    The namespace (ie. vendor GUID) of the variable to
> -                           overwrite.
> -
> -  @param[in] CertType      The GUID determining the type of all the
> -                           certificates in the set that is passed in. For
> -                           example, gEfiCertX509Guid stands for DER-encoded
> -                           X.509 certificates, while gEfiCertSha256Guid 
> stands
> -                           for SHA256 image hashes.
> -
> -  @param[in] ...           A list of
> -
> -                             IN CONST UINT8    *Cert,
> -                             IN UINTN          CertSize,
> -                             IN CONST EFI_GUID *OwnerGuid
> -
> -                           triplets. If the first component of a triplet is
> -                           NULL, then the other two components are not
> -                           accessed, and processing is terminated. The list 
> of
> -                           certificates is enrolled in the variable 
> specified,
> -                           overwriting it. The OwnerGuid component identifies
> -                           the agent installing the certificate.
> -
> -  @retval EFI_INVALID_PARAMETER  The triplet list is empty (ie. the first 
> Cert
> -                                 value is NULL), or one of the CertSize 
> values
> -                                 is 0, or one of the CertSize values would
> -                                 overflow the accumulated UINT32 data size.
> -
> -  @retval EFI_OUT_OF_RESOURCES   Out of memory while formatting variable
> -                                 payload.
> -
> -  @retval EFI_SUCCESS            Enrollment successful; the variable has been
> -                                 overwritten (or created).
> -
> -  @return                        Error codes from gRT->GetTime() and
> -                                 gRT->SetVariable().
> -**/
> -STATIC
> -EFI_STATUS
> -EFIAPI
> -EnrollListOfCerts (
> -  IN CHAR16   *VariableName,
> -  IN EFI_GUID *VendorGuid,
> -  IN EFI_GUID *CertType,
> -  ...
> -  )
> -{
> -  UINTN            DataSize;
> -  SINGLE_HEADER    *SingleHeader;
> -  REPEATING_HEADER *RepeatingHeader;
> -  VA_LIST          Marker;
> -  CONST UINT8      *Cert;
> -  EFI_STATUS       Status;
> -  UINT8            *Data;
> -  UINT8            *Position;
> -
> -  Status = EFI_SUCCESS;
> -
> -  //
> -  // compute total size first, for UINT32 range check, and allocation
> -  //
> -  DataSize = sizeof *SingleHeader;
> -  VA_START (Marker, CertType);
> -  for (Cert = VA_ARG (Marker, CONST UINT8 *);
> -       Cert != NULL;
> -       Cert = VA_ARG (Marker, CONST UINT8 *)) {
> -    UINTN          CertSize;
> -
> -    CertSize = VA_ARG (Marker, UINTN);
> -    (VOID)VA_ARG (Marker, CONST EFI_GUID *);
> -
> -    if (CertSize == 0 ||
> -        CertSize > MAX_UINT32 - sizeof *RepeatingHeader ||
> -        DataSize > MAX_UINT32 - sizeof *RepeatingHeader - CertSize) {
> -      Status = EFI_INVALID_PARAMETER;
> -      break;
> -    }
> -    DataSize += sizeof *RepeatingHeader + CertSize;
> -  }
> -  VA_END (Marker);
> -
> -  if (DataSize == sizeof *SingleHeader) {
> -    Status = EFI_INVALID_PARAMETER;
> -  }
> -  if (EFI_ERROR (Status)) {
> -    goto Out;
> -  }
> -
> -  Data = AllocatePool (DataSize);
> -  if (Data == NULL) {
> -    Status = EFI_OUT_OF_RESOURCES;
> -    goto Out;
> -  }
> -
> -  Position = Data;
> -
> -  SingleHeader = (SINGLE_HEADER *)Position;
> -  Status = gRT->GetTime (&SingleHeader->TimeStamp, NULL);
> -  if (EFI_ERROR (Status)) {
> -    goto FreeData;
> -  }
> -  SingleHeader->TimeStamp.Pad1       = 0;
> -  SingleHeader->TimeStamp.Nanosecond = 0;
> -  SingleHeader->TimeStamp.TimeZone   = 0;
> -  SingleHeader->TimeStamp.Daylight   = 0;
> -  SingleHeader->TimeStamp.Pad2       = 0;
> -#if 0
> -  SingleHeader->dwLength         = DataSize - sizeof SingleHeader->TimeStamp;
> -#else
> -  //
> -  // This looks like a bug in edk2. According to the UEFI specification,
> -  // dwLength is "The length of the entire certificate, including the length 
> of
> -  // the header, in bytes". That shouldn't stop right after CertType -- it
> -  // should include everything below it.
> -  //
> -  SingleHeader->dwLength         = sizeof *SingleHeader
> -                                     - sizeof SingleHeader->TimeStamp;
> -#endif
> -  SingleHeader->wRevision        = 0x0200;
> -  SingleHeader->wCertificateType = WIN_CERT_TYPE_EFI_GUID;
> -  CopyGuid (&SingleHeader->CertType, &gEfiCertPkcs7Guid);
> -  Position += sizeof *SingleHeader;
> -
> -  VA_START (Marker, CertType);
> -  for (Cert = VA_ARG (Marker, CONST UINT8 *);
> -       Cert != NULL;
> -       Cert = VA_ARG (Marker, CONST UINT8 *)) {
> -    UINTN            CertSize;
> -    CONST EFI_GUID   *OwnerGuid;
> -
> -    CertSize  = VA_ARG (Marker, UINTN);
> -    OwnerGuid = VA_ARG (Marker, CONST EFI_GUID *);
> -
> -    RepeatingHeader = (REPEATING_HEADER *)Position;
> -    CopyGuid (&RepeatingHeader->SignatureType, CertType);
> -    RepeatingHeader->SignatureListSize   =
> -      (UINT32)(sizeof *RepeatingHeader + CertSize);
> -    RepeatingHeader->SignatureHeaderSize = 0;
> -    RepeatingHeader->SignatureSize       =
> -      (UINT32)(sizeof RepeatingHeader->SignatureOwner + CertSize);
> -    CopyGuid (&RepeatingHeader->SignatureOwner, OwnerGuid);
> -    Position += sizeof *RepeatingHeader;
> -
> -    CopyMem (Position, Cert, CertSize);
> -    Position += CertSize;
> -  }
> -  VA_END (Marker);
> -
> -  ASSERT (Data + DataSize == Position);
> -
> -  Status = gRT->SetVariable (VariableName, VendorGuid,
> -                  (EFI_VARIABLE_NON_VOLATILE |
> -                   EFI_VARIABLE_BOOTSERVICE_ACCESS |
> -                   EFI_VARIABLE_RUNTIME_ACCESS |
> -                   EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS),
> -                  DataSize, Data);
> -
> -FreeData:
> -  FreePool (Data);
> -
> -Out:
> -  if (EFI_ERROR (Status)) {
> -    AsciiPrint ("error: %a(\"%s\", %g): %r\n", __FUNCTION__, VariableName,
> -      VendorGuid, Status);
> -  }
> -  return Status;
> -}
> -
> -
> -STATIC
> -EFI_STATUS
> -GetExact (
> -  IN CHAR16   *VariableName,
> -  IN EFI_GUID *VendorGuid,
> -  OUT VOID    *Data,
> -  IN UINTN    DataSize,
> -  IN BOOLEAN  AllowMissing
> -  )
> -{
> -  UINTN      Size;
> -  EFI_STATUS Status;
> -
> -  Size = DataSize;
> -  Status = gRT->GetVariable (VariableName, VendorGuid, NULL, &Size, Data);
> -  if (EFI_ERROR (Status)) {
> -    if (Status == EFI_NOT_FOUND && AllowMissing) {
> -      ZeroMem (Data, DataSize);
> -      return EFI_SUCCESS;
> -    }
> -
> -    AsciiPrint ("error: GetVariable(\"%s\", %g): %r\n", VariableName,
> -      VendorGuid, Status);
> -    return Status;
> -  }
> -
> -  if (Size != DataSize) {
> -    AsciiPrint ("error: GetVariable(\"%s\", %g): expected size 0x%Lx, "
> -      "got 0x%Lx\n", VariableName, VendorGuid, (UINT64)DataSize, 
> (UINT64)Size);
> -    return EFI_PROTOCOL_ERROR;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -STATIC
> -EFI_STATUS
> -GetSettings (
> -  OUT SETTINGS *Settings
> -  )
> -{
> -  EFI_STATUS Status;
> -
> -  Status = GetExact (EFI_SETUP_MODE_NAME, &gEfiGlobalVariableGuid,
> -             &Settings->SetupMode, sizeof Settings->SetupMode, FALSE);
> -  if (EFI_ERROR (Status)) {
> -    return Status;
> -  }
> -
> -  Status = GetExact (EFI_SECURE_BOOT_MODE_NAME, &gEfiGlobalVariableGuid,
> -             &Settings->SecureBoot, sizeof Settings->SecureBoot, FALSE);
> -  if (EFI_ERROR (Status)) {
> -    return Status;
> -  }
> -
> -  Status = GetExact (EFI_SECURE_BOOT_ENABLE_NAME,
> -             &gEfiSecureBootEnableDisableGuid, &Settings->SecureBootEnable,
> -             sizeof Settings->SecureBootEnable, TRUE);
> -  if (EFI_ERROR (Status)) {
> -    return Status;
> -  }
> -
> -  Status = GetExact (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid,
> -             &Settings->CustomMode, sizeof Settings->CustomMode, FALSE);
> -  if (EFI_ERROR (Status)) {
> -    return Status;
> -  }
> -
> -  Status = GetExact (EFI_VENDOR_KEYS_VARIABLE_NAME, &gEfiGlobalVariableGuid,
> -             &Settings->VendorKeys, sizeof Settings->VendorKeys, FALSE);
> -  return Status;
> -}
> -
> -STATIC
> -VOID
> -PrintSettings (
> -  IN CONST SETTINGS *Settings
> -  )
> -{
> -  AsciiPrint ("info: SetupMode=%d SecureBoot=%d SecureBootEnable=%d "
> -    "CustomMode=%d VendorKeys=%d\n", Settings->SetupMode, 
> Settings->SecureBoot,
> -    Settings->SecureBootEnable, Settings->CustomMode, Settings->VendorKeys);
> -}
> -
> -
> -INTN
> -EFIAPI
> -ShellAppMain (
> -  IN UINTN  Argc,
> -  IN CHAR16 **Argv
> -  )
> -{
> -  EFI_STATUS Status;
> -  SETTINGS   Settings;
> -
> -  Status = GetSettings (&Settings);
> -  if (EFI_ERROR (Status)) {
> -    return 1;
> -  }
> -  PrintSettings (&Settings);
> -
> -  if (Settings.SetupMode != 1) {
> -    AsciiPrint ("error: already in User Mode\n");
> -    return 1;
> -  }
> -
> -  if (Settings.CustomMode != CUSTOM_SECURE_BOOT_MODE) {
> -    Settings.CustomMode = CUSTOM_SECURE_BOOT_MODE;
> -    Status = gRT->SetVariable (EFI_CUSTOM_MODE_NAME, 
> &gEfiCustomModeEnableGuid,
> -                    (EFI_VARIABLE_NON_VOLATILE |
> -                     EFI_VARIABLE_BOOTSERVICE_ACCESS),
> -                    sizeof Settings.CustomMode, &Settings.CustomMode);
> -    if (EFI_ERROR (Status)) {
> -      AsciiPrint ("error: SetVariable(\"%s\", %g): %r\n", 
> EFI_CUSTOM_MODE_NAME,
> -        &gEfiCustomModeEnableGuid, Status);
> -      return 1;
> -    }
> -  }
> -
> -  Status = EnrollListOfCerts (
> -             EFI_IMAGE_SECURITY_DATABASE,
> -             &gEfiImageSecurityDatabaseGuid,
> -             &gEfiCertX509Guid,
> -             mMicrosoftPca,    sizeof mMicrosoftPca,    &mMicrosoftOwnerGuid,
> -             mMicrosoftUefiCa, sizeof mMicrosoftUefiCa, &mMicrosoftOwnerGuid,
> -             NULL);
> -  if (EFI_ERROR (Status)) {
> -    return 1;
> -  }
> -
> -  Status = EnrollListOfCerts (
> -             EFI_IMAGE_SECURITY_DATABASE1,
> -             &gEfiImageSecurityDatabaseGuid,
> -             &gEfiCertSha256Guid,
> -             mSha256OfDevNull, sizeof mSha256OfDevNull, &gEfiCallerIdGuid,
> -             NULL);
> -  if (EFI_ERROR (Status)) {
> -    return 1;
> -  }
> -
> -  Status = EnrollListOfCerts (
> -             EFI_KEY_EXCHANGE_KEY_NAME,
> -             &gEfiGlobalVariableGuid,
> -             &gEfiCertX509Guid,
> -             mRedHatPkKek1, sizeof mRedHatPkKek1, &gEfiCallerIdGuid,
> -             mMicrosoftKek, sizeof mMicrosoftKek, &mMicrosoftOwnerGuid,
> -             NULL);
> -  if (EFI_ERROR (Status)) {
> -    return 1;
> -  }
> -
> -  Status = EnrollListOfCerts (
> -             EFI_PLATFORM_KEY_NAME,
> -             &gEfiGlobalVariableGuid,
> -             &gEfiCertX509Guid,
> -             mRedHatPkKek1, sizeof mRedHatPkKek1, &gEfiGlobalVariableGuid,
> -             NULL);
> -  if (EFI_ERROR (Status)) {
> -    return 1;
> -  }
> -
> -  Settings.CustomMode = STANDARD_SECURE_BOOT_MODE;
> -  Status = gRT->SetVariable (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid,
> -                  EFI_VARIABLE_NON_VOLATILE | 
> EFI_VARIABLE_BOOTSERVICE_ACCESS,
> -                  sizeof Settings.CustomMode, &Settings.CustomMode);
> -  if (EFI_ERROR (Status)) {
> -    AsciiPrint ("error: SetVariable(\"%s\", %g): %r\n", EFI_CUSTOM_MODE_NAME,
> -      &gEfiCustomModeEnableGuid, Status);
> -    return 1;
> -  }
> -
> -  Status = GetSettings (&Settings);
> -  if (EFI_ERROR (Status)) {
> -    return 1;
> -  }
> -  PrintSettings (&Settings);
> -
> -  if (Settings.SetupMode != 0 || Settings.SecureBoot != 1 ||
> -      Settings.SecureBootEnable != 1 || Settings.CustomMode != 0 ||
> -      Settings.VendorKeys != 0) {
> -    AsciiPrint ("error: unexpected\n");
> -    return 1;
> -  }
> -
> -  AsciiPrint ("info: success\n");
> -  return 0;
> -}
> diff --git a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c 
> b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
> index fefea6638887..528718b15ae9 100644
> --- a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
> +++ b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
> @@ -12,544 +12,16 @@
>  #include <Library/DebugLib.h>                    // ASSERT()
>  #include <Library/MemoryAllocationLib.h>         // FreePool()
>  #include <Library/ShellCEntryLib.h>              // ShellAppMain()
>  #include <Library/UefiLib.h>                     // AsciiPrint()
>  #include <Library/UefiRuntimeServicesTableLib.h> // gRT
>  
>  #include "EnrollDefaultKeys.h"
>  
> -//
> -// We'll use the certificate below as both Platform Key and as first Key
> -// Exchange Key.
> -//
> -// "Red Hat Secure Boot (PK/KEK key 1)/emailAddress=secal...@redhat.com"
> -// SHA1: fd:fc:7f:3c:7e:f3:e0:57:76:ad:d7:98:78:21:6c:9b:e0:e1:95:97
> -//
> -STATIC CONST UINT8 mRedHatPkKek1[] = {
> -  0x30, 0x82, 0x03, 0xa0, 0x30, 0x82, 0x02, 0x88, 0xa0, 0x03, 0x02, 0x01, 
> 0x02,
> -  0x02, 0x09, 0x00, 0xfe, 0xf5, 0x88, 0xe8, 0xf3, 0x96, 0xc0, 0xf1, 0x30, 
> 0x0d,
> -  0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 
> 0x00,
> -  0x30, 0x51, 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 
> 0x22,
> -  0x52, 0x65, 0x64, 0x20, 0x48, 0x61, 0x74, 0x20, 0x53, 0x65, 0x63, 0x75, 
> 0x72,
> -  0x65, 0x20, 0x42, 0x6f, 0x6f, 0x74, 0x20, 0x28, 0x50, 0x4b, 0x2f, 0x4b, 
> 0x45,
> -  0x4b, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x31, 0x29, 0x31, 0x22, 0x30, 0x20, 
> 0x06,
> -  0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x16, 0x13, 
> 0x73,
> -  0x65, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x40, 0x72, 0x65, 0x64, 0x68, 
> 0x61,
> -  0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, 0x31, 
> 0x30,
> -  0x33, 0x31, 0x31, 0x31, 0x31, 0x35, 0x33, 0x37, 0x5a, 0x17, 0x0d, 0x33, 
> 0x37,
> -  0x31, 0x30, 0x32, 0x35, 0x31, 0x31, 0x31, 0x35, 0x33, 0x37, 0x5a, 0x30, 
> 0x51,
> -  0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x22, 0x52, 
> 0x65,
> -  0x64, 0x20, 0x48, 0x61, 0x74, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 
> 0x20,
> -  0x42, 0x6f, 0x6f, 0x74, 0x20, 0x28, 0x50, 0x4b, 0x2f, 0x4b, 0x45, 0x4b, 
> 0x20,
> -  0x6b, 0x65, 0x79, 0x20, 0x31, 0x29, 0x31, 0x22, 0x30, 0x20, 0x06, 0x09, 
> 0x2a,
> -  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x16, 0x13, 0x73, 0x65, 
> 0x63,
> -  0x61, 0x6c, 0x65, 0x72, 0x74, 0x40, 0x72, 0x65, 0x64, 0x68, 0x61, 0x74, 
> 0x2e,
> -  0x63, 0x6f, 0x6d, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 
> 0x86,
> -  0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 
> 0x0f,
> -  0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0x90, 0x1f, 
> 0x84,
> -  0x7b, 0x8d, 0xbc, 0xeb, 0x97, 0x26, 0x82, 0x6d, 0x88, 0xab, 0x8a, 0xc9, 
> 0x8c,
> -  0x68, 0x70, 0xf9, 0xdf, 0x4b, 0x07, 0xb2, 0x37, 0x83, 0x0b, 0x02, 0xc8, 
> 0x67,
> -  0x68, 0x30, 0x9e, 0xe3, 0xf0, 0xf0, 0x99, 0x4a, 0xb8, 0x59, 0x57, 0xc6, 
> 0x41,
> -  0xf6, 0x38, 0x8b, 0xfe, 0x66, 0x4c, 0x49, 0xe9, 0x37, 0x37, 0x92, 0x2e, 
> 0x98,
> -  0x01, 0x1e, 0x5b, 0x14, 0x50, 0xe6, 0xa8, 0x8d, 0x25, 0x0d, 0xf5, 0x86, 
> 0xe6,
> -  0xab, 0x30, 0xcb, 0x40, 0x16, 0xea, 0x8d, 0x8b, 0x16, 0x86, 0x70, 0x43, 
> 0x37,
> -  0xf2, 0xce, 0xc0, 0x91, 0xdf, 0x71, 0x14, 0x8e, 0x99, 0x0e, 0x89, 0xb6, 
> 0x4c,
> -  0x6d, 0x24, 0x1e, 0x8c, 0xe4, 0x2f, 0x4f, 0x25, 0xd0, 0xba, 0x06, 0xf8, 
> 0xc6,
> -  0xe8, 0x19, 0x18, 0x76, 0x73, 0x1d, 0x81, 0x6d, 0xa8, 0xd8, 0x05, 0xcf, 
> 0x3a,
> -  0xc8, 0x7b, 0x28, 0xc8, 0x36, 0xa3, 0x16, 0x0d, 0x29, 0x8c, 0x99, 0x9a, 
> 0x68,
> -  0xdc, 0xab, 0xc0, 0x4d, 0x8d, 0xbf, 0x5a, 0xbb, 0x2b, 0xa9, 0x39, 0x4b, 
> 0x04,
> -  0x97, 0x1c, 0xf9, 0x36, 0xbb, 0xc5, 0x3a, 0x86, 0x04, 0xae, 0xaf, 0xd4, 
> 0x82,
> -  0x7b, 0xe0, 0xab, 0xde, 0x49, 0x05, 0x68, 0xfc, 0xf6, 0xae, 0x68, 0x1a, 
> 0x6c,
> -  0x90, 0x4d, 0x57, 0x19, 0x3c, 0x64, 0x66, 0x03, 0xf6, 0xc7, 0x52, 0x9b, 
> 0xf7,
> -  0x94, 0xcf, 0x93, 0x6a, 0xa1, 0x68, 0xc9, 0xaa, 0xcf, 0x99, 0x6b, 0xbc, 
> 0xaa,
> -  0x5e, 0x08, 0xe7, 0x39, 0x1c, 0xf7, 0xf8, 0x0f, 0xba, 0x06, 0x7e, 0xf1, 
> 0xcb,
> -  0xe8, 0x76, 0xdd, 0xfe, 0x22, 0xda, 0xad, 0x3a, 0x5e, 0x5b, 0x34, 0xea, 
> 0xb3,
> -  0xc9, 0xe0, 0x4d, 0x04, 0x29, 0x7e, 0xb8, 0x60, 0xb9, 0x05, 0xef, 0xb5, 
> 0xd9,
> -  0x17, 0x58, 0x56, 0x16, 0x60, 0xb9, 0x30, 0x32, 0xf0, 0x36, 0x4a, 0xc3, 
> 0xf2,
> -  0x79, 0x8d, 0x12, 0x40, 0x70, 0xf3, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 
> 0x7b,
> -  0x30, 0x79, 0x30, 0x09, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x04, 0x02, 0x30, 
> 0x00,
> -  0x30, 0x2c, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42, 0x01, 
> 0x0d,
> -  0x04, 0x1f, 0x16, 0x1d, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x53, 0x4c, 0x20, 
> 0x47,
> -  0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x43, 0x65, 0x72, 
> 0x74,
> -  0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x30, 0x1d, 0x06, 0x03, 0x55, 
> 0x1d,
> -  0x0e, 0x04, 0x16, 0x04, 0x14, 0x3c, 0xe9, 0x60, 0xe3, 0xff, 0x19, 0xa1, 
> 0x0a,
> -  0x7b, 0xa3, 0x42, 0xf4, 0x8d, 0x42, 0x2e, 0xb4, 0xd5, 0x9c, 0x72, 0xec, 
> 0x30,
> -  0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 
> 0x3c,
> -  0xe9, 0x60, 0xe3, 0xff, 0x19, 0xa1, 0x0a, 0x7b, 0xa3, 0x42, 0xf4, 0x8d, 
> 0x42,
> -  0x2e, 0xb4, 0xd5, 0x9c, 0x72, 0xec, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 
> 0x48,
> -  0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 
> 0x00,
> -  0x5c, 0x4d, 0x92, 0x88, 0xb4, 0x82, 0x5f, 0x1d, 0xad, 0x8b, 0x11, 0xec, 
> 0xdf,
> -  0x06, 0xa6, 0x7a, 0xa5, 0x2b, 0x9f, 0x37, 0x55, 0x0c, 0x8d, 0x6e, 0x05, 
> 0x00,
> -  0xad, 0xb7, 0x0c, 0x41, 0x89, 0x69, 0xcf, 0xd6, 0x65, 0x06, 0x9b, 0x51, 
> 0x78,
> -  0xd2, 0xad, 0xc7, 0xbf, 0x9c, 0xdc, 0x05, 0x73, 0x7f, 0xe7, 0x1e, 0x39, 
> 0x13,
> -  0xb4, 0xea, 0xb6, 0x30, 0x7d, 0x40, 0x75, 0xab, 0x9c, 0x43, 0x0b, 0xdf, 
> 0xb0,
> -  0xc2, 0x1b, 0xbf, 0x30, 0xe0, 0xf4, 0xfe, 0xc0, 0xdb, 0x62, 0x21, 0x98, 
> 0xf6,
> -  0xc5, 0xaf, 0xde, 0x3b, 0x4f, 0x49, 0x0a, 0xe6, 0x1e, 0xf9, 0x86, 0xb0, 
> 0x3f,
> -  0x0d, 0xd6, 0xd4, 0x46, 0x37, 0xdb, 0x54, 0x74, 0x5e, 0xff, 0x11, 0xc2, 
> 0x60,
> -  0xc6, 0x70, 0x58, 0xc5, 0x1c, 0x6f, 0xec, 0xb2, 0xd8, 0x6e, 0x6f, 0xc3, 
> 0xbc,
> -  0x33, 0x87, 0x38, 0xa4, 0xf3, 0x44, 0x64, 0x9c, 0x34, 0x3b, 0x28, 0x94, 
> 0x26,
> -  0x78, 0x27, 0x9f, 0x16, 0x17, 0xe8, 0x3b, 0x69, 0x0a, 0x25, 0xa9, 0x73, 
> 0x36,
> -  0x7e, 0x9e, 0x37, 0x5c, 0xec, 0xe8, 0x3f, 0xdb, 0x91, 0xf9, 0x12, 0xb3, 
> 0x3d,
> -  0xce, 0xe7, 0xdd, 0x15, 0xc3, 0xae, 0x8c, 0x05, 0x20, 0x61, 0x9b, 0x95, 
> 0xde,
> -  0x9b, 0xaf, 0xfa, 0xb1, 0x5c, 0x1c, 0xe5, 0x97, 0xe7, 0xc3, 0x34, 0x11, 
> 0x85,
> -  0xf5, 0x8a, 0x27, 0x26, 0xa4, 0x70, 0x36, 0xec, 0x0c, 0xf6, 0x83, 0x3d, 
> 0x90,
> -  0xf7, 0x36, 0xf3, 0xf9, 0xf3, 0x15, 0xd4, 0x90, 0x62, 0xbe, 0x53, 0xb4, 
> 0xaf,
> -  0xd3, 0x49, 0xaf, 0xef, 0xf4, 0x73, 0xe8, 0x7b, 0x76, 0xe4, 0x44, 0x2a, 
> 0x37,
> -  0xba, 0x81, 0xa4, 0x99, 0x0c, 0x3a, 0x31, 0x24, 0x71, 0xa0, 0xe4, 0xe4, 
> 0xb7,
> -  0x1a, 0xcb, 0x47, 0xe4, 0xaa, 0x22, 0xcf, 0xef, 0x75, 0x61, 0x80, 0xe3, 
> 0x43,
> -  0xb7, 0x48, 0x57, 0x73, 0x11, 0x3d, 0x78, 0x9b, 0x69
> -};
> -
> -//
> -// Second KEK: "Microsoft Corporation KEK CA 2011".
> -// SHA1: 31:59:0b:fd:89:c9:d7:4e:d0:87:df:ac:66:33:4b:39:31:25:4b:30
> -//
> -// "dbx" updates in "dbxtool" are signed with a key derived from this KEK.
> -//
> -STATIC CONST UINT8 mMicrosoftKek[] = {
> -  0x30, 0x82, 0x05, 0xe8, 0x30, 0x82, 0x03, 0xd0, 0xa0, 0x03, 0x02, 0x01, 
> 0x02,
> -  0x02, 0x0a, 0x61, 0x0a, 0xd1, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
> 0x30,
> -  0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 
> 0x05,
> -  0x00, 0x30, 0x81, 0x91, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 
> 0x06,
> -  0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 
> 0x08,
> -  0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 
> 0x31,
> -  0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 
> 0x64,
> -  0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 
> 0x0a,
> -  0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 
> 0x43,
> -  0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x3b, 
> 0x30,
> -  0x39, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x32, 0x4d, 0x69, 0x63, 0x72, 
> 0x6f,
> -  0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 
> 0x74,
> -  0x69, 0x6f, 0x6e, 0x20, 0x54, 0x68, 0x69, 0x72, 0x64, 0x20, 0x50, 0x61, 
> 0x72,
> -  0x74, 0x79, 0x20, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 
> 0x63,
> -  0x65, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x31, 
> 0x30,
> -  0x36, 0x32, 0x34, 0x32, 0x30, 0x34, 0x31, 0x32, 0x39, 0x5a, 0x17, 0x0d, 
> 0x32,
> -  0x36, 0x30, 0x36, 0x32, 0x34, 0x32, 0x30, 0x35, 0x31, 0x32, 0x39, 0x5a, 
> 0x30,
> -  0x81, 0x80, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 
> 0x02,
> -  0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 
> 0x0a,
> -  0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x31, 0x10, 
> 0x30,
> -  0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 0x64, 0x6d, 
> 0x6f,
> -  0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 
> 0x15,
> -  0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, 0x6f, 
> 0x72,
> -  0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x2a, 0x30, 0x28, 
> 0x06,
> -  0x03, 0x55, 0x04, 0x03, 0x13, 0x21, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 
> 0x6f,
> -  0x66, 0x74, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 
> 0x6f,
> -  0x6e, 0x20, 0x4b, 0x45, 0x4b, 0x20, 0x43, 0x41, 0x20, 0x32, 0x30, 0x31, 
> 0x31,
> -  0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 
> 0xf7,
> -  0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 
> 0x82,
> -  0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xc4, 0xe8, 0xb5, 0x8a, 0xbf, 
> 0xad,
> -  0x57, 0x26, 0xb0, 0x26, 0xc3, 0xea, 0xe7, 0xfb, 0x57, 0x7a, 0x44, 0x02, 
> 0x5d,
> -  0x07, 0x0d, 0xda, 0x4a, 0xe5, 0x74, 0x2a, 0xe6, 0xb0, 0x0f, 0xec, 0x6d, 
> 0xeb,
> -  0xec, 0x7f, 0xb9, 0xe3, 0x5a, 0x63, 0x32, 0x7c, 0x11, 0x17, 0x4f, 0x0e, 
> 0xe3,
> -  0x0b, 0xa7, 0x38, 0x15, 0x93, 0x8e, 0xc6, 0xf5, 0xe0, 0x84, 0xb1, 0x9a, 
> 0x9b,
> -  0x2c, 0xe7, 0xf5, 0xb7, 0x91, 0xd6, 0x09, 0xe1, 0xe2, 0xc0, 0x04, 0xa8, 
> 0xac,
> -  0x30, 0x1c, 0xdf, 0x48, 0xf3, 0x06, 0x50, 0x9a, 0x64, 0xa7, 0x51, 0x7f, 
> 0xc8,
> -  0x85, 0x4f, 0x8f, 0x20, 0x86, 0xce, 0xfe, 0x2f, 0xe1, 0x9f, 0xff, 0x82, 
> 0xc0,
> -  0xed, 0xe9, 0xcd, 0xce, 0xf4, 0x53, 0x6a, 0x62, 0x3a, 0x0b, 0x43, 0xb9, 
> 0xe2,
> -  0x25, 0xfd, 0xfe, 0x05, 0xf9, 0xd4, 0xc4, 0x14, 0xab, 0x11, 0xe2, 0x23, 
> 0x89,
> -  0x8d, 0x70, 0xb7, 0xa4, 0x1d, 0x4d, 0xec, 0xae, 0xe5, 0x9c, 0xfa, 0x16, 
> 0xc2,
> -  0xd7, 0xc1, 0xcb, 0xd4, 0xe8, 0xc4, 0x2f, 0xe5, 0x99, 0xee, 0x24, 0x8b, 
> 0x03,
> -  0xec, 0x8d, 0xf2, 0x8b, 0xea, 0xc3, 0x4a, 0xfb, 0x43, 0x11, 0x12, 0x0b, 
> 0x7e,
> -  0xb5, 0x47, 0x92, 0x6c, 0xdc, 0xe6, 0x04, 0x89, 0xeb, 0xf5, 0x33, 0x04, 
> 0xeb,
> -  0x10, 0x01, 0x2a, 0x71, 0xe5, 0xf9, 0x83, 0x13, 0x3c, 0xff, 0x25, 0x09, 
> 0x2f,
> -  0x68, 0x76, 0x46, 0xff, 0xba, 0x4f, 0xbe, 0xdc, 0xad, 0x71, 0x2a, 0x58, 
> 0xaa,
> -  0xfb, 0x0e, 0xd2, 0x79, 0x3d, 0xe4, 0x9b, 0x65, 0x3b, 0xcc, 0x29, 0x2a, 
> 0x9f,
> -  0xfc, 0x72, 0x59, 0xa2, 0xeb, 0xae, 0x92, 0xef, 0xf6, 0x35, 0x13, 0x80, 
> 0xc6,
> -  0x02, 0xec, 0xe4, 0x5f, 0xcc, 0x9d, 0x76, 0xcd, 0xef, 0x63, 0x92, 0xc1, 
> 0xaf,
> -  0x79, 0x40, 0x84, 0x79, 0x87, 0x7f, 0xe3, 0x52, 0xa8, 0xe8, 0x9d, 0x7b, 
> 0x07,
> -  0x69, 0x8f, 0x15, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x4f, 
> 0x30,
> -  0x82, 0x01, 0x4b, 0x30, 0x10, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 
> 0x82,
> -  0x37, 0x15, 0x01, 0x04, 0x03, 0x02, 0x01, 0x00, 0x30, 0x1d, 0x06, 0x03, 
> 0x55,
> -  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x62, 0xfc, 0x43, 0xcd, 0xa0, 0x3e, 
> 0xa4,
> -  0xcb, 0x67, 0x12, 0xd2, 0x5b, 0xd9, 0x55, 0xac, 0x7b, 0xcc, 0xb6, 0x8a, 
> 0x5f,
> -  0x30, 0x19, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14, 
> 0x02,
> -  0x04, 0x0c, 0x1e, 0x0a, 0x00, 0x53, 0x00, 0x75, 0x00, 0x62, 0x00, 0x43, 
> 0x00,
> -  0x41, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 
> 0x01,
> -  0x86, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 
> 0x05,
> -  0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 
> 0x04,
> -  0x18, 0x30, 0x16, 0x80, 0x14, 0x45, 0x66, 0x52, 0x43, 0xe1, 0x7e, 0x58, 
> 0x11,
> -  0xbf, 0xd6, 0x4e, 0x9e, 0x23, 0x55, 0x08, 0x3b, 0x3a, 0x22, 0x6a, 0xa8, 
> 0x30,
> -  0x5c, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x55, 0x30, 0x53, 0x30, 0x51, 
> 0xa0,
> -  0x4f, 0xa0, 0x4d, 0x86, 0x4b, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 
> 0x63,
> -  0x72, 0x6c, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 
> 0x2e,
> -  0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x63, 0x72, 0x6c, 0x2f, 
> 0x70,
> -  0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x4d, 0x69, 0x63, 0x43, 
> 0x6f,
> -  0x72, 0x54, 0x68, 0x69, 0x50, 0x61, 0x72, 0x4d, 0x61, 0x72, 0x52, 0x6f, 
> 0x6f,
> -  0x5f, 0x32, 0x30, 0x31, 0x30, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x2e, 
> 0x63,
> -  0x72, 0x6c, 0x30, 0x60, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 
> 0x01,
> -  0x01, 0x04, 0x54, 0x30, 0x52, 0x30, 0x50, 0x06, 0x08, 0x2b, 0x06, 0x01, 
> 0x05,
> -  0x05, 0x07, 0x30, 0x02, 0x86, 0x44, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 
> 0x2f,
> -  0x77, 0x77, 0x77, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 
> 0x74,
> -  0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x63, 0x65, 0x72, 
> 0x74,
> -  0x73, 0x2f, 0x4d, 0x69, 0x63, 0x43, 0x6f, 0x72, 0x54, 0x68, 0x69, 0x50, 
> 0x61,
> -  0x72, 0x4d, 0x61, 0x72, 0x52, 0x6f, 0x6f, 0x5f, 0x32, 0x30, 0x31, 0x30, 
> 0x2d,
> -  0x31, 0x30, 0x2d, 0x30, 0x35, 0x2e, 0x63, 0x72, 0x74, 0x30, 0x0d, 0x06, 
> 0x09,
> -  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 
> 0x82,
> -  0x02, 0x01, 0x00, 0xd4, 0x84, 0x88, 0xf5, 0x14, 0x94, 0x18, 0x02, 0xca, 
> 0x2a,
> -  0x3c, 0xfb, 0x2a, 0x92, 0x1c, 0x0c, 0xd7, 0xa0, 0xd1, 0xf1, 0xe8, 0x52, 
> 0x66,
> -  0xa8, 0xee, 0xa2, 0xb5, 0x75, 0x7a, 0x90, 0x00, 0xaa, 0x2d, 0xa4, 0x76, 
> 0x5a,
> -  0xea, 0x79, 0xb7, 0xb9, 0x37, 0x6a, 0x51, 0x7b, 0x10, 0x64, 0xf6, 0xe1, 
> 0x64,
> -  0xf2, 0x02, 0x67, 0xbe, 0xf7, 0xa8, 0x1b, 0x78, 0xbd, 0xba, 0xce, 0x88, 
> 0x58,
> -  0x64, 0x0c, 0xd6, 0x57, 0xc8, 0x19, 0xa3, 0x5f, 0x05, 0xd6, 0xdb, 0xc6, 
> 0xd0,
> -  0x69, 0xce, 0x48, 0x4b, 0x32, 0xb7, 0xeb, 0x5d, 0xd2, 0x30, 0xf5, 0xc0, 
> 0xf5,
> -  0xb8, 0xba, 0x78, 0x07, 0xa3, 0x2b, 0xfe, 0x9b, 0xdb, 0x34, 0x56, 0x84, 
> 0xec,
> -  0x82, 0xca, 0xae, 0x41, 0x25, 0x70, 0x9c, 0x6b, 0xe9, 0xfe, 0x90, 0x0f, 
> 0xd7,
> -  0x96, 0x1f, 0xe5, 0xe7, 0x94, 0x1f, 0xb2, 0x2a, 0x0c, 0x8d, 0x4b, 0xff, 
> 0x28,
> -  0x29, 0x10, 0x7b, 0xf7, 0xd7, 0x7c, 0xa5, 0xd1, 0x76, 0xb9, 0x05, 0xc8, 
> 0x79,
> -  0xed, 0x0f, 0x90, 0x92, 0x9c, 0xc2, 0xfe, 0xdf, 0x6f, 0x7e, 0x6c, 0x0f, 
> 0x7b,
> -  0xd4, 0xc1, 0x45, 0xdd, 0x34, 0x51, 0x96, 0x39, 0x0f, 0xe5, 0x5e, 0x56, 
> 0xd8,
> -  0x18, 0x05, 0x96, 0xf4, 0x07, 0xa6, 0x42, 0xb3, 0xa0, 0x77, 0xfd, 0x08, 
> 0x19,
> -  0xf2, 0x71, 0x56, 0xcc, 0x9f, 0x86, 0x23, 0xa4, 0x87, 0xcb, 0xa6, 0xfd, 
> 0x58,
> -  0x7e, 0xd4, 0x69, 0x67, 0x15, 0x91, 0x7e, 0x81, 0xf2, 0x7f, 0x13, 0xe5, 
> 0x0d,
> -  0x8b, 0x8a, 0x3c, 0x87, 0x84, 0xeb, 0xe3, 0xce, 0xbd, 0x43, 0xe5, 0xad, 
> 0x2d,
> -  0x84, 0x93, 0x8e, 0x6a, 0x2b, 0x5a, 0x7c, 0x44, 0xfa, 0x52, 0xaa, 0x81, 
> 0xc8,
> -  0x2d, 0x1c, 0xbb, 0xe0, 0x52, 0xdf, 0x00, 0x11, 0xf8, 0x9a, 0x3d, 0xc1, 
> 0x60,
> -  0xb0, 0xe1, 0x33, 0xb5, 0xa3, 0x88, 0xd1, 0x65, 0x19, 0x0a, 0x1a, 0xe7, 
> 0xac,
> -  0x7c, 0xa4, 0xc1, 0x82, 0x87, 0x4e, 0x38, 0xb1, 0x2f, 0x0d, 0xc5, 0x14, 
> 0x87,
> -  0x6f, 0xfd, 0x8d, 0x2e, 0xbc, 0x39, 0xb6, 0xe7, 0xe6, 0xc3, 0xe0, 0xe4, 
> 0xcd,
> -  0x27, 0x84, 0xef, 0x94, 0x42, 0xef, 0x29, 0x8b, 0x90, 0x46, 0x41, 0x3b, 
> 0x81,
> -  0x1b, 0x67, 0xd8, 0xf9, 0x43, 0x59, 0x65, 0xcb, 0x0d, 0xbc, 0xfd, 0x00, 
> 0x92,
> -  0x4f, 0xf4, 0x75, 0x3b, 0xa7, 0xa9, 0x24, 0xfc, 0x50, 0x41, 0x40, 0x79, 
> 0xe0,
> -  0x2d, 0x4f, 0x0a, 0x6a, 0x27, 0x76, 0x6e, 0x52, 0xed, 0x96, 0x69, 0x7b, 
> 0xaf,
> -  0x0f, 0xf7, 0x87, 0x05, 0xd0, 0x45, 0xc2, 0xad, 0x53, 0x14, 0x81, 0x1f, 
> 0xfb,
> -  0x30, 0x04, 0xaa, 0x37, 0x36, 0x61, 0xda, 0x4a, 0x69, 0x1b, 0x34, 0xd8, 
> 0x68,
> -  0xed, 0xd6, 0x02, 0xcf, 0x6c, 0x94, 0x0c, 0xd3, 0xcf, 0x6c, 0x22, 0x79, 
> 0xad,
> -  0xb1, 0xf0, 0xbc, 0x03, 0xa2, 0x46, 0x60, 0xa9, 0xc4, 0x07, 0xc2, 0x21, 
> 0x82,
> -  0xf1, 0xfd, 0xf2, 0xe8, 0x79, 0x32, 0x60, 0xbf, 0xd8, 0xac, 0xa5, 0x22, 
> 0x14,
> -  0x4b, 0xca, 0xc1, 0xd8, 0x4b, 0xeb, 0x7d, 0x3f, 0x57, 0x35, 0xb2, 0xe6, 
> 0x4f,
> -  0x75, 0xb4, 0xb0, 0x60, 0x03, 0x22, 0x53, 0xae, 0x91, 0x79, 0x1d, 0xd6, 
> 0x9b,
> -  0x41, 0x1f, 0x15, 0x86, 0x54, 0x70, 0xb2, 0xde, 0x0d, 0x35, 0x0f, 0x7c, 
> 0xb0,
> -  0x34, 0x72, 0xba, 0x97, 0x60, 0x3b, 0xf0, 0x79, 0xeb, 0xa2, 0xb2, 0x1c, 
> 0x5d,
> -  0xa2, 0x16, 0xb8, 0x87, 0xc5, 0xe9, 0x1b, 0xf6, 0xb5, 0x97, 0x25, 0x6f, 
> 0x38,
> -  0x9f, 0xe3, 0x91, 0xfa, 0x8a, 0x79, 0x98, 0xc3, 0x69, 0x0e, 0xb7, 0xa3, 
> 0x1c,
> -  0x20, 0x05, 0x97, 0xf8, 0xca, 0x14, 0xae, 0x00, 0xd7, 0xc4, 0xf3, 0xc0, 
> 0x14,
> -  0x10, 0x75, 0x6b, 0x34, 0xa0, 0x1b, 0xb5, 0x99, 0x60, 0xf3, 0x5c, 0xb0, 
> 0xc5,
> -  0x57, 0x4e, 0x36, 0xd2, 0x32, 0x84, 0xbf, 0x9e
> -};
> -
> -//
> -// First DB entry: "Microsoft Windows Production PCA 2011"
> -// SHA1: 58:0a:6f:4c:c4:e4:b6:69:b9:eb:dc:1b:2b:3e:08:7b:80:d0:67:8d
> -//
> -// Windows 8 and Windows Server 2012 R2 boot loaders are signed with a chain
> -// rooted in this certificate.
> -//
> -STATIC CONST UINT8 mMicrosoftPca[] = {
> -  0x30, 0x82, 0x05, 0xd7, 0x30, 0x82, 0x03, 0xbf, 0xa0, 0x03, 0x02, 0x01, 
> 0x02,
> -  0x02, 0x0a, 0x61, 0x07, 0x76, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 
> 0x30,
> -  0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 
> 0x05,
> -  0x00, 0x30, 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 
> 0x06,
> -  0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 
> 0x08,
> -  0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 
> 0x31,
> -  0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 
> 0x64,
> -  0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 
> 0x0a,
> -  0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 
> 0x43,
> -  0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x32, 
> 0x30,
> -  0x30, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x29, 0x4d, 0x69, 0x63, 0x72, 
> 0x6f,
> -  0x73, 0x6f, 0x66, 0x74, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x65, 
> 0x72,
> -  0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 
> 0x68,
> -  0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x32, 0x30, 0x31, 0x30, 0x30, 0x1e, 
> 0x17,
> -  0x0d, 0x31, 0x31, 0x31, 0x30, 0x31, 0x39, 0x31, 0x38, 0x34, 0x31, 0x34, 
> 0x32,
> -  0x5a, 0x17, 0x0d, 0x32, 0x36, 0x31, 0x30, 0x31, 0x39, 0x31, 0x38, 0x35, 
> 0x31,
> -  0x34, 0x32, 0x5a, 0x30, 0x81, 0x84, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 
> 0x55,
> -  0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 
> 0x55,
> -  0x04, 0x08, 0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 
> 0x6f,
> -  0x6e, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 
> 0x52,
> -  0x65, 0x64, 0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 
> 0x55,
> -  0x04, 0x0a, 0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 
> 0x74,
> -  0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 
> 0x31,
> -  0x2e, 0x30, 0x2c, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x25, 0x4d, 0x69, 
> 0x63,
> -  0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x6f, 
> 0x77,
> -  0x73, 0x20, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 
> 0x20,
> -  0x50, 0x43, 0x41, 0x20, 0x32, 0x30, 0x31, 0x31, 0x30, 0x82, 0x01, 0x22, 
> 0x30,
> -  0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 
> 0x05,
> -  0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 
> 0x01,
> -  0x01, 0x00, 0xdd, 0x0c, 0xbb, 0xa2, 0xe4, 0x2e, 0x09, 0xe3, 0xe7, 0xc5, 
> 0xf7,
> -  0x96, 0x69, 0xbc, 0x00, 0x21, 0xbd, 0x69, 0x33, 0x33, 0xef, 0xad, 0x04, 
> 0xcb,
> -  0x54, 0x80, 0xee, 0x06, 0x83, 0xbb, 0xc5, 0x20, 0x84, 0xd9, 0xf7, 0xd2, 
> 0x8b,
> -  0xf3, 0x38, 0xb0, 0xab, 0xa4, 0xad, 0x2d, 0x7c, 0x62, 0x79, 0x05, 0xff, 
> 0xe3,
> -  0x4a, 0x3f, 0x04, 0x35, 0x20, 0x70, 0xe3, 0xc4, 0xe7, 0x6b, 0xe0, 0x9c, 
> 0xc0,
> -  0x36, 0x75, 0xe9, 0x8a, 0x31, 0xdd, 0x8d, 0x70, 0xe5, 0xdc, 0x37, 0xb5, 
> 0x74,
> -  0x46, 0x96, 0x28, 0x5b, 0x87, 0x60, 0x23, 0x2c, 0xbf, 0xdc, 0x47, 0xa5, 
> 0x67,
> -  0xf7, 0x51, 0x27, 0x9e, 0x72, 0xeb, 0x07, 0xa6, 0xc9, 0xb9, 0x1e, 0x3b, 
> 0x53,
> -  0x35, 0x7c, 0xe5, 0xd3, 0xec, 0x27, 0xb9, 0x87, 0x1c, 0xfe, 0xb9, 0xc9, 
> 0x23,
> -  0x09, 0x6f, 0xa8, 0x46, 0x91, 0xc1, 0x6e, 0x96, 0x3c, 0x41, 0xd3, 0xcb, 
> 0xa3,
> -  0x3f, 0x5d, 0x02, 0x6a, 0x4d, 0xec, 0x69, 0x1f, 0x25, 0x28, 0x5c, 0x36, 
> 0xff,
> -  0xfd, 0x43, 0x15, 0x0a, 0x94, 0xe0, 0x19, 0xb4, 0xcf, 0xdf, 0xc2, 0x12, 
> 0xe2,
> -  0xc2, 0x5b, 0x27, 0xee, 0x27, 0x78, 0x30, 0x8b, 0x5b, 0x2a, 0x09, 0x6b, 
> 0x22,
> -  0x89, 0x53, 0x60, 0x16, 0x2c, 0xc0, 0x68, 0x1d, 0x53, 0xba, 0xec, 0x49, 
> 0xf3,
> -  0x9d, 0x61, 0x8c, 0x85, 0x68, 0x09, 0x73, 0x44, 0x5d, 0x7d, 0xa2, 0x54, 
> 0x2b,
> -  0xdd, 0x79, 0xf7, 0x15, 0xcf, 0x35, 0x5d, 0x6c, 0x1c, 0x2b, 0x5c, 0xce, 
> 0xbc,
> -  0x9c, 0x23, 0x8b, 0x6f, 0x6e, 0xb5, 0x26, 0xd9, 0x36, 0x13, 0xc3, 0x4f, 
> 0xd6,
> -  0x27, 0xae, 0xb9, 0x32, 0x3b, 0x41, 0x92, 0x2c, 0xe1, 0xc7, 0xcd, 0x77, 
> 0xe8,
> -  0xaa, 0x54, 0x4e, 0xf7, 0x5c, 0x0b, 0x04, 0x87, 0x65, 0xb4, 0x43, 0x18, 
> 0xa8,
> -  0xb2, 0xe0, 0x6d, 0x19, 0x77, 0xec, 0x5a, 0x24, 0xfa, 0x48, 0x03, 0x02, 
> 0x03,
> -  0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x43, 0x30, 0x82, 0x01, 0x3f, 0x30, 
> 0x10,
> -  0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x15, 0x01, 0x04, 
> 0x03,
> -  0x02, 0x01, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 
> 0x04,
> -  0x14, 0xa9, 0x29, 0x02, 0x39, 0x8e, 0x16, 0xc4, 0x97, 0x78, 0xcd, 0x90, 
> 0xf9,
> -  0x9e, 0x4f, 0x9a, 0xe1, 0x7c, 0x55, 0xaf, 0x53, 0x30, 0x19, 0x06, 0x09, 
> 0x2b,
> -  0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14, 0x02, 0x04, 0x0c, 0x1e, 0x0a, 
> 0x00,
> -  0x53, 0x00, 0x75, 0x00, 0x62, 0x00, 0x43, 0x00, 0x41, 0x30, 0x0b, 0x06, 
> 0x03,
> -  0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x0f, 0x06, 
> 0x03,
> -  0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 
> 0xff,
> -  0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 
> 0x14,
> -  0xd5, 0xf6, 0x56, 0xcb, 0x8f, 0xe8, 0xa2, 0x5c, 0x62, 0x68, 0xd1, 0x3d, 
> 0x94,
> -  0x90, 0x5b, 0xd7, 0xce, 0x9a, 0x18, 0xc4, 0x30, 0x56, 0x06, 0x03, 0x55, 
> 0x1d,
> -  0x1f, 0x04, 0x4f, 0x30, 0x4d, 0x30, 0x4b, 0xa0, 0x49, 0xa0, 0x47, 0x86, 
> 0x45,
> -  0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x6d, 
> 0x69,
> -  0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 
> 0x70,
> -  0x6b, 0x69, 0x2f, 0x63, 0x72, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 
> 0x63,
> -  0x74, 0x73, 0x2f, 0x4d, 0x69, 0x63, 0x52, 0x6f, 0x6f, 0x43, 0x65, 0x72, 
> 0x41,
> -  0x75, 0x74, 0x5f, 0x32, 0x30, 0x31, 0x30, 0x2d, 0x30, 0x36, 0x2d, 0x32, 
> 0x33,
> -  0x2e, 0x63, 0x72, 0x6c, 0x30, 0x5a, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 
> 0x05,
> -  0x07, 0x01, 0x01, 0x04, 0x4e, 0x30, 0x4c, 0x30, 0x4a, 0x06, 0x08, 0x2b, 
> 0x06,
> -  0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x3e, 0x68, 0x74, 0x74, 0x70, 
> 0x3a,
> -  0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 
> 0x6f,
> -  0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x63, 
> 0x65,
> -  0x72, 0x74, 0x73, 0x2f, 0x4d, 0x69, 0x63, 0x52, 0x6f, 0x6f, 0x43, 0x65, 
> 0x72,
> -  0x41, 0x75, 0x74, 0x5f, 0x32, 0x30, 0x31, 0x30, 0x2d, 0x30, 0x36, 0x2d, 
> 0x32,
> -  0x33, 0x2e, 0x63, 0x72, 0x74, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 
> 0x86,
> -  0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 
> 0x14,
> -  0xfc, 0x7c, 0x71, 0x51, 0xa5, 0x79, 0xc2, 0x6e, 0xb2, 0xef, 0x39, 0x3e, 
> 0xbc,
> -  0x3c, 0x52, 0x0f, 0x6e, 0x2b, 0x3f, 0x10, 0x13, 0x73, 0xfe, 0xa8, 0x68, 
> 0xd0,
> -  0x48, 0xa6, 0x34, 0x4d, 0x8a, 0x96, 0x05, 0x26, 0xee, 0x31, 0x46, 0x90, 
> 0x61,
> -  0x79, 0xd6, 0xff, 0x38, 0x2e, 0x45, 0x6b, 0xf4, 0xc0, 0xe5, 0x28, 0xb8, 
> 0xda,
> -  0x1d, 0x8f, 0x8a, 0xdb, 0x09, 0xd7, 0x1a, 0xc7, 0x4c, 0x0a, 0x36, 0x66, 
> 0x6a,
> -  0x8c, 0xec, 0x1b, 0xd7, 0x04, 0x90, 0xa8, 0x18, 0x17, 0xa4, 0x9b, 0xb9, 
> 0xe2,
> -  0x40, 0x32, 0x36, 0x76, 0xc4, 0xc1, 0x5a, 0xc6, 0xbf, 0xe4, 0x04, 0xc0, 
> 0xea,
> -  0x16, 0xd3, 0xac, 0xc3, 0x68, 0xef, 0x62, 0xac, 0xdd, 0x54, 0x6c, 0x50, 
> 0x30,
> -  0x58, 0xa6, 0xeb, 0x7c, 0xfe, 0x94, 0xa7, 0x4e, 0x8e, 0xf4, 0xec, 0x7c, 
> 0x86,
> -  0x73, 0x57, 0xc2, 0x52, 0x21, 0x73, 0x34, 0x5a, 0xf3, 0xa3, 0x8a, 0x56, 
> 0xc8,
> -  0x04, 0xda, 0x07, 0x09, 0xed, 0xf8, 0x8b, 0xe3, 0xce, 0xf4, 0x7e, 0x8e, 
> 0xae,
> -  0xf0, 0xf6, 0x0b, 0x8a, 0x08, 0xfb, 0x3f, 0xc9, 0x1d, 0x72, 0x7f, 0x53, 
> 0xb8,
> -  0xeb, 0xbe, 0x63, 0xe0, 0xe3, 0x3d, 0x31, 0x65, 0xb0, 0x81, 0xe5, 0xf2, 
> 0xac,
> -  0xcd, 0x16, 0xa4, 0x9f, 0x3d, 0xa8, 0xb1, 0x9b, 0xc2, 0x42, 0xd0, 0x90, 
> 0x84,
> -  0x5f, 0x54, 0x1d, 0xff, 0x89, 0xea, 0xba, 0x1d, 0x47, 0x90, 0x6f, 0xb0, 
> 0x73,
> -  0x4e, 0x41, 0x9f, 0x40, 0x9f, 0x5f, 0xe5, 0xa1, 0x2a, 0xb2, 0x11, 0x91, 
> 0x73,
> -  0x8a, 0x21, 0x28, 0xf0, 0xce, 0xde, 0x73, 0x39, 0x5f, 0x3e, 0xab, 0x5c, 
> 0x60,
> -  0xec, 0xdf, 0x03, 0x10, 0xa8, 0xd3, 0x09, 0xe9, 0xf4, 0xf6, 0x96, 0x85, 
> 0xb6,
> -  0x7f, 0x51, 0x88, 0x66, 0x47, 0x19, 0x8d, 0xa2, 0xb0, 0x12, 0x3d, 0x81, 
> 0x2a,
> -  0x68, 0x05, 0x77, 0xbb, 0x91, 0x4c, 0x62, 0x7b, 0xb6, 0xc1, 0x07, 0xc7, 
> 0xba,
> -  0x7a, 0x87, 0x34, 0x03, 0x0e, 0x4b, 0x62, 0x7a, 0x99, 0xe9, 0xca, 0xfc, 
> 0xce,
> -  0x4a, 0x37, 0xc9, 0x2d, 0xa4, 0x57, 0x7c, 0x1c, 0xfe, 0x3d, 0xdc, 0xb8, 
> 0x0f,
> -  0x5a, 0xfa, 0xd6, 0xc4, 0xb3, 0x02, 0x85, 0x02, 0x3a, 0xea, 0xb3, 0xd9, 
> 0x6e,
> -  0xe4, 0x69, 0x21, 0x37, 0xde, 0x81, 0xd1, 0xf6, 0x75, 0x19, 0x05, 0x67, 
> 0xd3,
> -  0x93, 0x57, 0x5e, 0x29, 0x1b, 0x39, 0xc8, 0xee, 0x2d, 0xe1, 0xcd, 0xe4, 
> 0x45,
> -  0x73, 0x5b, 0xd0, 0xd2, 0xce, 0x7a, 0xab, 0x16, 0x19, 0x82, 0x46, 0x58, 
> 0xd0,
> -  0x5e, 0x9d, 0x81, 0xb3, 0x67, 0xaf, 0x6c, 0x35, 0xf2, 0xbc, 0xe5, 0x3f, 
> 0x24,
> -  0xe2, 0x35, 0xa2, 0x0a, 0x75, 0x06, 0xf6, 0x18, 0x56, 0x99, 0xd4, 0x78, 
> 0x2c,
> -  0xd1, 0x05, 0x1b, 0xeb, 0xd0, 0x88, 0x01, 0x9d, 0xaa, 0x10, 0xf1, 0x05, 
> 0xdf,
> -  0xba, 0x7e, 0x2c, 0x63, 0xb7, 0x06, 0x9b, 0x23, 0x21, 0xc4, 0xf9, 0x78, 
> 0x6c,
> -  0xe2, 0x58, 0x17, 0x06, 0x36, 0x2b, 0x91, 0x12, 0x03, 0xcc, 0xa4, 0xd9, 
> 0xf2,
> -  0x2d, 0xba, 0xf9, 0x94, 0x9d, 0x40, 0xed, 0x18, 0x45, 0xf1, 0xce, 0x8a, 
> 0x5c,
> -  0x6b, 0x3e, 0xab, 0x03, 0xd3, 0x70, 0x18, 0x2a, 0x0a, 0x6a, 0xe0, 0x5f, 
> 0x47,
> -  0xd1, 0xd5, 0x63, 0x0a, 0x32, 0xf2, 0xaf, 0xd7, 0x36, 0x1f, 0x2a, 0x70, 
> 0x5a,
> -  0xe5, 0x42, 0x59, 0x08, 0x71, 0x4b, 0x57, 0xba, 0x7e, 0x83, 0x81, 0xf0, 
> 0x21,
> -  0x3c, 0xf4, 0x1c, 0xc1, 0xc5, 0xb9, 0x90, 0x93, 0x0e, 0x88, 0x45, 0x93, 
> 0x86,
> -  0xe9, 0xb1, 0x20, 0x99, 0xbe, 0x98, 0xcb, 0xc5, 0x95, 0xa4, 0x5d, 0x62, 
> 0xd6,
> -  0xa0, 0x63, 0x08, 0x20, 0xbd, 0x75, 0x10, 0x77, 0x7d, 0x3d, 0xf3, 0x45, 
> 0xb9,
> -  0x9f, 0x97, 0x9f, 0xcb, 0x57, 0x80, 0x6f, 0x33, 0xa9, 0x04, 0xcf, 0x77, 
> 0xa4,
> -  0x62, 0x1c, 0x59, 0x7e
> -};
> -
> -//
> -// Second DB entry: "Microsoft Corporation UEFI CA 2011"
> -// SHA1: 46:de:f6:3b:5c:e6:1c:f8:ba:0d:e2:e6:63:9c:10:19:d0:ed:14:f3
> -//
> -// To verify the "shim" binary and PCI expansion ROMs with.
> -//
> -STATIC CONST UINT8 mMicrosoftUefiCa[] = {
> -  0x30, 0x82, 0x06, 0x10, 0x30, 0x82, 0x03, 0xf8, 0xa0, 0x03, 0x02, 0x01, 
> 0x02,
> -  0x02, 0x0a, 0x61, 0x08, 0xd3, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 
> 0x30,
> -  0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 
> 0x05,
> -  0x00, 0x30, 0x81, 0x91, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 
> 0x06,
> -  0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 
> 0x08,
> -  0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 
> 0x31,
> -  0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 
> 0x64,
> -  0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 
> 0x0a,
> -  0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 
> 0x43,
> -  0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x3b, 
> 0x30,
> -  0x39, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x32, 0x4d, 0x69, 0x63, 0x72, 
> 0x6f,
> -  0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 
> 0x74,
> -  0x69, 0x6f, 0x6e, 0x20, 0x54, 0x68, 0x69, 0x72, 0x64, 0x20, 0x50, 0x61, 
> 0x72,
> -  0x74, 0x79, 0x20, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 
> 0x63,
> -  0x65, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x31, 
> 0x30,
> -  0x36, 0x32, 0x37, 0x32, 0x31, 0x32, 0x32, 0x34, 0x35, 0x5a, 0x17, 0x0d, 
> 0x32,
> -  0x36, 0x30, 0x36, 0x32, 0x37, 0x32, 0x31, 0x33, 0x32, 0x34, 0x35, 0x5a, 
> 0x30,
> -  0x81, 0x81, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 
> 0x02,
> -  0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 
> 0x0a,
> -  0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x31, 0x10, 
> 0x30,
> -  0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 0x64, 0x6d, 
> 0x6f,
> -  0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 
> 0x15,
> -  0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, 0x6f, 
> 0x72,
> -  0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x2b, 0x30, 0x29, 
> 0x06,
> -  0x03, 0x55, 0x04, 0x03, 0x13, 0x22, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 
> 0x6f,
> -  0x66, 0x74, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 
> 0x6f,
> -  0x6e, 0x20, 0x55, 0x45, 0x46, 0x49, 0x20, 0x43, 0x41, 0x20, 0x32, 0x30, 
> 0x31,
> -  0x31, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 
> 0x86,
> -  0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 
> 0x30,
> -  0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xa5, 0x08, 0x6c, 0x4c, 
> 0xc7,
> -  0x45, 0x09, 0x6a, 0x4b, 0x0c, 0xa4, 0xc0, 0x87, 0x7f, 0x06, 0x75, 0x0c, 
> 0x43,
> -  0x01, 0x54, 0x64, 0xe0, 0x16, 0x7f, 0x07, 0xed, 0x92, 0x7d, 0x0b, 0xb2, 
> 0x73,
> -  0xbf, 0x0c, 0x0a, 0xc6, 0x4a, 0x45, 0x61, 0xa0, 0xc5, 0x16, 0x2d, 0x96, 
> 0xd3,
> -  0xf5, 0x2b, 0xa0, 0xfb, 0x4d, 0x49, 0x9b, 0x41, 0x80, 0x90, 0x3c, 0xb9, 
> 0x54,
> -  0xfd, 0xe6, 0xbc, 0xd1, 0x9d, 0xc4, 0xa4, 0x18, 0x8a, 0x7f, 0x41, 0x8a, 
> 0x5c,
> -  0x59, 0x83, 0x68, 0x32, 0xbb, 0x8c, 0x47, 0xc9, 0xee, 0x71, 0xbc, 0x21, 
> 0x4f,
> -  0x9a, 0x8a, 0x7c, 0xff, 0x44, 0x3f, 0x8d, 0x8f, 0x32, 0xb2, 0x26, 0x48, 
> 0xae,
> -  0x75, 0xb5, 0xee, 0xc9, 0x4c, 0x1e, 0x4a, 0x19, 0x7e, 0xe4, 0x82, 0x9a, 
> 0x1d,
> -  0x78, 0x77, 0x4d, 0x0c, 0xb0, 0xbd, 0xf6, 0x0f, 0xd3, 0x16, 0xd3, 0xbc, 
> 0xfa,
> -  0x2b, 0xa5, 0x51, 0x38, 0x5d, 0xf5, 0xfb, 0xba, 0xdb, 0x78, 0x02, 0xdb, 
> 0xff,
> -  0xec, 0x0a, 0x1b, 0x96, 0xd5, 0x83, 0xb8, 0x19, 0x13, 0xe9, 0xb6, 0xc0, 
> 0x7b,
> -  0x40, 0x7b, 0xe1, 0x1f, 0x28, 0x27, 0xc9, 0xfa, 0xef, 0x56, 0x5e, 0x1c, 
> 0xe6,
> -  0x7e, 0x94, 0x7e, 0xc0, 0xf0, 0x44, 0xb2, 0x79, 0x39, 0xe5, 0xda, 0xb2, 
> 0x62,
> -  0x8b, 0x4d, 0xbf, 0x38, 0x70, 0xe2, 0x68, 0x24, 0x14, 0xc9, 0x33, 0xa4, 
> 0x08,
> -  0x37, 0xd5, 0x58, 0x69, 0x5e, 0xd3, 0x7c, 0xed, 0xc1, 0x04, 0x53, 0x08, 
> 0xe7,
> -  0x4e, 0xb0, 0x2a, 0x87, 0x63, 0x08, 0x61, 0x6f, 0x63, 0x15, 0x59, 0xea, 
> 0xb2,
> -  0x2b, 0x79, 0xd7, 0x0c, 0x61, 0x67, 0x8a, 0x5b, 0xfd, 0x5e, 0xad, 0x87, 
> 0x7f,
> -  0xba, 0x86, 0x67, 0x4f, 0x71, 0x58, 0x12, 0x22, 0x04, 0x22, 0x22, 0xce, 
> 0x8b,
> -  0xef, 0x54, 0x71, 0x00, 0xce, 0x50, 0x35, 0x58, 0x76, 0x95, 0x08, 0xee, 
> 0x6a,
> -  0xb1, 0xa2, 0x01, 0xd5, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 
> 0x76,
> -  0x30, 0x82, 0x01, 0x72, 0x30, 0x12, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 
> 0x01,
> -  0x82, 0x37, 0x15, 0x01, 0x04, 0x05, 0x02, 0x03, 0x01, 0x00, 0x01, 0x30, 
> 0x23,
> -  0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x15, 0x02, 0x04, 
> 0x16,
> -  0x04, 0x14, 0xf8, 0xc1, 0x6b, 0xb7, 0x7f, 0x77, 0x53, 0x4a, 0xf3, 0x25, 
> 0x37,
> -  0x1d, 0x4e, 0xa1, 0x26, 0x7b, 0x0f, 0x20, 0x70, 0x80, 0x30, 0x1d, 0x06, 
> 0x03,
> -  0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x13, 0xad, 0xbf, 0x43, 0x09, 
> 0xbd,
> -  0x82, 0x70, 0x9c, 0x8c, 0xd5, 0x4f, 0x31, 0x6e, 0xd5, 0x22, 0x98, 0x8a, 
> 0x1b,
> -  0xd4, 0x30, 0x19, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 
> 0x14,
> -  0x02, 0x04, 0x0c, 0x1e, 0x0a, 0x00, 0x53, 0x00, 0x75, 0x00, 0x62, 0x00, 
> 0x43,
> -  0x00, 0x41, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 
> 0x02,
> -  0x01, 0x86, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 
> 0x04,
> -  0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 
> 0x23,
> -  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x45, 0x66, 0x52, 0x43, 0xe1, 0x7e, 
> 0x58,
> -  0x11, 0xbf, 0xd6, 0x4e, 0x9e, 0x23, 0x55, 0x08, 0x3b, 0x3a, 0x22, 0x6a, 
> 0xa8,
> -  0x30, 0x5c, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x55, 0x30, 0x53, 0x30, 
> 0x51,
> -  0xa0, 0x4f, 0xa0, 0x4d, 0x86, 0x4b, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 
> 0x2f,
> -  0x63, 0x72, 0x6c, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 
> 0x74,
> -  0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x63, 0x72, 0x6c, 
> 0x2f,
> -  0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x4d, 0x69, 0x63, 
> 0x43,
> -  0x6f, 0x72, 0x54, 0x68, 0x69, 0x50, 0x61, 0x72, 0x4d, 0x61, 0x72, 0x52, 
> 0x6f,
> -  0x6f, 0x5f, 0x32, 0x30, 0x31, 0x30, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 
> 0x2e,
> -  0x63, 0x72, 0x6c, 0x30, 0x60, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 
> 0x07,
> -  0x01, 0x01, 0x04, 0x54, 0x30, 0x52, 0x30, 0x50, 0x06, 0x08, 0x2b, 0x06, 
> 0x01,
> -  0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x44, 0x68, 0x74, 0x74, 0x70, 0x3a, 
> 0x2f,
> -  0x2f, 0x77, 0x77, 0x77, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 
> 0x66,
> -  0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x63, 0x65, 
> 0x72,
> -  0x74, 0x73, 0x2f, 0x4d, 0x69, 0x63, 0x43, 0x6f, 0x72, 0x54, 0x68, 0x69, 
> 0x50,
> -  0x61, 0x72, 0x4d, 0x61, 0x72, 0x52, 0x6f, 0x6f, 0x5f, 0x32, 0x30, 0x31, 
> 0x30,
> -  0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x2e, 0x63, 0x72, 0x74, 0x30, 0x0d, 
> 0x06,
> -  0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 
> 0x03,
> -  0x82, 0x02, 0x01, 0x00, 0x35, 0x08, 0x42, 0xff, 0x30, 0xcc, 0xce, 0xf7, 
> 0x76,
> -  0x0c, 0xad, 0x10, 0x68, 0x58, 0x35, 0x29, 0x46, 0x32, 0x76, 0x27, 0x7c, 
> 0xef,
> -  0x12, 0x41, 0x27, 0x42, 0x1b, 0x4a, 0xaa, 0x6d, 0x81, 0x38, 0x48, 0x59, 
> 0x13,
> -  0x55, 0xf3, 0xe9, 0x58, 0x34, 0xa6, 0x16, 0x0b, 0x82, 0xaa, 0x5d, 0xad, 
> 0x82,
> -  0xda, 0x80, 0x83, 0x41, 0x06, 0x8f, 0xb4, 0x1d, 0xf2, 0x03, 0xb9, 0xf3, 
> 0x1a,
> -  0x5d, 0x1b, 0xf1, 0x50, 0x90, 0xf9, 0xb3, 0x55, 0x84, 0x42, 0x28, 0x1c, 
> 0x20,
> -  0xbd, 0xb2, 0xae, 0x51, 0x14, 0xc5, 0xc0, 0xac, 0x97, 0x95, 0x21, 0x1c, 
> 0x90,
> -  0xdb, 0x0f, 0xfc, 0x77, 0x9e, 0x95, 0x73, 0x91, 0x88, 0xca, 0xbd, 0xbd, 
> 0x52,
> -  0xb9, 0x05, 0x50, 0x0d, 0xdf, 0x57, 0x9e, 0xa0, 0x61, 0xed, 0x0d, 0xe5, 
> 0x6d,
> -  0x25, 0xd9, 0x40, 0x0f, 0x17, 0x40, 0xc8, 0xce, 0xa3, 0x4a, 0xc2, 0x4d, 
> 0xaf,
> -  0x9a, 0x12, 0x1d, 0x08, 0x54, 0x8f, 0xbd, 0xc7, 0xbc, 0xb9, 0x2b, 0x3d, 
> 0x49,
> -  0x2b, 0x1f, 0x32, 0xfc, 0x6a, 0x21, 0x69, 0x4f, 0x9b, 0xc8, 0x7e, 0x42, 
> 0x34,
> -  0xfc, 0x36, 0x06, 0x17, 0x8b, 0x8f, 0x20, 0x40, 0xc0, 0xb3, 0x9a, 0x25, 
> 0x75,
> -  0x27, 0xcd, 0xc9, 0x03, 0xa3, 0xf6, 0x5d, 0xd1, 0xe7, 0x36, 0x54, 0x7a, 
> 0xb9,
> -  0x50, 0xb5, 0xd3, 0x12, 0xd1, 0x07, 0xbf, 0xbb, 0x74, 0xdf, 0xdc, 0x1e, 
> 0x8f,
> -  0x80, 0xd5, 0xed, 0x18, 0xf4, 0x2f, 0x14, 0x16, 0x6b, 0x2f, 0xde, 0x66, 
> 0x8c,
> -  0xb0, 0x23, 0xe5, 0xc7, 0x84, 0xd8, 0xed, 0xea, 0xc1, 0x33, 0x82, 0xad, 
> 0x56,
> -  0x4b, 0x18, 0x2d, 0xf1, 0x68, 0x95, 0x07, 0xcd, 0xcf, 0xf0, 0x72, 0xf0, 
> 0xae,
> -  0xbb, 0xdd, 0x86, 0x85, 0x98, 0x2c, 0x21, 0x4c, 0x33, 0x2b, 0xf0, 0x0f, 
> 0x4a,
> -  0xf0, 0x68, 0x87, 0xb5, 0x92, 0x55, 0x32, 0x75, 0xa1, 0x6a, 0x82, 0x6a, 
> 0x3c,
> -  0xa3, 0x25, 0x11, 0xa4, 0xed, 0xad, 0xd7, 0x04, 0xae, 0xcb, 0xd8, 0x40, 
> 0x59,
> -  0xa0, 0x84, 0xd1, 0x95, 0x4c, 0x62, 0x91, 0x22, 0x1a, 0x74, 0x1d, 0x8c, 
> 0x3d,
> -  0x47, 0x0e, 0x44, 0xa6, 0xe4, 0xb0, 0x9b, 0x34, 0x35, 0xb1, 0xfa, 0xb6, 
> 0x53,
> -  0xa8, 0x2c, 0x81, 0xec, 0xa4, 0x05, 0x71, 0xc8, 0x9d, 0xb8, 0xba, 0xe8, 
> 0x1b,
> -  0x44, 0x66, 0xe4, 0x47, 0x54, 0x0e, 0x8e, 0x56, 0x7f, 0xb3, 0x9f, 0x16, 
> 0x98,
> -  0xb2, 0x86, 0xd0, 0x68, 0x3e, 0x90, 0x23, 0xb5, 0x2f, 0x5e, 0x8f, 0x50, 
> 0x85,
> -  0x8d, 0xc6, 0x8d, 0x82, 0x5f, 0x41, 0xa1, 0xf4, 0x2e, 0x0d, 0xe0, 0x99, 
> 0xd2,
> -  0x6c, 0x75, 0xe4, 0xb6, 0x69, 0xb5, 0x21, 0x86, 0xfa, 0x07, 0xd1, 0xf6, 
> 0xe2,
> -  0x4d, 0xd1, 0xda, 0xad, 0x2c, 0x77, 0x53, 0x1e, 0x25, 0x32, 0x37, 0xc7, 
> 0x6c,
> -  0x52, 0x72, 0x95, 0x86, 0xb0, 0xf1, 0x35, 0x61, 0x6a, 0x19, 0xf5, 0xb2, 
> 0x3b,
> -  0x81, 0x50, 0x56, 0xa6, 0x32, 0x2d, 0xfe, 0xa2, 0x89, 0xf9, 0x42, 0x86, 
> 0x27,
> -  0x18, 0x55, 0xa1, 0x82, 0xca, 0x5a, 0x9b, 0xf8, 0x30, 0x98, 0x54, 0x14, 
> 0xa6,
> -  0x47, 0x96, 0x25, 0x2f, 0xc8, 0x26, 0xe4, 0x41, 0x94, 0x1a, 0x5c, 0x02, 
> 0x3f,
> -  0xe5, 0x96, 0xe3, 0x85, 0x5b, 0x3c, 0x3e, 0x3f, 0xbb, 0x47, 0x16, 0x72, 
> 0x55,
> -  0xe2, 0x25, 0x22, 0xb1, 0xd9, 0x7b, 0xe7, 0x03, 0x06, 0x2a, 0xa3, 0xf7, 
> 0x1e,
> -  0x90, 0x46, 0xc3, 0x00, 0x0d, 0xd6, 0x19, 0x89, 0xe3, 0x0e, 0x35, 0x27, 
> 0x62,
> -  0x03, 0x71, 0x15, 0xa6, 0xef, 0xd0, 0x27, 0xa0, 0xa0, 0x59, 0x37, 0x60, 
> 0xf8,
> -  0x38, 0x94, 0xb8, 0xe0, 0x78, 0x70, 0xf8, 0xba, 0x4c, 0x86, 0x87, 0x94, 
> 0xf6,
> -  0xe0, 0xae, 0x02, 0x45, 0xee, 0x65, 0xc2, 0xb6, 0xa3, 0x7e, 0x69, 0x16, 
> 0x75,
> -  0x07, 0x92, 0x9b, 0xf5, 0xa6, 0xbc, 0x59, 0x83, 0x58
> -};
> -
> -//
> -// The Microsoft.UefiSecureBootLogo.Tests.OutOfBoxConfirmDBXisPresent test 
> case
> -// of the Secure Boot Logo Test in the Microsoft Hardware Certification Kit
> -// expects that the "dbx" variable exist.
> -//
> -// The article at <https://technet.microsoft.com/en-us/library/dn747883.aspx>
> -// writes (excerpt):
> -//
> -//    Windows 8.1 Secure Boot Key Creation and Management Guidance
> -//    1. Secure Boot, Windows 8.1 and Key Management
> -//    1.4 Signature Databases (Db and Dbx)
> -//    1.4.3 Forbidden Signature Database (dbx)
> -//
> -//    The contents of EFI_IMAGE_SIGNATURE_DATABASE1 dbx must be checked when
> -//    verifying images before checking db and any matches must prevent the
> -//    image from executing. The database may contain multiple certificates,
> -//    keys, and hashes in order to identify forbidden images. The Windows
> -//    Hardware Certification Requirements state that a dbx must be present, 
> so
> -//    any dummy value, such as the SHA-256 hash of 0, may be used as a safe
> -//    placeholder until such time as Microsoft begins delivering dbx updates.
> -//
> -// The byte array below captures the SHA256 checksum of the empty file,
> -// blacklisting it for loading & execution. This qualifies as a dummy, since
> -// the empty file is not a valid UEFI binary anyway.
> -//
> -// Technically speaking, we could also capture an official (although soon to 
> be
> -// obsolete) dbx update from <http://www.uefi.org/revocationlistfile>. 
> However,
> -// the terms and conditions on distributing that binary aren't exactly light
> -// reading, so let's best steer clear of it, and follow the "dummy entry"
> -// practice recommended -- in natural English langauge -- in the
> -// above-referenced TechNet article.
> -//
> -STATIC CONST UINT8 mSha256OfDevNull[] = {
> -  0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 
> 0x99,
> -  0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 
> 0x95,
> -  0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55
> -};
> -
> -//
> -// The following test cases of the Secure Boot Logo Test in the Microsoft
> -// Hardware Certification Kit:
> -//
> -// - Microsoft.UefiSecureBootLogo.Tests.OutOfBoxVerifyMicrosoftKEKpresent
> -// - Microsoft.UefiSecureBootLogo.Tests.OutOfBoxConfirmMicrosoftSignatureInDB
> -//
> -// expect the EFI_SIGNATURE_DATA.SignatureOwner GUID to be
> -// 77FA9ABD-0359-4D32-BD60-28F4E78F784B, when the
> -// EFI_SIGNATURE_DATA.SignatureData field carries any of the following X509
> -// certificates:
> -//
> -// - "Microsoft Corporation KEK CA 2011" (in KEK)
> -// - "Microsoft Windows Production PCA 2011" (in db)
> -// - "Microsoft Corporation UEFI CA 2011" (in db)
> -//
> -// This is despite the fact that the UEFI specification requires
> -// EFI_SIGNATURE_DATA.SignatureOwner to reflect the agent (i.e., OS,
> -// application or driver) that enrolled and therefore owns
> -// EFI_SIGNATURE_DATA.SignatureData, and not the organization that issued
> -// EFI_SIGNATURE_DATA.SignatureData.
> -//
> -STATIC CONST EFI_GUID mMicrosoftOwnerGuid = {
> -  0x77fa9abd, 0x0359, 0x4d32,
> -  { 0xbd, 0x60, 0x28, 0xf4, 0xe7, 0x8f, 0x78, 0x4b },
> -};
> -
>  /**
>    Enroll a set of certificates in a global variable, overwriting it.
>  
>    The variable will be rewritten with NV+BS+RT+AT attributes.
>  
>    @param[in] VariableName  The name of the variable to overwrite.
>  
>    @param[in] VendorGuid    The namespace (ie. vendor GUID) of the variable to
> @@ -838,49 +310,49 @@ ShellAppMain (
>        return 1;
>      }
>    }
>  
>    Status = EnrollListOfCerts (
>               EFI_IMAGE_SECURITY_DATABASE,
>               &gEfiImageSecurityDatabaseGuid,
>               &gEfiCertX509Guid,
> -             mMicrosoftPca,    sizeof mMicrosoftPca,    &mMicrosoftOwnerGuid,
> -             mMicrosoftUefiCa, sizeof mMicrosoftUefiCa, &mMicrosoftOwnerGuid,
> +             mMicrosoftPca,    mSizeOfMicrosoftPca,    &mMicrosoftOwnerGuid,
> +             mMicrosoftUefiCa, mSizeOfMicrosoftUefiCa, &mMicrosoftOwnerGuid,
>               NULL);
>    if (EFI_ERROR (Status)) {
>      return 1;
>    }
>  
>    Status = EnrollListOfCerts (
>               EFI_IMAGE_SECURITY_DATABASE1,
>               &gEfiImageSecurityDatabaseGuid,
>               &gEfiCertSha256Guid,
> -             mSha256OfDevNull, sizeof mSha256OfDevNull, &gEfiCallerIdGuid,
> +             mSha256OfDevNull, mSizeOfSha256OfDevNull, &gEfiCallerIdGuid,
>               NULL);
>    if (EFI_ERROR (Status)) {
>      return 1;
>    }
>  
>    Status = EnrollListOfCerts (
>               EFI_KEY_EXCHANGE_KEY_NAME,
>               &gEfiGlobalVariableGuid,
>               &gEfiCertX509Guid,
> -             mRedHatPkKek1, sizeof mRedHatPkKek1, &gEfiCallerIdGuid,
> -             mMicrosoftKek, sizeof mMicrosoftKek, &mMicrosoftOwnerGuid,
> +             mRedHatPkKek1, mSizeOfRedHatPkKek1, &gEfiCallerIdGuid,
> +             mMicrosoftKek, mSizeOfMicrosoftKek, &mMicrosoftOwnerGuid,
>               NULL);
>    if (EFI_ERROR (Status)) {
>      return 1;
>    }
>  
>    Status = EnrollListOfCerts (
>               EFI_PLATFORM_KEY_NAME,
>               &gEfiGlobalVariableGuid,
>               &gEfiCertX509Guid,
> -             mRedHatPkKek1, sizeof mRedHatPkKek1, &gEfiGlobalVariableGuid,
> +             mRedHatPkKek1, mSizeOfRedHatPkKek1, &gEfiGlobalVariableGuid,
>               NULL);

Reviewed-by: Philippe Mathieu-Daude <phi...@redhat.com>

>    if (EFI_ERROR (Status)) {
>      return 1;
>    }
>  
>    Settings.CustomMode = STANDARD_SECURE_BOOT_MODE;
>    Status = gRT->SetVariable (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid,
>                    EFI_VARIABLE_NON_VOLATILE | 
> EFI_VARIABLE_BOOTSERVICE_ACCESS,
> 

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#39768): https://edk2.groups.io/g/devel/message/39768
Mute This Topic: https://groups.io/mt/31359381/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to