mirror of
https://github.com/ipxe/ipxe
synced 2025-12-08 10:20:24 +03:00
[efi] Add Microsoft vendor GUID definition
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
57
src/include/ipxe/efi/Guid/MicrosoftVendor.h
Normal file
57
src/include/ipxe/efi/Guid/MicrosoftVendor.h
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
/** @file
|
||||||
|
Declare the GUID that is expected:
|
||||||
|
|
||||||
|
- as EFI_SIGNATURE_DATA.SignatureOwner GUID in association with X509 and
|
||||||
|
RSA2048 Secure Boot certificates issued by/for Microsoft,
|
||||||
|
|
||||||
|
- as UEFI variable vendor GUID in association with (unspecified)
|
||||||
|
Microsoft-owned variables.
|
||||||
|
|
||||||
|
Copyright (C) 2014-2019, Red Hat, Inc.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
|
||||||
|
@par Specification Reference:
|
||||||
|
- MSDN: System.Fundamentals.Firmware at
|
||||||
|
<https://msdn.microsoft.com/en-us/ie/dn932805(v=vs.94)>.
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef MICROSOFT_VENDOR_H_
|
||||||
|
#define MICROSOFT_VENDOR_H_
|
||||||
|
|
||||||
|
FILE_LICENCE ( BSD2_PATENT );
|
||||||
|
|
||||||
|
#include <ipxe/efi/Uefi/UefiBaseType.h>
|
||||||
|
|
||||||
|
//
|
||||||
|
// 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.
|
||||||
|
//
|
||||||
|
#define MICROSOFT_VENDOR_GUID \
|
||||||
|
{ 0x77fa9abd, \
|
||||||
|
0x0359, \
|
||||||
|
0x4d32, \
|
||||||
|
{ 0xbd, 0x60, 0x28, 0xf4, 0xe7, 0x8f, 0x78, 0x4b }, \
|
||||||
|
}
|
||||||
|
|
||||||
|
extern EFI_GUID gMicrosoftVendorGuid;
|
||||||
|
|
||||||
|
#endif /* MICROSOFT_VENDOR_H_ */
|
||||||
@@ -264,6 +264,7 @@ extern EFI_GUID efi_cert_x509_guid;
|
|||||||
extern EFI_GUID efi_file_info_id;
|
extern EFI_GUID efi_file_info_id;
|
||||||
extern EFI_GUID efi_file_system_info_id;
|
extern EFI_GUID efi_file_system_info_id;
|
||||||
extern EFI_GUID efi_global_variable;
|
extern EFI_GUID efi_global_variable;
|
||||||
|
extern EFI_GUID efi_microsoft_vendor_guid;
|
||||||
extern EFI_GUID efi_tls_ca_certificate_guid;
|
extern EFI_GUID efi_tls_ca_certificate_guid;
|
||||||
|
|
||||||
extern EFI_HANDLE efi_image_handle;
|
extern EFI_HANDLE efi_image_handle;
|
||||||
|
|||||||
@@ -119,7 +119,8 @@ my $edktop = shift;
|
|||||||
|
|
||||||
# Identify edk import directories
|
# Identify edk import directories
|
||||||
my $edkdirs = [ "MdePkg/Include", "MdeModulePkg/Include",
|
my $edkdirs = [ "MdePkg/Include", "MdeModulePkg/Include",
|
||||||
"NetworkPkg/Include", "EmbeddedPkg/Include" ];
|
"NetworkPkg/Include", "EmbeddedPkg/Include",
|
||||||
|
"OvmfPkg/Include" ];
|
||||||
foreach my $edkdir ( @$edkdirs ) {
|
foreach my $edkdir ( @$edkdirs ) {
|
||||||
die "Directory \"$edktop\" does not appear to contain the EFI EDK2 "
|
die "Directory \"$edktop\" does not appear to contain the EFI EDK2 "
|
||||||
."(missing \"$edkdir\")\n" unless -d catdir ( $edktop, $edkdir );
|
."(missing \"$edkdir\")\n" unless -d catdir ( $edktop, $edkdir );
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
|||||||
#include <ipxe/efi/Guid/FileSystemInfo.h>
|
#include <ipxe/efi/Guid/FileSystemInfo.h>
|
||||||
#include <ipxe/efi/Guid/GlobalVariable.h>
|
#include <ipxe/efi/Guid/GlobalVariable.h>
|
||||||
#include <ipxe/efi/Guid/ImageAuthentication.h>
|
#include <ipxe/efi/Guid/ImageAuthentication.h>
|
||||||
|
#include <ipxe/efi/Guid/MicrosoftVendor.h>
|
||||||
#include <ipxe/efi/Guid/SmBios.h>
|
#include <ipxe/efi/Guid/SmBios.h>
|
||||||
#include <ipxe/efi/Guid/TlsAuthentication.h>
|
#include <ipxe/efi/Guid/TlsAuthentication.h>
|
||||||
|
|
||||||
@@ -466,6 +467,9 @@ EFI_GUID efi_file_system_info_id = EFI_FILE_SYSTEM_INFO_ID;
|
|||||||
/** Global variable GUID */
|
/** Global variable GUID */
|
||||||
EFI_GUID efi_global_variable = EFI_GLOBAL_VARIABLE;
|
EFI_GUID efi_global_variable = EFI_GLOBAL_VARIABLE;
|
||||||
|
|
||||||
|
/** Microsoft vendor GUID */
|
||||||
|
EFI_GUID efi_microsoft_vendor_guid = MICROSOFT_VENDOR_GUID;
|
||||||
|
|
||||||
/** TLS CA certificate variable GUID */
|
/** TLS CA certificate variable GUID */
|
||||||
EFI_GUID efi_tls_ca_certificate_guid = EFI_TLS_CA_CERTIFICATE_GUID;
|
EFI_GUID efi_tls_ca_certificate_guid = EFI_TLS_CA_CERTIFICATE_GUID;
|
||||||
|
|
||||||
@@ -615,6 +619,8 @@ static struct efi_well_known_guid efi_well_known_guids[] = {
|
|||||||
"ManagedNetwork" },
|
"ManagedNetwork" },
|
||||||
{ &efi_managed_network_service_binding_protocol_guid,
|
{ &efi_managed_network_service_binding_protocol_guid,
|
||||||
"ManagedNetworkSb" },
|
"ManagedNetworkSb" },
|
||||||
|
{ &efi_microsoft_vendor_guid,
|
||||||
|
"Microsoft" },
|
||||||
{ &efi_mtftp4_protocol_guid,
|
{ &efi_mtftp4_protocol_guid,
|
||||||
"Mtftp4" },
|
"Mtftp4" },
|
||||||
{ &efi_mtftp4_service_binding_protocol_guid,
|
{ &efi_mtftp4_service_binding_protocol_guid,
|
||||||
|
|||||||
Reference in New Issue
Block a user