OvmfPkKek1AppPrefix.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /** @file
  2. Declare the application prefix string as a GUID, for locating the PK/KEK1
  3. X509 certificate to enroll, in the "OEM Strings" SMBIOS table.
  4. Copyright (C) 2019, Red Hat, Inc.
  5. SPDX-License-Identifier: BSD-2-Clause-Patent
  6. @par Specification Reference:
  7. - https://git.qemu.org/?p=qemu.git;a=commit;h=2d6dcbf93fb0
  8. - https://libvirt.org/formatdomain.html#elementsSysinfo
  9. - https://bugs.launchpad.net/qemu/+bug/1826200
  10. - https://bugzilla.tianocore.org/show_bug.cgi?id=1747
  11. **/
  12. #ifndef OVMF_PK_KEK1_APP_PREFIX_H_
  13. #define OVMF_PK_KEK1_APP_PREFIX_H_
  14. #include <Uefi/UefiBaseType.h>
  15. //
  16. // For the EnrollDefaultKeys application, the hypervisor is expected to add a
  17. // string entry to the "OEM Strings" (Type 11) SMBIOS table, with the following
  18. // format:
  19. //
  20. // 4e32566d-8e9e-4f52-81d3-5bb9715f9727:<Base64 X509 cert for PK and first KEK>
  21. //
  22. // The string representation of the GUID at the front is the "application
  23. // prefix". It is matched by EnrollDefaultKeys case-insensitively.
  24. //
  25. // The base64-encoded blob following the application prefix and the colon (:)
  26. // is an X509 certificate in DER representation; the hypervisor instructs
  27. // EnrollDefaultKeys to enroll this certificate as both Platform Key and first
  28. // Key Exchange Key.
  29. //
  30. #define OVMF_PK_KEK1_APP_PREFIX_GUID \
  31. { 0x4e32566d, \
  32. 0x8e9e, \
  33. 0x4f52, \
  34. { 0x81, 0xd3, 0x5b, 0xb9, 0x71, 0x5f, 0x97, 0x27 }, \
  35. }
  36. extern EFI_GUID gOvmfPkKek1AppPrefixGuid;
  37. #endif /* OVMF_PK_KEK1_APP_PREFIX_H_ */