/** @file
  String definitions for Secure Boot Configuration form.

Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent

**/

#langdef en-US "English"

#string STR_SECUREBOOT_TITLE               #language en-US "Secure Boot Configuration"
#string STR_SECUREBOOT_HELP                #language en-US "Press <Enter> to select Secure Boot options."

#string STR_NULL                           #language en-US ""
#string STR_DBX_SUBTITLE_TEXT              #language en-US ""

#string STR_SECURE_BOOT_STATE_PROMPT       #language en-US "Current Secure Boot State"
#string STR_SECURE_BOOT_STATE_HELP         #language en-US "Current Secure Boot state: enabled or disabled."
#string STR_SECURE_BOOT_STATE_CONTENT      #language en-US " "

#string STR_SECURE_BOOT_PROMPT             #language en-US "Attempt Secure Boot"
#string STR_SECURE_BOOT_HELP               #language en-US "Enable/Disable the Secure Boot feature after platform reset"

#string STR_SECURE_RESET_TO_DEFAULTS_HELP  #language en-US "Enroll keys with data from default variables"
#string STR_SECURE_RESET_TO_DEFAULTS       #language en-US "Reset Secure Boot Keys"
#string STR_RESET_TO_DEFAULTS_POPUP        #language en-US "Secure Boot Keys & databases will be initialized from defaults.\n Are you sure?"

#string STR_SECURE_BOOT_ENROLL_SIGNATURE   #language en-US "Enroll Signature"
#string STR_SECURE_BOOT_DELETE_SIGNATURE   #language en-US "Delete Signature"
#string STR_SECURE_BOOT_DELETE_LIST_FORM   #language en-US "Delete Signature List Form"
#string STR_SECURE_BOOT_DELETE_DATA_FORM   #language en-US "Delete Signature Data Form"
#string STR_SECURE_BOOT_DELETE_ALL_LIST    #language en-US "Delete All Signature List"
#string STR_SECURE_BOOT_DELETE_ALL_DATA    #language en-US "Delete All Signature Data"
#string STR_SECURE_BOOT_DELETE_CHECK_DATA  #language en-US "Delete Checked Signature Data"
#string STR_SECURE_BOOT_DELETE_ALL_DATA_HELP   #language en-US "All signature data will be deleted, no matter how many signature data have you checked."
#string STR_SECURE_BOOT_DELETE_CHECK_DATA_HELP #language en-US "All checked signature data will be deleted."

#string STR_SECURE_BOOT_SIGNATURE_GUID     #language en-US "Signature GUID"
#string STR_SECURE_BOOT_SIGNATURE_GUID_HELP #language en-US "Input digit character in 11111111-2222-3333-4444-1234567890ab format."
#string STR_SECURE_BOOT_ADD_SIGNATURE_FILE #language en-US "Enroll Signature Using File"

#string STR_DBX_CERTIFICATE_FORMAT_PROMPT  #language en-US "Signature Format"
#string STR_DBX_CERTIFICATE_FORMAT_HELP    #language en-US "X509 DER-Cert enrolled. Select different option to enroll it into DBX."
#string STR_DBX_CERTIFICATE_FORMAT_SHA256  #language en-US "X509 CERT SHA256"
#string STR_DBX_CERTIFICATE_FORMAT_SHA384  #language en-US "X509 CERT SHA384"
#string STR_DBX_CERTIFICATE_FORMAT_SHA512  #language en-US "X509 CERT SHA512"
#string STR_DBX_CERTIFICATE_FORMAT_RAW     #language en-US "X509 CERT"

#string STR_DBX_PE_IMAGE_FORMAT_HELP       #language en-US "PE image enrolled. Use SHA256 hash to enroll it into DBX"
#string STR_DBX_PE_FORMAT_SHA256           #language en-US "PE Image SHA256"

#string STR_DBX_AUTH_2_FORMAT_HELP         #language en-US "VARIABLE_AUTHENTICATION_2 binary enrolled. Use raw binary to enroll it into DBX"
#string STR_DBX_AUTH_2_FORMAT              #language en-US "VARIABLE_AUTHENTICATION_2"

#string STR_CERTIFICATE_REVOCATION_TIME_PROMPT #language en-US "  Revocation Time"
#string STR_CERTIFICATE_REVOCATION_TIME_HELP   #language en-US "Input the revocation time of the certificate"
#string STR_CERTIFICATE_REVOCATION_DATE_PROMPT #language en-US "  Revocation Date"
#string STR_CERTIFICATE_REVOCATION_DATE_HELP   #language en-US "Input the revocation date of the certificate"

#string STR_ALWAYS_CERTIFICATE_REVOCATION_PROMPT   #language en-US "Always Revocation"
#string STR_ALWAYS_CERTIFICATE_REVOCATION_HELP     #language en-US "Indicate whether the certificate is always revoked."


#string STR_SAVE_SIGNATURE_FILE            #language en-US "Save Signature File"

#string STR_SAVE_AND_EXIT                  #language en-US  "Commit Changes and Exit"
#string STR_NO_SAVE_AND_EXIT               #language en-US  "Discard Changes and Exit"

#string STR_FILE_EXPLORER_TITLE            #language en-US  "File Explorer"

#string STR_SECURE_BOOT_MODE_PROMPT        #language en-US "Secure Boot Mode"
#string STR_SECURE_BOOT_MODE_HELP          #language en-US "Secure Boot Mode: Custom Mode or Standard Mode"

#string STR_STANDARD_MODE                  #language en-US "Standard Mode"
#string STR_CUSTOM_MODE                    #language en-US "Custom Mode"

