VirtualBox

Changeset 104793 in vbox for trunk/src/VBox/Main


Ignore:
Timestamp:
May 27, 2024 6:56:45 PM (9 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
163365
Message:

Main: Add new Microsoft certs issued 2023 (KEK, Windows boot loader CA and 3rd party boot loader CA). Touch up the variable naming slightly to reflect the use of the certs in the DB better. Add a pointer where to get the certs (the github project has URLs which are the real authority). bugref:10699

Location:
trunk/src/VBox/Main
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/Makefile.kmk

    r104787 r104793  
    422422 #
    423423 # Trust anchors and certificates -> .cpp
     424 # Source for the Microsoft Certificates: https://github.com/microsoft/secureboot_objects
    424425 #
    425426 VBOX_SVC_CERTS_FILE = $(VBoxSVC_0_OUTDIR)/TrustAnchorsAndCerts.cpp
    426427 VBOX_SVC_CERTS := \
    427428        UefiMicrosoftKek=MicCorKEKCA2011_2011-06-24.crt \
    428         UefiMicrosoftCa=MicCorUEFCA2011_2011-06-27.crt \
    429         UefiMicrosoftProPca=MicWinProPCA2011_2011-10-19.crt \
     429        UefiMicrosoftKek2023=microsoft_corporation_kek_2k_ca_2023.crt \
     430        UefiMicrosoft3rdCa=MicCorUEFCA2011_2011-06-27.crt \
     431        UefiMicrosoft3rdCa2023=microsoft_uefi_ca_2023.crt\
     432        UefiMicrosoftWinCa=MicWinProPCA2011_2011-10-19.crt \
     433        UefiMicrosoftWinCa2023=windows_uefi_ca_2023.crt \
    430434        UefiOracleDefPk=OrclUefiDefPk2021_2021-09-29.crt
    431435
    432  VBOX_SVC_CERT_NAMES := $(foreach cert,$(VBOX_SVC_CERTS),$(firstword $(subst =,$(SPACE) ,$(cert))))
     436 VBOX_SVC_CERT_NAMES := $(foreach cert,$(VBOX_SVC_CERTS),$(firstword $(subst =,$(SP),$(cert))))
    433437 VBOX_SVC_PATH_CERTIFICATES := $(PATH_SUB_CURRENT)/Certificates
    434438
    435439 $$(VBOX_SVC_CERTS_FILE): $(MAKEFILE_CURRENT) \
    436                 $(foreach cert,$(VBOX_SVC_CERTS),$(VBOX_SVC_PATH_CERTIFICATES)/$(lastword $(subst =,$(SPACE) ,$(cert)))) \
     440                $(foreach cert,$(VBOX_SVC_CERTS),$(VBOX_SVC_PATH_CERTIFICATES)/$(lastword $(subst =,$(SP),$(cert)))) \
    437441                $(VBOX_BIN2C) \
    438442                | $$(dir $$@)
     
    443447               ''
    444448        $(foreach cert,$(VBOX_SVC_CERTS), $(NLTAB)$(VBOX_BIN2C) -ascii --append \
    445                 "$(firstword $(subst =,$(SP) ,$(cert)))" \
    446                 "$(VBOX_SVC_PATH_CERTIFICATES)/$(lastword $(subst =,$(SP) ,$(cert)))" \
     449                "$(firstword $(subst =,$(SP),$(cert)))" \
     450                "$(VBOX_SVC_PATH_CERTIFICATES)/$(lastword $(subst =,$(SP),$(cert)))" \
    447451                "$@")
    448452
  • trunk/src/VBox/Main/include/TrustAnchorsAndCerts.h

    r98103 r104793  
    3939extern const unsigned g_cbUefiMicrosoftKek;
    4040
    41 extern const unsigned char g_abUefiMicrosoftCa[];
    42 extern const unsigned g_cbUefiMicrosoftCa;
     41extern const unsigned char g_abUefiMicrosoft3rdCa[];
     42extern const unsigned g_cbUefiMicrosoft3rdCa;
    4343
    44 extern const unsigned char g_abUefiMicrosoftProPca[];
    45 extern const unsigned g_cbUefiMicrosoftProPca;
     44extern const unsigned char g_abUefiMicrosoft3rdCa2023[];
     45extern const unsigned g_cbUefiMicrosoft3rdCa2023;
     46
     47extern const unsigned char g_abUefiMicrosoftWinCa[];
     48extern const unsigned g_cbUefiMicrosoftWinCa;
     49
     50extern const unsigned char g_abUefiMicrosoftWinCa2023[];
     51extern const unsigned g_cbUefiMicrosoftWinCa2023;
    4652
    4753extern const unsigned char g_abUefiOracleDefPk[];
  • trunk/src/VBox/Main/src-server/UefiVariableStoreImpl.cpp

    r103532 r104793  
    533533    if (SUCCEEDED(hrc))
    534534    {
    535         hrc = i_uefiVarStoreAddSignatureToDb(&EfiGuidSecurityDb, "db", g_abUefiMicrosoftCa, g_cbUefiMicrosoftCa,
     535        hrc = i_uefiVarStoreAddSignatureToDb(&EfiGuidSecurityDb, "db", g_abUefiMicrosoft3rdCa, g_cbUefiMicrosoft3rdCa,
    536536                                             GuidMs, SignatureType_X509);
    537537        if (SUCCEEDED(hrc))
    538             hrc = i_uefiVarStoreAddSignatureToDb(&EfiGuidSecurityDb, "db", g_abUefiMicrosoftProPca, g_cbUefiMicrosoftProPca,
     538        {
     539            hrc = i_uefiVarStoreAddSignatureToDb(&EfiGuidSecurityDb, "db", g_abUefiMicrosoft3rdCa2023, g_cbUefiMicrosoft3rdCa2023,
    539540                                                 GuidMs, SignatureType_X509);
     541            if (SUCCEEDED(hrc))
     542            {
     543                hrc = i_uefiVarStoreAddSignatureToDb(&EfiGuidSecurityDb, "db", g_abUefiMicrosoftWinCa, g_cbUefiMicrosoftWinCa,
     544                                                     GuidMs, SignatureType_X509);
     545                if (SUCCEEDED(hrc))
     546                    hrc = i_uefiVarStoreAddSignatureToDb(&EfiGuidSecurityDb, "db", g_abUefiMicrosoftWinCa2023, g_cbUefiMicrosoftWinCa2023,
     547                                                         GuidMs, SignatureType_X509);
     548            }
     549        }
    540550    }
    541551
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette