VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/tools/Makefile.kmk@ 96692

Last change on this file since 96692 was 96692, checked in by vboxsync, 3 years ago

Add/Nt/Installer,/Config.kmk,SupDrv/Certs: Check for and install missing root certificates. This is a real problem with vista and older. bugref:10261

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.5 KB
Line 
1# $Id: Makefile.kmk 96692 2022-09-12 00:39:59Z vboxsync $
2## @file
3# Sub-Makefile for the Windows NT Additions Tools.
4#
5
6#
7# Copyright (C) 2012-2022 Oracle and/or its affiliates.
8#
9# This file is part of VirtualBox base platform packages, as
10# available from https://www.virtualbox.org.
11#
12# This program is free software; you can redistribute it and/or
13# modify it under the terms of the GNU General Public License
14# as published by the Free Software Foundation, in version 3 of the
15# License.
16#
17# This program is distributed in the hope that it will be useful, but
18# WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20# General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, see <https://www.gnu.org/licenses>.
24#
25# SPDX-License-Identifier: GPL-3.0-only
26#
27
28SUB_DEPTH = ../../../../..
29include $(KBUILD_PATH)/subheader.kmk
30
31#
32# Certificate utility.
33#
34PROGRAMS += VBoxCertUtil
35VBoxCertUtil_TEMPLATE = VBoxGuestR3Exe
36VBoxCertUtil_SOURCES = \
37 VBoxCertUtil.cpp
38VBoxCertUtil_LIBS = \
39 crypt32.lib
40VBoxCertUtil_VBOX_IMPORT_CHECKER.win.x86 = w2k
41
42$(call VBOX_SET_VER_INFO_EXE,VBoxCertUtil,VirtualBox Certificate Utility,$(VBOX_WINDOWS_ADDITIONS_ICON_FILE))
43
44
45#
46# Install all the certificates we use here.
47#
48INSTALLS += AdditionsInstCertFiles
49AdditionsInstCertFiles_TEMPLATE = VBoxGuestR3Exe
50AdditionsInstCertFiles_SOURCES =
51AdditionsInstCertFiles_CLEAN =
52ifdef VBOX_SIGNING_MODE
53 define def_VBoxAdditionsInstCertFiles
54 AdditionsInstCertFiles_SOURCES += $$(AdditionsInstCertFiles_0_OUTDIR)/$(1)=>$1
55 AdditionsInstCertFiles_CLEAN += $$(AdditionsInstCertFiles_0_OUTDIR)/$(1)
56 $$$$(AdditionsInstCertFiles_0_OUTDIR)/$(1): $$(2) | $$$$(dir $$$$@) $(VBOX_RTSIGNTOOL)
57 $(QUIET)$(RM) -f -- "$$@"
58 $(VBOX_RTSIGNTOOL) extract-exe-signer-cert --signature-index $3 --exe "$$<" --output "$$@" --der
59 endef
60
61 if !defined(VBOX_CERTIFICATE_SHA2_SUBJECT_NAME) && !$(intersects win all 1,$(VBOX_WITH_CORP_CODE_SIGNING))
62 $(evalcall2 def_VBoxAdditionsInstCertFiles,vbox.cer,$(VBOX_PATH_ADDITIONS)/VBoxGuest.sys,0)
63 else
64 $(evalcall2 def_VBoxAdditionsInstCertFiles,vbox-sha1.cer,$(VBOX_PATH_ADDITIONS)/VBoxGuest.sys,0)
65 $(evalcall2 def_VBoxAdditionsInstCertFiles,vbox-sha256.cer,$(VBOX_PATH_ADDITIONS)/VBoxGuest.sys,1)
66 if $(intersects win_planb,$(VBOX_WITH_CORP_CODE_SIGNING))
67 $(evalcall2 def_VBoxAdditionsInstCertFiles,vbox-sha256-r3.cer,$(VBOX_PATH_ADDITIONS)/VBoxCertUtil.exe,1)
68 endif
69 endif
70 ifdef VBOX_WITH_VBOX_LEGACY_TS_CA
71AdditionsInstCertFiles_SOURCES += $(VBOX_LEGACY_TS_CA_FILE)=>vbox-legacy-timestamp-ca.cer
72 endif
73 ifdef VBOX_WITH_GA_ROOT_CERTS_INCLUDED
74 ifdef VBOX_WITH_GA_ROOT_VERISIGN_G5
75AdditionsInstCertFiles_SOURCES += \
76 $(VBOX_PATH_SRC_CERTIFICATES)/CaRoot-VeriSignPca3G5-18dad19e267de8bb4a2158cdcc6b3b4a.crt=>root-versign-pca3-g5.cer
77 endif
78 ifdef VBOX_WITH_GA_ROOT_DIGICERT_ASSURED_ID
79AdditionsInstCertFiles_SOURCES += \
80 $(VBOX_PATH_SRC_CERTIFICATES)/CaRoot-DigiCertAssuredIDRootCA-0ce7e0e517d846fe8fe560fc1bf03039.crt=>root-digicert-assured-id.cer
81 endif
82 ifdef VBOX_WITH_GA_ROOT_DIGICERT_HIGH_ASSURANCE_EV
83AdditionsInstCertFiles_SOURCES += \
84 $(VBOX_PATH_SRC_CERTIFICATES)/CaRoot-DigiCertHighAssuranceEVRootCA-02ac5c266a0b409b8f0b79f2ae462577.crt=>root-digicert-high-assurance-ev.cer
85 endif
86 endif
87endif
88
89#
90# Install the registry file for bypassing the Windows 11 installer checks.
91#
92INSTALLS += AdditionsInstW11Bypass
93AdditionsInstW11Bypass_INST = $(INST_ADDITIONS)
94AdditionsInstW11Bypass_MODE = a+r,u+w
95AdditionsInstW11Bypass_SOURCES = windows11-bypass.reg
96
97include $(FILE_KBUILD_SUB_FOOTER)
98
Note: See TracBrowser for help on using the repository browser.

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