| /** @file | |
| VFR file used by the SecureBoot configuration component. | |
| Copyright (c) 2011 - 2013, Intel Corporation. All rights reserved.<BR> | |
| This program and the accompanying materials | |
| are licensed and made available under the terms and conditions of the BSD License | |
| which accompanies this distribution. The full text of the license may be found at | |
| http://opensource.org/licenses/bsd-license.php | |
| THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
| **/ | |
| #include "SecureBootConfigNvData.h" | |
| formset | |
| guid = SECUREBOOT_CONFIG_FORM_SET_GUID, | |
| title = STRING_TOKEN(STR_SECUREBOOT_TITLE), | |
| help = STRING_TOKEN(STR_SECUREBOOT_HELP), | |
| classguid = EFI_HII_PLATFORM_SETUP_FORMSET_GUID, | |
| varstore SECUREBOOT_CONFIGURATION, | |
| varid = SECUREBOOT_CONFIGURATION_VARSTORE_ID, | |
| name = SECUREBOOT_CONFIGURATION, | |
| guid = SECUREBOOT_CONFIG_FORM_SET_GUID; | |
| // | |
| // ##1 Form "Secure Boot Configuration" | |
| // | |
| form formid = SECUREBOOT_CONFIGURATION_FORM_ID, | |
| title = STRING_TOKEN(STR_SECUREBOOT_TITLE); | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| text | |
| help = STRING_TOKEN(STR_SECURE_BOOT_STATE_HELP), | |
| text = STRING_TOKEN(STR_SECURE_BOOT_STATE_PROMPT), | |
| text = STRING_TOKEN(STR_SECURE_BOOT_STATE_CONTENT); | |
| // | |
| // Define of Check Box: Attempt Secure Boot | |
| // | |
| suppressif TRUE; | |
| checkbox varid = SECUREBOOT_CONFIGURATION.HideSecureBoot, | |
| questionid = KEY_HIDE_SECURE_BOOT, | |
| prompt = STRING_TOKEN(STR_NULL), | |
| help = STRING_TOKEN(STR_NULL), | |
| flags = INTERACTIVE, | |
| endcheckbox; | |
| endif; | |
| // | |
| // Display of Check Box: Attempt Secure Boot | |
| // | |
| grayoutif ideqval SECUREBOOT_CONFIGURATION.HideSecureBoot == 1; | |
| checkbox varid = SECUREBOOT_CONFIGURATION.AttemptSecureBoot, | |
| questionid = KEY_SECURE_BOOT_ENABLE, | |
| prompt = STRING_TOKEN(STR_SECURE_BOOT_PROMPT), | |
| help = STRING_TOKEN(STR_SECURE_BOOT_HELP), | |
| flags = INTERACTIVE | RESET_REQUIRED, | |
| endcheckbox; | |
| endif; | |
| // | |
| // Display of Oneof: 'Secure Boot Mode' | |
| // | |
| disableif TRUE; | |
| oneof varid = SECUREBOOT_CONFIGURATION.SecureBootMode, | |
| prompt = STRING_TOKEN(STR_SECURE_BOOT_MODE_PROMPT), | |
| help = STRING_TOKEN(STR_SECURE_BOOT_MODE_HELP), | |
| flags = INTERACTIVE, | |
| option text = STRING_TOKEN(STR_STANDARD_MODE), value = SECURE_BOOT_MODE_STANDARD, flags = 0; | |
| option text = STRING_TOKEN(STR_CUSTOM_MODE), value = SECURE_BOOT_MODE_CUSTOM, flags = 0; | |
| endoneof; | |
| endif; | |
| oneof name = SecureBootMode, | |
| questionid = KEY_SECURE_BOOT_MODE, | |
| prompt = STRING_TOKEN(STR_SECURE_BOOT_MODE_PROMPT), | |
| help = STRING_TOKEN(STR_SECURE_BOOT_MODE_HELP), | |
| flags = INTERACTIVE | NUMERIC_SIZE_1, | |
| option text = STRING_TOKEN(STR_STANDARD_MODE), value = SECURE_BOOT_MODE_STANDARD, flags = DEFAULT; | |
| option text = STRING_TOKEN(STR_CUSTOM_MODE), value = SECURE_BOOT_MODE_CUSTOM, flags = 0; | |
| endoneof; | |
| // | |
| // | |
| // Display of 'Current Secure Boot Mode' | |
| // | |
| suppressif questionref(SecureBootMode) == SECURE_BOOT_MODE_STANDARD; | |
| grayoutif NOT ideqval SECUREBOOT_CONFIGURATION.PhysicalPresent == 1; | |
| goto FORMID_SECURE_BOOT_OPTION_FORM, | |
| prompt = STRING_TOKEN(STR_SECURE_BOOT_OPTION), | |
| help = STRING_TOKEN(STR_SECURE_BOOT_OPTION_HELP), | |
| flags = INTERACTIVE, | |
| key = KEY_SECURE_BOOT_OPTION; | |
| endif; | |
| endif; | |
| endform; | |
| // | |
| // ##2 Form: 'Custom Secure Boot Options' | |
| // | |
| form formid = FORMID_SECURE_BOOT_OPTION_FORM, | |
| title = STRING_TOKEN(STR_SECURE_BOOT_OPTION_TITLE); | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| goto FORMID_SECURE_BOOT_PK_OPTION_FORM, | |
| prompt = STRING_TOKEN(STR_SECURE_BOOT_PK_OPTION), | |
| help = STRING_TOKEN(STR_SECURE_BOOT_PK_OPTION_HELP), | |
| flags = INTERACTIVE, | |
| key = KEY_SECURE_BOOT_PK_OPTION; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| goto FORMID_SECURE_BOOT_KEK_OPTION_FORM, | |
| prompt = STRING_TOKEN(STR_SECURE_BOOT_KEK_OPTION), | |
| help = STRING_TOKEN(STR_SECURE_BOOT_KEK_OPTION_HELP), | |
| flags = INTERACTIVE, | |
| key = KEY_SECURE_BOOT_KEK_OPTION; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| goto FORMID_SECURE_BOOT_DB_OPTION_FORM, | |
| prompt = STRING_TOKEN(STR_SECURE_BOOT_DB_OPTION), | |
| help = STRING_TOKEN(STR_SECURE_BOOT_DB_OPTION_HELP), | |
| flags = INTERACTIVE, | |
| key = KEY_SECURE_BOOT_DB_OPTION; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| goto FORMID_SECURE_BOOT_DBX_OPTION_FORM, | |
| prompt = STRING_TOKEN(STR_SECURE_BOOT_DBX_OPTION), | |
| help = STRING_TOKEN(STR_SECURE_BOOT_DBX_OPTION_HELP), | |
| flags = INTERACTIVE, | |
| key = KEY_SECURE_BOOT_DBX_OPTION; | |
| endform; | |
| // | |
| // ##3 Form: 'PK Options' | |
| // | |
| form formid = FORMID_SECURE_BOOT_PK_OPTION_FORM, | |
| title = STRING_TOKEN(STR_SECURE_BOOT_PK_OPTION); | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| // | |
| // Define of Check Box: 'Delete PK' | |
| // | |
| suppressif TRUE; | |
| checkbox varid = SECUREBOOT_CONFIGURATION.DeletePk, | |
| prompt = STRING_TOKEN(STR_NULL), | |
| help = STRING_TOKEN(STR_NULL), | |
| endcheckbox; | |
| endif; | |
| grayoutif ideqval SECUREBOOT_CONFIGURATION.HasPk == 1; | |
| goto FORMID_ENROLL_PK_FORM, | |
| prompt = STRING_TOKEN(STR_ENROLL_PK), | |
| help = STRING_TOKEN(STR_ENROLL_PK_HELP), | |
| flags = INTERACTIVE, | |
| key = KEY_ENROLL_PK; | |
| endif; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| // | |
| // Display of Check Box: 'Delete Pk' | |
| // | |
| grayoutif ideqval SECUREBOOT_CONFIGURATION.HideSecureBoot == 1; | |
| checkbox varid = SECUREBOOT_CONFIGURATION.DeletePk, | |
| questionid = KEY_SECURE_BOOT_DELETE_PK, | |
| prompt = STRING_TOKEN(STR_DELETE_PK), | |
| help = STRING_TOKEN(STR_DELETE_PK_HELP), | |
| flags = INTERACTIVE | RESET_REQUIRED, | |
| endcheckbox; | |
| endif; | |
| endform; | |
| // | |
| // ##4 Form: 'Enroll PK' | |
| // | |
| form formid = FORMID_ENROLL_PK_FORM, | |
| title = STRING_TOKEN(STR_ENROLL_PK); | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| goto FORM_FILE_EXPLORER_ID_PK, | |
| prompt = STRING_TOKEN(STR_SECURE_BOOT_ENROLL_PK_FILE), | |
| help = STRING_TOKEN(STR_SECURE_BOOT_ENROLL_PK_FILE), | |
| flags = INTERACTIVE, | |
| key = SECUREBOOT_ADD_PK_FILE_FORM_ID; | |
| endform; | |
| // | |
| // ##5 Form: 'KEK Options' | |
| // | |
| form formid = FORMID_SECURE_BOOT_KEK_OPTION_FORM, | |
| title = STRING_TOKEN(STR_SECURE_BOOT_KEK_OPTION); | |
| // | |
| // Display of 'Enroll KEK' | |
| // | |
| goto FORMID_ENROLL_KEK_FORM, | |
| prompt = STRING_TOKEN(STR_ENROLL_KEK), | |
| help = STRING_TOKEN(STR_ENROLL_KEK_HELP), | |
| flags = INTERACTIVE; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| // | |
| // Display of 'Delete KEK' | |
| // | |
| goto FORMID_DELETE_KEK_FORM, | |
| prompt = STRING_TOKEN(STR_DELETE_KEK), | |
| help = STRING_TOKEN(STR_DELETE_KEK_HELP), | |
| flags = INTERACTIVE, | |
| key = KEY_DELETE_KEK; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| endform; | |
| // | |
| // ##6 Form: 'Enroll KEK' | |
| // | |
| form formid = FORMID_ENROLL_KEK_FORM, | |
| title = STRING_TOKEN(STR_ENROLL_KEK_TITLE); | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| goto FORM_FILE_EXPLORER_ID_KEK, | |
| prompt = STRING_TOKEN(STR_FORM_ENROLL_KEK_FROM_FILE_TITLE), | |
| help = STRING_TOKEN(STR_FORM_ENROLL_KEK_FROM_FILE_TITLE_HELP), | |
| flags = INTERACTIVE, | |
| key = FORMID_ENROLL_KEK_FORM; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| label FORMID_ENROLL_KEK_FORM; | |
| label LABEL_END; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| string varid = SECUREBOOT_CONFIGURATION.SignatureGuid, | |
| prompt = STRING_TOKEN(STR_SECURE_BOOT_SIGNATURE_GUID), | |
| help = STRING_TOKEN(STR_SECURE_BOOT_SIGNATURE_GUID_HELP), | |
| flags = INTERACTIVE, | |
| key = KEY_SECURE_BOOT_KEK_GUID, | |
| minsize = SECURE_BOOT_GUID_SIZE, | |
| maxsize = SECURE_BOOT_GUID_SIZE, | |
| endstring; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| goto FORMID_SECURE_BOOT_OPTION_FORM, | |
| prompt = STRING_TOKEN(STR_SAVE_AND_EXIT), | |
| help = STRING_TOKEN(STR_SAVE_AND_EXIT), | |
| flags = INTERACTIVE, | |
| key = KEY_VALUE_SAVE_AND_EXIT_KEK; | |
| goto FORMID_SECURE_BOOT_OPTION_FORM, | |
| prompt = STRING_TOKEN(STR_NO_SAVE_AND_EXIT), | |
| help = STRING_TOKEN(STR_NO_SAVE_AND_EXIT), | |
| flags = INTERACTIVE, | |
| key = KEY_VALUE_NO_SAVE_AND_EXIT_KEK; | |
| endform; | |
| // | |
| // ##7 Form: 'Delete KEK' | |
| // | |
| form formid = FORMID_DELETE_KEK_FORM, | |
| title = STRING_TOKEN(STR_DELETE_KEK_TITLE); | |
| label LABEL_KEK_DELETE; | |
| label LABEL_END; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| endform; | |
| // | |
| // ##8 Form: 'DB Options' | |
| // | |
| form formid = FORMID_SECURE_BOOT_DB_OPTION_FORM, | |
| title = STRING_TOKEN(STR_SECURE_BOOT_DB_OPTION); | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| goto SECUREBOOT_ENROLL_SIGNATURE_TO_DB, | |
| prompt = STRING_TOKEN (STR_SECURE_BOOT_ENROLL_SIGNATURE), | |
| help = STRING_TOKEN (STR_SECURE_BOOT_ENROLL_SIGNATURE), | |
| flags = 0; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| goto SECUREBOOT_DELETE_SIGNATURE_FROM_DB, | |
| prompt = STRING_TOKEN (STR_SECURE_BOOT_DELETE_SIGNATURE), | |
| help = STRING_TOKEN (STR_SECURE_BOOT_DELETE_SIGNATURE), | |
| flags = INTERACTIVE, | |
| key = SECUREBOOT_DELETE_SIGNATURE_FROM_DB; | |
| endform; | |
| // | |
| // ##9 Form: 'DBX Options' | |
| // | |
| form formid = FORMID_SECURE_BOOT_DBX_OPTION_FORM, | |
| title = STRING_TOKEN(STR_SECURE_BOOT_DBX_OPTION); | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| goto SECUREBOOT_ENROLL_SIGNATURE_TO_DBX, | |
| prompt = STRING_TOKEN (STR_SECURE_BOOT_ENROLL_SIGNATURE), | |
| help = STRING_TOKEN (STR_SECURE_BOOT_ENROLL_SIGNATURE), | |
| flags = 0; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| goto SECUREBOOT_DELETE_SIGNATURE_FROM_DBX, | |
| prompt = STRING_TOKEN (STR_SECURE_BOOT_DELETE_SIGNATURE), | |
| help = STRING_TOKEN (STR_SECURE_BOOT_DELETE_SIGNATURE), | |
| flags = INTERACTIVE, | |
| key = SECUREBOOT_DELETE_SIGNATURE_FROM_DBX; | |
| endform; | |
| // | |
| // Form: 'Delete Signature' for DB Options. | |
| // | |
| form formid = SECUREBOOT_DELETE_SIGNATURE_FROM_DB, | |
| title = STRING_TOKEN(STR_SECURE_BOOT_DELETE_SIGNATURE); | |
| label LABEL_DB_DELETE; | |
| label LABEL_END; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| endform; | |
| // | |
| // Form: 'Delete Signature' for DBX Options. | |
| // | |
| form formid = SECUREBOOT_DELETE_SIGNATURE_FROM_DBX, | |
| title = STRING_TOKEN(STR_SECURE_BOOT_DELETE_SIGNATURE); | |
| label LABEL_DBX_DELETE; | |
| label LABEL_END; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| endform; | |
| // | |
| // Form: 'Enroll Signature' for DB options. | |
| // | |
| form formid = SECUREBOOT_ENROLL_SIGNATURE_TO_DB, | |
| title = STRING_TOKEN(STR_SECURE_BOOT_ENROLL_SIGNATURE); | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| goto FORM_FILE_EXPLORER_ID_DB, | |
| prompt = STRING_TOKEN(STR_SECURE_BOOT_ADD_SIGNATURE_FILE), | |
| help = STRING_TOKEN(STR_SECURE_BOOT_ADD_SIGNATURE_FILE), | |
| flags = INTERACTIVE, | |
| key = SECUREBOOT_ENROLL_SIGNATURE_TO_DB; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| label SECUREBOOT_ENROLL_SIGNATURE_TO_DB; | |
| label LABEL_END; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| string varid = SECUREBOOT_CONFIGURATION.SignatureGuid, | |
| prompt = STRING_TOKEN(STR_SECURE_BOOT_SIGNATURE_GUID), | |
| help = STRING_TOKEN(STR_SECURE_BOOT_SIGNATURE_GUID_HELP), | |
| flags = INTERACTIVE, | |
| key = KEY_SECURE_BOOT_SIGNATURE_GUID_DB, | |
| minsize = SECURE_BOOT_GUID_SIZE, | |
| maxsize = SECURE_BOOT_GUID_SIZE, | |
| endstring; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| goto FORMID_SECURE_BOOT_OPTION_FORM, | |
| prompt = STRING_TOKEN(STR_SAVE_AND_EXIT), | |
| help = STRING_TOKEN(STR_SAVE_AND_EXIT), | |
| flags = INTERACTIVE, | |
| key = KEY_VALUE_SAVE_AND_EXIT_DB; | |
| goto FORMID_SECURE_BOOT_OPTION_FORM, | |
| prompt = STRING_TOKEN(STR_NO_SAVE_AND_EXIT), | |
| help = STRING_TOKEN(STR_NO_SAVE_AND_EXIT), | |
| flags = INTERACTIVE, | |
| key = KEY_VALUE_NO_SAVE_AND_EXIT_DB; | |
| endform; | |
| // | |
| // Form: 'Enroll Signature' for DBX options. | |
| // | |
| form formid = SECUREBOOT_ENROLL_SIGNATURE_TO_DBX, | |
| title = STRING_TOKEN(STR_SECURE_BOOT_ENROLL_SIGNATURE); | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| goto FORM_FILE_EXPLORER_ID_DBX, | |
| prompt = STRING_TOKEN(STR_SECURE_BOOT_ADD_SIGNATURE_FILE), | |
| help = STRING_TOKEN(STR_SECURE_BOOT_ADD_SIGNATURE_FILE), | |
| flags = INTERACTIVE, | |
| key = SECUREBOOT_ENROLL_SIGNATURE_TO_DBX; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| label SECUREBOOT_ENROLL_SIGNATURE_TO_DBX; | |
| label LABEL_END; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| string varid = SECUREBOOT_CONFIGURATION.SignatureGuid, | |
| prompt = STRING_TOKEN(STR_SECURE_BOOT_SIGNATURE_GUID), | |
| help = STRING_TOKEN(STR_SECURE_BOOT_SIGNATURE_GUID_HELP), | |
| flags = INTERACTIVE, | |
| key = KEY_SECURE_BOOT_SIGNATURE_GUID_DBX, | |
| minsize = SECURE_BOOT_GUID_SIZE, | |
| maxsize = SECURE_BOOT_GUID_SIZE, | |
| endstring; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| goto FORMID_SECURE_BOOT_OPTION_FORM, | |
| prompt = STRING_TOKEN(STR_SAVE_AND_EXIT), | |
| help = STRING_TOKEN(STR_SAVE_AND_EXIT), | |
| flags = INTERACTIVE, | |
| key = KEY_VALUE_SAVE_AND_EXIT_DBX; | |
| goto FORMID_SECURE_BOOT_OPTION_FORM, | |
| prompt = STRING_TOKEN(STR_NO_SAVE_AND_EXIT), | |
| help = STRING_TOKEN(STR_NO_SAVE_AND_EXIT), | |
| flags = INTERACTIVE, | |
| key = KEY_VALUE_NO_SAVE_AND_EXIT_DBX; | |
| endform; | |
| // | |
| // File Explorer for PK | |
| // | |
| form formid = FORM_FILE_EXPLORER_ID_PK, | |
| title = STRING_TOKEN(STR_FILE_EXPLORER_TITLE); | |
| label FORM_FILE_EXPLORER_ID; | |
| label LABEL_END; | |
| endform; | |
| // | |
| // File Explorer for KEK | |
| // | |
| form formid = FORM_FILE_EXPLORER_ID_KEK, | |
| title = STRING_TOKEN(STR_FILE_EXPLORER_TITLE); | |
| label FORM_FILE_EXPLORER_ID; | |
| label LABEL_END; | |
| endform; | |
| // | |
| // File Explorer for DB | |
| // | |
| form formid = FORM_FILE_EXPLORER_ID_DB, | |
| title = STRING_TOKEN(STR_FILE_EXPLORER_TITLE); | |
| label FORM_FILE_EXPLORER_ID; | |
| label LABEL_END; | |
| endform; | |
| // | |
| // File Explorer for DBX | |
| // | |
| form formid = FORM_FILE_EXPLORER_ID_DBX, | |
| title = STRING_TOKEN(STR_FILE_EXPLORER_TITLE); | |
| label FORM_FILE_EXPLORER_ID; | |
| label LABEL_END; | |
| endform; | |
| // | |
| // Enroll Pk from File Commit Form | |
| // | |
| form formid = SECUREBOOT_ADD_PK_FILE_FORM_ID, | |
| title = STRING_TOKEN(STR_SAVE_PK_FILE); | |
| label SECUREBOOT_ADD_PK_FILE_FORM_ID; | |
| label LABEL_END; | |
| subtitle text = STRING_TOKEN(STR_NULL); | |
| text | |
| help = STRING_TOKEN(STR_SAVE_AND_EXIT), | |
| text = STRING_TOKEN(STR_SAVE_AND_EXIT), | |
| text = STRING_TOKEN(STR_NULL), | |
| flags = INTERACTIVE, | |
| key = KEY_VALUE_SAVE_AND_EXIT_PK; | |
| text | |
| help = STRING_TOKEN(STR_NO_SAVE_AND_EXIT), | |
| text = STRING_TOKEN(STR_NO_SAVE_AND_EXIT), | |
| text = STRING_TOKEN(STR_NULL), | |
| flags = INTERACTIVE, | |
| key = KEY_VALUE_NO_SAVE_AND_EXIT_PK; | |
| endform; | |
| endformset; |