/** @file
  String definitions for Secure Boot Configuration form.

Copyright (c) 2011 - 2017, 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.

**/

#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_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_AUTHENICATION_2 binary enrolled. Use raw binary to enroll it into DBX"
#string STR_DBX_AUTH_2_FORMAT              #language en-US "VARIABLE_AUTHENICATION_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_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."
