VirtualBox

Changeset 64936 in vbox


Ignore:
Timestamp:
Dec 17, 2016 12:04:43 AM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
112349
Message:

Additions/win: Don't depend on the checked in certificate, but rather extract the code signing certificates from VBoxGuest.sys and VBoxCertUtil.exe.

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc/manual/en_US/user_GuestAdditions.xml

    r62238 r64936  
    360360        <title>Unattended Installation</title>
    361361
    362         <para>As a prerequisite for performing an unattended installation of the
    363         VirtualBox Guest Additions on a Windows guest, there need to be
    364         Oracle CA (Certificate Authority)
    365         certificates installed in order to prevent user intervention popups which
    366         will undermine a silent installation.</para>
     362        <para>As a prerequisite for avoid popups during performing an
     363        unattended installation of the VirtualBox Guest Additions, the code
     364        signing certificates used to sign the drivers needs to be installed in
     365        the right certificates stores in the guest system.  Failing to do this
     366        will cause a typical windows installation to pop up a dialog asking
     367        whether its allowable to install each driver.</para>
    367368
    368369        <note><para>On some Windows versions like Windows 2000 and Windows XP the user intervention
    369370        popups mentioned above always will be displayed, even after importing the Oracle certificates.</para></note>
    370371
    371         <para>Since VirtualBox 4.2 installing those CA certificates on a Windows
    372         guest can be done in an automated fashion using the
     372        <para>Since VirtualBox 4.2 installing those code signing certificates
     373        on a Windows guest can be done in an automated fashion using the
    373374        <computeroutput>VBoxCertUtil.exe</computeroutput> utility found on the Guest
    374375        Additions installation CD in the <computeroutput>cert</computeroutput>
     
    391392
    392393          <listitem>
    393             <para>Do<screen>VBoxCertUtil add-trusted-publisher oracle-vbox.cer --root oracle-vbox.cer</screen></para>
     394            <para>Do<screen>for %i in (vbox*.cer) do VBoxCertUtil add-trusted-publisher %i --root %i</screen></para>
    394395            <para>This will install the certificates to the certificate store. When installing the same certificate
    395396            more than once, an appropriate error will be displayed.</para>
     
    397398        </itemizedlist>
    398399
    399         <para>Prior to VirtualBox 4.2 the Oracle CA certificates need to be imported in more manual style
     400        <para>Prior to VirtualBox 4.2 the code signing certificates need to be imported in more manual style
    400401        using the <computeroutput>certutil.exe</computeroutput> utility, which is shipped since Windows
    401         Vista. For Windows versions before Vista you need to download and install <computeroutput>certutil.exe</computeroutput>
     402        Vista.  For Windows versions before Vista you need to download and install <computeroutput>certutil.exe</computeroutput>
    402403        manually. Since the certificates are not accompanied on the VirtualBox Guest Additions CD-ROM
    403404        prior to 4.2, these need to get extracted from a signed VirtualBox executable first.</para>
  • trunk/src/VBox/Additions/Makefile.kmk

    r64935 r64936  
    264264
    265265if defined(VBOX_WITH_ADDITIONS_ISO.win.amd64) || defined(VBOX_WITH_ADDITIONS_ISO.win.x86)
    266  ifndef VBOX_SIGNING_MODE
    267  GUESTADDITIONS_FILESPEC.win = cert/oracle-vbox.cer=$(VBOX_PATH_ADDITIONS_SRC)/WINNT/tools/oracle-vbox.cer
     266 ifdef VBOX_SIGNING_MODE
     267  GUESTADDITIONS_FILESPEC.win =
    268268 else if "$(VBOX_WITH_CORP_CODE_SIGNING)" == "all" || (!defined(VBOX_CERTIFICATE_SHA2_SUBJECT_NAME) && !defined(VBOX_WITH_CORP_CODE_SIGNING))
    269  GUESTADDITIONS_FILESPEC.win = cert/oracle-vbox.cer=$(VBOX_PATH_ADDITIONS.win)/oracle-vbox.cer
     269  GUESTADDITIONS_FILESPEC.win = cert/vbox.cer=$(VBOX_PATH_ADDITIONS.win)/vbox.cer
    270270 else
    271271  GUESTADDITIONS_FILESPEC.win = \
    272         cert/oracle-vbox1.cer=$(VBOX_PATH_ADDITIONS.win)/oracle-vbox1.cer \
    273         cert/oracle-vbox256.cer=$(VBOX_PATH_ADDITIONS.win)/oracle-vbox256.cer
     272        cert/vbox-sha1.cer=$(VBOX_PATH_ADDITIONS.win)/vbox-sha1.cer \
     273        cert/vbox-sha256.cer=$(VBOX_PATH_ADDITIONS.win)/vbox-sha256.cer
    274274  if defined(VBOX_CERTIFICATE_SHA2_SUBJECT_NAME) && defined(VBOX_WITH_CORP_CODE_SIGNING)
    275    GUESTADDITIONS_FILESPEC.win += cert/oracle-vbox256-r3.cer=$(VBOX_PATH_ADDITIONS.win)/oracle-vbox256-r3.cer
     275   GUESTADDITIONS_FILESPEC.win += cert/vbox-sha256-r3.cer=$(VBOX_PATH_ADDITIONS.win)/vbox-sha256-r3.cer
    276276  endif
    277277 endif
    278 
    279 endif
    280   $$(VBoxStub_0_OUTDIR)/VBoxStubPublicCert.h:  | $$(dir $$@) $(VBOX_RTSIGNTOOL) $(PATH_STAGE_SYS)/VBoxDrv.sys
    281         $(RM) -f -- "$@" "[email protected]" "[email protected]" "[email protected]" "[email protected]"
    282 
    283         $(VBOX_RTSIGNTOOL) extract-exe-signer-cert --signature-index 0 --exe "$(PATH_STAGE_SYS)/VBoxDrv.sys" --output "[email protected]" --der
    284         $(VBOX_BIN2C) -ascii --append VBoxStubTrustedCert0 "[email protected]" $@
    285         $(APPEND) "[email protected]" "    { g_abVBoxStubTrustedCert0, sizeof(g_abVBoxStubTrustedCert0) }, "
    286   if defined(VBOX_CERTIFICATE_SHA2_SUBJECT_NAME) && (!defined(VBOX_WITH_CORP_CODE_SIGNING) || "$(VBOX_WITH_CORP_CODE_SIGNING)" != "all")
    287         $(VBOX_RTSIGNTOOL) extract-exe-signer-cert --signature-index 1 --exe "$(PATH_STAGE_SYS)/VBoxDrv.sys" --output "[email protected]" --der
    288         $(VBOX_BIN2C) -ascii --append VBoxStubTrustedCert1 "[email protected]" $@
    289         $(APPEND) "[email protected]" "    { g_abVBoxStubTrustedCert1, sizeof(g_abVBoxStubTrustedCert1) }, "
    290   endif
    291   if defined(VBOX_WITH_CORP_CODE_SIGNING) && "$(VBOX_WITH_CORP_CODE_SIGNING)" != "all" && "$(VBOX_SIGNING_MODE)" == "release"
    292         $(VBOX_RTSIGNTOOL) extract-exe-signer-cert --signature-index 1 --exe "$(VBOX_RTSIGNTOOL)" --output "[email protected]" --der
    293         $(VBOX_BIN2C) -ascii --append g_abVBoxStubTrustedCert2 "[email protected]" $@
    294         $(APPEND) "[email protected]" "    { g_abVBoxStubTrustedCert2, sizeof(g_abVBoxStubTrustedCert2) }, "
    295   endif
    296         $(APPEND) -n "$@" \
    297                 "" \
    298                 "struct { uint8_t const *pab; uint32_t cb; }" "g_aVBoxStubTrustedCerts[] = " \
    299                "{"
    300         $(SED) --append "$@" -e "" "[email protected]"
    301         $(APPEND) -n "$@" \
    302                "};"
    303         $(RM) -f -- "[email protected]" "[email protected]" "[email protected]" "[email protected]"
    304 
    305   VBoxStubPublicCert.h:: $$(VBoxStub_0_OUTDIR)/VBoxStubPublicCert.h
    306 
     278endif
    307279
    308280# haiku
  • trunk/src/VBox/Additions/WINNT/tools/Makefile.kmk

    r64935 r64936  
    5858
    5959 if "$(VBOX_WITH_CORP_CODE_SIGNING)" == "all" || (!defined(VBOX_CERTIFICATE_SHA2_SUBJECT_NAME) && !defined(VBOX_WITH_CORP_CODE_SIGNING))
    60   $(evalcall2 def_VBoxAdditionsInstCertFiles,oracle-vbox.cer,$(VBOX_PATH_ADDITIONS)/VBoxGuest.sys,0)
     60  $(evalcall2 def_VBoxAdditionsInstCertFiles,vbox.cer,$(VBOX_PATH_ADDITIONS)/VBoxGuest.sys,0)
    6161 else
    62   $(evalcall2 def_VBoxAdditionsInstCertFiles,oracle-vbox-sha1.cer,$(VBOX_PATH_ADDITIONS)/VBoxGuest.sys,0)
    63   $(evalcall2 def_VBoxAdditionsInstCertFiles,oracle-vbox-sha256.cer,$(VBOX_PATH_ADDITIONS)/VBoxGuest.sys,1)
     62  $(evalcall2 def_VBoxAdditionsInstCertFiles,vbox-sha1.cer,$(VBOX_PATH_ADDITIONS)/VBoxGuest.sys,0)
     63  $(evalcall2 def_VBoxAdditionsInstCertFiles,vbox-sha256.cer,$(VBOX_PATH_ADDITIONS)/VBoxGuest.sys,1)
    6464  if defined(VBOX_CERTIFICATE_SHA2_SUBJECT_NAME) && defined(VBOX_WITH_CORP_CODE_SIGNING)
    65    $(evalcall2 def_VBoxAdditionsInstCertFiles,oracle-vbox-sha256-r3.cer,$(VBOX_PATH_ADDITIONS)/VBoxCertUtil.exe,1)
     65   $(evalcall2 def_VBoxAdditionsInstCertFiles,vbox-sha256-r3.cer,$(VBOX_PATH_ADDITIONS)/VBoxCertUtil.exe,1)
    6666  endif
    6767 endif
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