]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfig.vfr
SecurityPkg/SecureBootConfigImpl.c: Secure Boot DBX UI Enhancement
[mirror_edk2.git] / SecurityPkg / VariableAuthenticated / SecureBootConfigDxe / SecureBootConfig.vfr
index 02ddf4ad899bf43cf8b5b948e7a6f6f51f899b28..296b9c9b9e92adfdfd4dbb733b2c4d007bd265de 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   VFR file used by the SecureBoot configuration component.\r
 \r
-Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -316,11 +316,11 @@ formset
 \r
     subtitle text = STRING_TOKEN(STR_NULL);\r
 \r
-    goto SECUREBOOT_DELETE_SIGNATURE_FROM_DBX,\r
+    goto SECUREBOOT_DELETE_SIGNATURE_LIST_FORM,\r
     prompt = STRING_TOKEN (STR_SECURE_BOOT_DELETE_SIGNATURE),\r
     help   = STRING_TOKEN (STR_SECURE_BOOT_DELETE_SIGNATURE),\r
     flags  = INTERACTIVE,\r
-    key    = SECUREBOOT_DELETE_SIGNATURE_FROM_DBX;\r
+    key    = KEY_VALUE_FROM_DBX_TO_LIST_FORM;\r
 \r
   endform;\r
 \r
@@ -360,17 +360,58 @@ formset
   endform;\r
 \r
   //\r
-  // Form: 'Delete Signature' for DBX Options.\r
+  // Form: Display Signature List.\r
   //\r
-  form formid = SECUREBOOT_DELETE_SIGNATURE_FROM_DBX,\r
-    title  = STRING_TOKEN(STR_SECURE_BOOT_DELETE_SIGNATURE);\r
+  form formid = SECUREBOOT_DELETE_SIGNATURE_LIST_FORM,\r
+    title  = STRING_TOKEN(STR_SECURE_BOOT_DELETE_LIST_FORM);\r
+\r
+    subtitle text = STRING_TOKEN(STR_NULL);\r
+\r
+    grayoutif ideqval SECUREBOOT_CONFIGURATION.ListCount == 0;\r
+      label LABEL_DELETE_ALL_LIST_BUTTON;\r
+      //\r
+      // Will create a goto button dynamically here.\r
+      //\r
+      label LABEL_END;\r
+   endif;\r
+\r
+   subtitle text = STRING_TOKEN(STR_NULL);\r
+   label LABEL_SIGNATURE_LIST_START;\r
+   label LABEL_END;\r
+   subtitle text = STRING_TOKEN(STR_NULL);\r
+\r
+  endform;\r
+\r
+  //\r
+  // Form: Display Signature Data.\r
+  //\r
+  form formid = SECUREBOOT_DELETE_SIGNATURE_DATA_FORM,\r
+    title = STRING_TOKEN(STR_SECURE_BOOT_DELETE_DATA_FORM);\r
+\r
+    subtitle text = STRING_TOKEN(STR_NULL);\r
 \r
-    label LABEL_DBX_DELETE;\r
+    goto SECUREBOOT_DELETE_SIGNATURE_LIST_FORM,\r
+      prompt = STRING_TOKEN(STR_SECURE_BOOT_DELETE_ALL_DATA),\r
+      help   = STRING_TOKEN(STR_SECURE_BOOT_DELETE_ALL_DATA_HELP),\r
+      flags  = INTERACTIVE,\r
+      key    = KEY_SECURE_BOOT_DELETE_ALL_DATA;\r
+\r
+    grayoutif ideqval SECUREBOOT_CONFIGURATION.CheckedDataCount == 0;\r
+      goto SECUREBOOT_DELETE_SIGNATURE_LIST_FORM,\r
+        prompt = STRING_TOKEN(STR_SECURE_BOOT_DELETE_CHECK_DATA),\r
+        help   = STRING_TOKEN(STR_SECURE_BOOT_DELETE_CHECK_DATA_HELP),\r
+        flags  = INTERACTIVE,\r
+        key    = KEY_SECURE_BOOT_DELETE_CHECK_DATA;\r
+    endif;\r
+\r
+    subtitle text = STRING_TOKEN(STR_NULL);\r
+    label LABEL_SIGNATURE_DATA_START;\r
     label LABEL_END;\r
     subtitle text = STRING_TOKEN(STR_NULL);\r
 \r
   endform;\r
 \r
+\r
   //\r
   // Form: 'Delete Signature' for DBT Options.\r
   //\r
@@ -446,26 +487,44 @@ formset
     label LABEL_END;\r
     subtitle text = STRING_TOKEN(STR_NULL);\r
 \r
