iPXE
MicrosoftVendor.h
Go to the documentation of this file.
1 /** @file
2  Declare the GUID that is expected:
3 
4  - as EFI_SIGNATURE_DATA.SignatureOwner GUID in association with X509 and
5  RSA2048 Secure Boot certificates issued by/for Microsoft,
6 
7  - as UEFI variable vendor GUID in association with (unspecified)
8  Microsoft-owned variables.
9 
10  Copyright (C) 2014-2019, Red Hat, Inc.
11 
12  SPDX-License-Identifier: BSD-2-Clause-Patent
13 
14  @par Specification Reference:
15  - MSDN: System.Fundamentals.Firmware at
16  <https://msdn.microsoft.com/en-us/ie/dn932805(v=vs.94)>.
17 **/
18 
19 #ifndef MICROSOFT_VENDOR_H_
20 #define MICROSOFT_VENDOR_H_
21 
22 FILE_LICENCE ( BSD2_PATENT );
23 
25 
26 //
27 // The following test cases of the Secure Boot Logo Test in the Microsoft
28 // Hardware Certification Kit:
29 //
30 // - Microsoft.UefiSecureBootLogo.Tests.OutOfBoxVerifyMicrosoftKEKpresent
31 // - Microsoft.UefiSecureBootLogo.Tests.OutOfBoxConfirmMicrosoftSignatureInDB
32 //
33 // expect the EFI_SIGNATURE_DATA.SignatureOwner GUID to be
34 // 77FA9ABD-0359-4D32-BD60-28F4E78F784B, when the
35 // EFI_SIGNATURE_DATA.SignatureData field carries any of the following X509
36 // certificates:
37 //
38 // - "Microsoft Corporation KEK CA 2011" (in KEK)
39 // - "Microsoft Windows Production PCA 2011" (in db)
40 // - "Microsoft Corporation UEFI CA 2011" (in db)
41 //
42 // This is despite the fact that the UEFI specification requires
43 // EFI_SIGNATURE_DATA.SignatureOwner to reflect the agent (i.e., OS,
44 // application or driver) that enrolled and therefore owns
45 // EFI_SIGNATURE_DATA.SignatureData, and not the organization that issued
46 // EFI_SIGNATURE_DATA.SignatureData.
47 //
48 #define MICROSOFT_VENDOR_GUID \
49  { 0x77fa9abd, \
50  0x0359, \
51  0x4d32, \
52  { 0xbd, 0x60, 0x28, 0xf4, 0xe7, 0x8f, 0x78, 0x4b }, \
53  }
54 
56 
57 #endif /* MICROSOFT_VENDOR_H_ */
128 bit buffer containing a unique identifier value.
Definition: Base.h:215
FILE_LICENCE(BSD2_PATENT)
EFI_GUID gMicrosoftVendorGuid
Defines data types and constants introduced in UEFI.