#string STR_SECURE_BOOT_OPTION             #language en-US "Custom Secure Boot Options"
#string STR_SECURE_BOOT_OPTION_HELP        #language en-US "Enter into Custom Secure Boot Options Form"

#string STR_SECURE_BOOT_OPTION_TITLE       #language en-US "Custom Secure Boot Options"

#string STR_SECURE_BOOT_PK_OPTION          #language en-US "PK Options"
#string STR_SECURE_BOOT_PK_OPTION_HELP     #language en-US "Enroll/Delete PK"
#string STR_SECURE_BOOT_KEK_OPTION         #language en-US "KEK Options"
#string STR_SECURE_BOOT_KEK_OPTION_HELP    #language en-US "Enroll/Delete KEK"
#string STR_SECURE_BOOT_DB_OPTION          #language en-US "DB Options"
#string STR_SECURE_BOOT_DB_OPTION_HELP     #language en-US "Enroll/Delete Signature"
#string STR_SECURE_BOOT_DBX_OPTION         #language en-US "DBX Options"
#string STR_SECURE_BOOT_DBX_OPTION_HELP    #language en-US "Enroll/Delete DBX"
#string STR_SECURE_BOOT_DBT_OPTION         #language en-US "DBT Options"
#string STR_SECURE_BOOT_DBT_OPTION_HELP    #language en-US "Enroll/Delete DBT"

#string STR_ENROLL_PK                      #language en-US "Enroll PK"
#string STR_ENROLL_PK_HELP                 #language en-US "Enter into Enroll PK Form"
#string STR_SAVE_PK_FILE                   #language en-US "Save PK file"
#string STR_SECURE_BOOT_ENROLL_PK_FILE     #language en-US "Enroll PK Using File"

#string STR_DELETE_PK                      #language en-US "Delete Pk"
#string STR_DELETE_PK_HELP                 #language en-US "Choose to Delete PK, Otherwise keep the PK"

#string STR_ENROLL_PK_TITLE                #language en-US "Enroll PK"

#string STR_ENROLL_KEK                     #language en-US "Enroll KEK"
#string STR_ENROLL_KEK_HELP                #language en-US "Enter into Enroll KEK Form"

#string STR_DELETE_KEK                     #language en-US "Delete KEK"
#string STR_DELETE_KEK_HELP                 #language en-US "Enter into Delete KEK Form"

#string STR_ENROLL_KEK_TITLE                #language en-US "Enroll KEK"
#string STR_DELETE_KEK_TITLE                #language en-US "Delete KEK"

#string STR_FORM_ENROLL_KEK_FROM_FILE_TITLE         #language en-US "Enroll KEK using File"
#string STR_FORM_ENROLL_KEK_FROM_FILE_TITLE_HELP    #language en-US "Read the public key of KEK from file"
#string STR_FILE_EXPLORER_TITLE                   #language en-US "File Explorer"
#string STR_CERT_TYPE_RSA2048_SHA256_GUID         #language en-US "RSA2048_SHA256_GUID"
#string STR_CERT_TYPE_PCKS7_GUID                  #language en-US "PKCS7_GUID"
#string STR_CERT_TYPE_SHA1_GUID                   #language en-US "SHA1_GUID"
#string STR_CERT_TYPE_SHA256_GUID                 #language en-US "SHA256_GUID"
#string STR_CERT_TYPE_X509_SHA256_GUID            #language en-US "X509_SHA256_GUID"
#string STR_CERT_TYPE_X509_SHA384_GUID            #language en-US "X509_SHA384_GUID"
#string STR_CERT_TYPE_X509_SHA512_GUID            #language en-US "X509_SHA512_GUID"

#string STR_LIST_TYPE_RSA2048_SHA256              #language en-US "RSA2048_SHA256"
#string STR_LIST_TYPE_X509                        #language en-US "X509"
#string STR_LIST_TYPE_SHA1                        #language en-US "SHA1"
#string STR_LIST_TYPE_SHA256                      #language en-US "SHA256"
#string STR_LIST_TYPE_SHA384                      #language en-US "SHA384"
#string STR_LIST_TYPE_SHA512                      #language en-US "SHA512"
#string STR_LIST_TYPE_X509_SHA256                 #language en-US "X509_SHA256"
#string STR_LIST_TYPE_X509_SHA384                 #language en-US "X509_SHA384"
#string STR_LIST_TYPE_X509_SHA512                 #language en-US "X509_SHA512"
#string STR_LIST_TYPE_UNKNOWN                     #language en-US "UnKnown"

#string STR_SIGNATURE_LIST_NAME_FORMAT            #language en-US "Signature List, Entry-%d"
#string STR_SIGNATURE_DATA_NAME_FORMAT            #language en-US "Signature Data, Entry-%d"
#string STR_SIGNATURE_LIST_HELP_FORMAT            #language en-US "List Type:\n  %s\n\nEntry Number:\n  %d"
#string STR_SIGNATURE_DATA_HELP_FORMAT_GUID       #language en-US "Owner GUID:\n%s\n\n"
#string STR_SIGNATURE_DATA_HELP_FORMAT_CN         #language en-US "%s(%d bytes):\nCN = %s\n"
#string STR_SIGNATURE_DATA_HELP_FORMAT_HASH       #language en-US "%s(%d bytes):\n%s\n"
#string STR_SIGNATURE_DATA_HELP_FORMAT_TIME       #language en-US "Revocation Time:\n%s"

#string STR_SIGNATURE_DELETE_ALL_CONFIRM          #language en-US "Press 'Y' to delete all signature List."