-    string  varid   = SECUREBOOT_CONFIGURATION.SignatureGuid,\r
-            prompt  = STRING_TOKEN(STR_SECURE_BOOT_SIGNATURE_GUID),\r
-            help    = STRING_TOKEN(STR_SECURE_BOOT_SIGNATURE_GUID_HELP),\r
-            flags   = INTERACTIVE,\r
-            key     = KEY_SECURE_BOOT_SIGNATURE_GUID_DBX,\r
-            minsize = SECURE_BOOT_GUID_SIZE,\r
-            maxsize = SECURE_BOOT_GUID_SIZE,\r
-    endstring;\r
+    grayoutif ideqval SECUREBOOT_CONFIGURATION.FileEnrollType == 3;\r
+      string  varid   = SECUREBOOT_CONFIGURATION.SignatureGuid,\r
+              prompt  = STRING_TOKEN(STR_SECURE_BOOT_SIGNATURE_GUID),\r
+              help    = STRING_TOKEN(STR_SECURE_BOOT_SIGNATURE_GUID_HELP),\r
+              flags   = INTERACTIVE,\r
+              key     = KEY_SECURE_BOOT_SIGNATURE_GUID_DBX,\r
+              minsize = SECURE_BOOT_GUID_SIZE,\r
+              maxsize = SECURE_BOOT_GUID_SIZE,\r
+      endstring;\r
+    endif;\r
 \r
-    oneof name = SignatureFormatInDbx,\r
-          varid       = SECUREBOOT_CONFIGURATION.CertificateFormat,\r
-          prompt      = STRING_TOKEN(STR_DBX_CERTIFICATE_FORMAT_PROMPT),\r
-          help        = STRING_TOKEN(STR_DBX_CERTIFICATE_FORMAT_HELP),\r
-          option text = STRING_TOKEN(STR_DBX_CERTIFICATE_FORMAT_SHA256), value = 0x2, flags = DEFAULT;\r
-          option text = STRING_TOKEN(STR_DBX_CERTIFICATE_FORMAT_SHA384), value = 0x3, flags = 0;\r
-          option text = STRING_TOKEN(STR_DBX_CERTIFICATE_FORMAT_SHA512), value = 0x4, flags = 0;\r
-          option text = STRING_TOKEN(STR_DBX_CERTIFICATE_FORMAT_RAW), value = 0x5, flags = 0;\r
-    endoneof;\r
+    disableif NOT ideqval SECUREBOOT_CONFIGURATION.FileEnrollType == 1;\r
+      oneof name = X509SignatureFormatInDbx,\r
+            varid       = SECUREBOOT_CONFIGURATION.CertificateFormat,\r
+            prompt      = STRING_TOKEN(STR_DBX_CERTIFICATE_FORMAT_PROMPT),\r
+            help        = STRING_TOKEN(STR_DBX_CERTIFICATE_FORMAT_HELP),\r
+            option text = STRING_TOKEN(STR_DBX_CERTIFICATE_FORMAT_SHA256), value = 0x1, flags = DEFAULT;\r
+            option text = STRING_TOKEN(STR_DBX_CERTIFICATE_FORMAT_SHA384), value = 0x2, flags = 0;\r
+            option text = STRING_TOKEN(STR_DBX_CERTIFICATE_FORMAT_SHA512), value = 0x3, flags = 0;\r
+            option text = STRING_TOKEN(STR_DBX_CERTIFICATE_FORMAT_RAW), value = 0x4, flags = 0;\r
+      endoneof;\r
+    endif;\r
+\r
+    disableif NOT ideqval SECUREBOOT_CONFIGURATION.FileEnrollType == 2;\r
+      text\r
+        help   = STRING_TOKEN(STR_DBX_PE_IMAGE_FORMAT_HELP),          // Help string\r
+        text   = STRING_TOKEN(STR_DBX_CERTIFICATE_FORMAT_PROMPT),     // Prompt string\r
+        text   = STRING_TOKEN(STR_DBX_PE_FORMAT_SHA256);              // PE image type\r
+    endif;\r
+\r
+    disableif NOT ideqval SECUREBOOT_CONFIGURATION.FileEnrollType == 3;\r
+      text\r
+        help   = STRING_TOKEN(STR_DBX_AUTH_2_FORMAT_HELP),            // Help string\r
+        text   = STRING_TOKEN(STR_DBX_CERTIFICATE_FORMAT_PROMPT),     // Prompt string\r
+        text   = STRING_TOKEN(STR_DBX_AUTH_2_FORMAT);                 // AUTH_2 image type\r
+    endif;\r
 \r
-    suppressif ideqval SECUREBOOT_CONFIGURATION.CertificateFormat == 5;\r
+    suppressif ideqval SECUREBOOT_CONFIGURATION.CertificateFormat == 4;\r
         checkbox varid  = SECUREBOOT_CONFIGURATION.AlwaysRevocation,\r
                prompt = STRING_TOKEN(STR_ALWAYS_CERTIFICATE_REVOCATION_PROMPT),\r
                help   = STRING_TOKEN(STR_ALWAYS_CERTIFICATE_REVOCATION_HELP),\r