dbc4a9b
From: Dave Howells <dhowells@redhat.com>
dbc4a9b
Date: Tue, 23 Oct 2012 09:30:54 -0400
dbc4a9b
Subject: [PATCH] Add EFI signature data types
dbc4a9b
dbc4a9b
Add the data types that are used for containing hashes, keys and certificates
dbc4a9b
for cryptographic verification.
dbc4a9b
dbc4a9b
Bugzilla: N/A
dbc4a9b
Upstream-status: Fedora mustard for now
dbc4a9b
dbc4a9b
Signed-off-by: David Howells <dhowells@redhat.com>
dbc4a9b
---
dbc4a9b
 include/linux/efi.h | 20 ++++++++++++++++++++
dbc4a9b
 1 file changed, 20 insertions(+)
dbc4a9b
dbc4a9b
diff --git a/include/linux/efi.h b/include/linux/efi.h
f692dd0
index 16ec1c00919d..b7cb7dc5ebb4 100644
dbc4a9b
--- a/include/linux/efi.h
dbc4a9b
+++ b/include/linux/efi.h
f692dd0
@@ -589,6 +589,12 @@ void efi_native_runtime_setup(void);
dbc4a9b
 #define DEVICE_TREE_GUID \
dbc4a9b
     EFI_GUID(  0xb1b621d5, 0xf19c, 0x41a5, 0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0 )
dbc4a9b
 
dbc4a9b
+#define EFI_CERT_SHA256_GUID \
dbc4a9b
+    EFI_GUID(  0xc1c41626, 0x504c, 0x4092, 0xac, 0xa9, 0x41, 0xf9, 0x36, 0x93, 0x43, 0x28 )
dbc4a9b
+
dbc4a9b
+#define EFI_CERT_X509_GUID \
dbc4a9b
+    EFI_GUID(  0xa5c059a1, 0x94e4, 0x4aa7, 0x87, 0xb5, 0xab, 0x15, 0x5c, 0x2b, 0xf0, 0x72 )
dbc4a9b
+
dbc4a9b
 typedef struct {
dbc4a9b
 	efi_guid_t guid;
dbc4a9b
 	u64 table;
f692dd0
@@ -804,6 +810,20 @@ typedef struct _efi_file_io_interface {
dbc4a9b
 
dbc4a9b
 #define EFI_INVALID_TABLE_ADDR		(~0UL)
dbc4a9b
 
dbc4a9b
+typedef struct  {
dbc4a9b
+	efi_guid_t signature_owner;
dbc4a9b
+	u8 signature_data[];
dbc4a9b
+} efi_signature_data_t;
dbc4a9b
+
dbc4a9b
+typedef struct {
dbc4a9b
+	efi_guid_t signature_type;
dbc4a9b
+	u32 signature_list_size;
dbc4a9b
+	u32 signature_header_size;
dbc4a9b
+	u32 signature_size;
dbc4a9b
+	u8 signature_header[];
dbc4a9b
+	/* efi_signature_data_t signatures[][] */
dbc4a9b
+} efi_signature_list_t;
dbc4a9b
+
dbc4a9b
 /*
dbc4a9b
  * All runtime access to EFI goes through this structure:
dbc4a9b
  */
dbc4a9b
-- 
c47527a
2.1.0
dbc4a9b