Secure Boot Customization Guide - Technical whitepaper
Technical whitepaper 
© Copyright 2017 HP Development Company, L.P. 
2 Setting up a customized Secure Boot environment 15 
the new PK onto your platform. The second step uses Windows tools to write the new PK directly to your platform BIOS 
storage repository. 
2.5.1 PK: Create a valid SetVariable() package 
Set-SecureBootUEFI Command Line Parameter  Meaning 
-Name PK  Indicates that you are working with the Platform Key (PK) 
-Time 2016-02-01T13:30:00Z  Specifies the current date and time, which must be specified. 
-ContentFilePath .\PK_SigList.bin  Specifies the name of the file which contains the unsigned, 
formatted PK. 
-SignedFilePath .\PK_SigList_Serialization_for_PK.bin.p7  Specifies the name of the file which contains the signed, formatted 
PK. 
-OutputFilePath .\PK_NewKey_Import_PK.bin  Specifies the file which will contain the output of the command 
upon successful completion. 
Table 2  Command line switches to create SetVariable() package 
If successful, the command should produce output similar to the following: 
Figure 14  Successful output of properly formatted UEFI variable 
This step has produced a properly-formatted UEFI time-authenticated variable which may be used for direct import into 
Secure Boot using a simple UEFI SetVariable() command. The file PK_NewKey_Import_PK.bin contains this properly-
formatted UEFI time-authenticated variable artifact. 
2.5.2 Import PK using Windows tools 
There is one more step required to use the Windows tools to import the KEK: writing the KEK itself to Non-volatile Random 
Access Memory (NVRAM). Use the Set-SecureBootUEFI command inside Windows PowerShell for this purpose 
Set-SecureBootUEFI Command Line Parameter 
Meaning   
-Name PK  Indicates that you are working with the Platform Key (PK) 
-Time 2016-02-01T13:30:00Z  Specifies the current date and time, which must be specified. 
-ContentFilePath .\PK_SigList.bin  Specifies the name of the file which contains the unsigned, unformatted 
PK, created in a previous step. 
-SignedFilePath .\PK_SigList_Serialization_for_PK.bin.p7  Specifies the name of the file which contains the signed, formatted PK. 
Table 3  Command line switches to import PK to Windows 










