fixed hash size for EFI_CERT_SHA256_GUID, other minor changes

This commit is contained in:
iadgovuser58 2024-05-09 15:38:10 -04:00
parent 90f7a3e94b
commit 10c1382c6c
4 changed files with 21 additions and 16 deletions

View File

@ -10,7 +10,7 @@ import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException; import java.security.cert.CertificateException;
/** /**
* Class for processing the contents of a Secure Boot DB or DBX contents. * Class for processing the contents of a Secure Boot PK, KEK, DB or DBX contents.
* used for EFIVariables associated with Secure Boot * used for EFIVariables associated with Secure Boot
* as defined by Section 32.4.1 Signature Database from the UEFI 2.8 specification * as defined by Section 32.4.1 Signature Database from the UEFI 2.8 specification
* <p> * <p>
@ -52,10 +52,14 @@ public class UefiSignatureData {
*/ */
@Getter @Getter
private boolean valid = false; private boolean valid = false;
// /**
// * UEFI Certificate SHA1 hash.
// */
// private byte[] binaryHash = new byte[UefiConstants.SIZE_40];
/** /**
* UEFI Certificate SHA1 hash. * UEFI Certificate SHA256 hash.
*/ */
private byte[] binaryHash = new byte[UefiConstants.SIZE_40]; private byte[] binaryHash = new byte[UefiConstants.SIZE_32];
/** /**
* UEFI Signature data status. * UEFI Signature data status.
*/ */

View File

@ -214,11 +214,12 @@ public class UefiSignatureList {
StringBuilder sigInfo = new StringBuilder(); StringBuilder sigInfo = new StringBuilder();
if (!signatureTypeValid) { if (!signatureTypeValid) {
sigInfo.append(" *** Unknown UEFI Signature Type encountered: " + signatureType.toString() + "\n"); sigInfo.append(" *** Unknown UEFI Signature Type encountered:\n" +
" " + signatureType.toString() + "\n");
} }
else { else {
sigInfo.append(" UEFI Signature List Type = " + signatureType.toString() + "\n"); sigInfo.append(" UEFI Signature List Type = " + signatureType.toString() + "\n");
sigInfo.append(" Number if items (certs, hashes, etc) = " + numberOfCerts + "\n"); sigInfo.append(" Number of items (certs, hashes, etc) = " + numberOfCerts + "\n");
for (int i = 0; i < sigList.size(); i++) { for (int i = 0; i < sigList.size(); i++) {
UefiSignatureData certData = sigList.get(i); UefiSignatureData certData = sigList.get(i);

View File

@ -164,7 +164,7 @@ public class UefiVariable {
public String toString() { public String toString() {
StringBuilder efiVariable = new StringBuilder(); StringBuilder efiVariable = new StringBuilder();
efiVariable.append("UEFI Variable Name: " + efiVarName + "\n"); efiVariable.append("UEFI Variable Name: " + efiVarName + "\n");
efiVariable.append("UEFI Variable GUID = " + uefiVarGuid.toString() + "\n"); efiVariable.append("UEFI Variable GUID: " + uefiVarGuid.toString() + "\n");
if (efiVarName != "") { if (efiVarName != "") {
efiVariable.append("UEFI Variable Contents => " + "\n"); efiVariable.append("UEFI Variable Contents => " + "\n");
} }