VirtualBox

Changeset 6760 in vbox


Ignore:
Timestamp:
Feb 2, 2008 8:16:17 PM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
27843
Message:

Implemented test signing. Documented under CodeSigning in the wiki.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r6755 r6760  
    10991099
    11001100#
    1101 # Coding Signing.
     1101# Code Signing.
    11021102#
    11031103ifdef VBOX_SIGNING_MODE
     
    11131113  VBOX_INF2CAT  ?= $(VBOX_PATH_SELFSIGN)/Inf2Cat.exe
    11141114
    1115   # There are three signing modes; 'self', 'development' and 'release'.
    1116   ifeq ($(strip $(VBOX_SIGNING_MODE)),self)
    1117    ## @todo Figure out selfsigning and put up some docs in the wiki.
     1115  # There are three signing modes; 'test', 'development' and 'release'.
     1116  ifeq ($(strip $(VBOX_SIGNING_MODE)),test)
     1117   VBOX_CERTIFICATE_SUBJECT_NAME ?= MyTestCertificate
     1118   VBOX_CERTIFICATE_SUBJECT_NAME_ARGS ?= /n "$(VBOX_CERTIFICATE_SUBJECT_NAME)"
    11181119  else if1of ($(VBOX_SIGNING_MODE),release development)
     1120   VBOX_CERTIFICATE_SUBJECT_NAME ?= innotek GmbH
     1121   VBOX_CERTIFICATE_SUBJECT_NAME_ARGS ?= /n "$(VBOX_CERTIFICATE_SUBJECT_NAME)"
    11191122   VBOX_CROSS_CERTIFICATE_FILE ?= $(VBOX_PATH_SELFSIGN)/MSCV-GlobalSign.cer
    11201123   VBOX_CROSS_CERTIFICATE_FILE_ARGS ?= /ac "$(VBOX_CROSS_CERTIFICATE_FILE)"
    1121    VBOX_CERTIFICATE_SUBJECT_NAME ?= innotek GmbH
    1122    VBOX_CERTIFICATE_SUBJECT_NAME_ARGS ?= /n "$(VBOX_CERTIFICATE_SUBJECT_NAME)"
    1123    VBOX_CERTIFICATE_STORE ?= my
    1124    VBOX_CERTIFICATE_STORE_ARGS ?= /s "$(VBOX_CERTIFICATE_STORE)"
    11251124   VBOX_TSA_URL ?= http://timestamp.verisign.com/scripts/timestamp.dll
    11261125   VBOX_TSA_URL_ARGS ?= /t "$(VBOX_TSA_URL)"
    1127    ## Commands for signing a driver image after link.
    1128    VBOX_SIGN_DRIVER_CMDS ?= $(if $(eq $(tool_do),LINK_LIBRARY),,$(call VBOX_SIGN_FILE_FN,$(out)))
    1129    ## Sign a file.
    1130    # @param 1  The file to sign.
    1131    VBOX_SIGN_FILE_FN     ?= $(VBOX_SIGNTOOL) sign \
    1132                 $(VBOX_CROSS_CERTIFICATE_FILE_ARGS) \
    1133                 $(VBOX_CERTIFICATE_STORE_ARGS) \
    1134                 $(VBOX_CERTIFICATE_SUBJECT_NAME_ARGS) \
    1135                 $(VBOX_TSA_URL_ARGS) \
    1136                 $(1)
    1137    ## Create a security catalog file.
    1138    # @param 1  The directory containing the stuff to sign.
    1139    # @param 2  The expected .cat name. (Inf2Cat lowercases it)
    1140    # @param 3  The list of OSes, separated by ';'.
    1141    VBOX_MAKE_CAT_HLP_FN ?= \
    1142                 $(RM) -f $(2)\
    1143                 $(NL)$(TAB)$(VBOX_INF2CAT) /driver:$(strip $(1)) /os:$(strip $(subst ;,$(COMMA),$(3))) /verbose \
    1144                 $(NL)$(TAB)$(MV) $(2) $(2) \
    1145                 $(NL)$(TAB)$(call VBOX_SIGN_FILE_FN,$(2))
    1146    VBOX_MAKE_CAT64_FN   ?= $(call VBOX_MAKE_CAT_HLP_FN,$(1),$(2),XP_X64;Server2003_X64;Vista_X64)
    1147    VBOX_MAKE_CAT32_FN   ?= $(call VBOX_MAKE_CAT_HLP_FN,$(1),$(2),2000;XP_X86;Server2003_X86;Vista_X86)
    1148    ifeq ($(BUILD_TARGET_ARCH),x86)
    1149     VBOX_MAKE_CAT_FN    ?= $(call VBOX_MAKE_CAT32_FN,$(1),$(2))
    1150    else
    1151     VBOX_MAKE_CAT_FN    ?= $(call VBOX_MAKE_CAT64_FN,$(1),$(2))
    1152    endif
    1153 
    1154    # Go nuts, sign everything.
    1155    ifeq ($(strip $(VBOX_SIGNING_MODE)),release)
    1156     ## Commands for signing an executable or a dll image after link.
    1157     VBOX_SIGN_IMAGE_CMDS  ?= $(if $(eq $(tool_do),LINK_LIBRARY),,$(call VBOX_SIGN_FILE_FN,$(out)))
    1158     ## Enable signing of the additions.
    1159     VBOX_SIGN_ADDITIONS   ?= 1
    1160    endif
    1161 
    11621126  else
    11631127   $(error Unknown VBOX_SIGNING_MODE: $(VBOX_SIGNING_MODE))
    11641128  endif
     1129  VBOX_CERTIFICATE_STORE ?= my
     1130  VBOX_CERTIFICATE_STORE_ARGS ?= /s "$(VBOX_CERTIFICATE_STORE)"
     1131
     1132  ## Commands for signing a driver image after link.
     1133  VBOX_SIGN_DRIVER_CMDS ?= $(if $(eq $(tool_do),LINK_LIBRARY),,$(call VBOX_SIGN_FILE_FN,$(out)))
     1134  ## Sign a file.
     1135  # @param 1  The file to sign.
     1136  VBOX_SIGN_FILE_FN     ?= $(VBOX_SIGNTOOL) sign \
     1137        $(VBOX_CROSS_CERTIFICATE_FILE_ARGS) \
     1138        $(VBOX_CERTIFICATE_STORE_ARGS) \
     1139        $(VBOX_CERTIFICATE_SUBJECT_NAME_ARGS) \
     1140        $(VBOX_TSA_URL_ARGS) \
     1141        $(1)
     1142  ## Create a security catalog file.
     1143  # @param 1  The directory containing the stuff to sign.
     1144  # @param 2  The expected .cat name. (Inf2Cat lowercases it)
     1145  # @param 3  The list of OSes, separated by ';'.
     1146  VBOX_MAKE_CAT_HLP_FN ?= \
     1147        $(RM) -f $(2)\
     1148        $(NL)$(TAB)$(VBOX_INF2CAT) /driver:$(strip $(1)) /os:$(strip $(subst ;,$(COMMA),$(3))) /verbose \
     1149        $(NL)$(TAB)$(MV) $(2) $(2) \
     1150        $(NL)$(TAB)$(call VBOX_SIGN_FILE_FN,$(2))
     1151  VBOX_MAKE_CAT64_FN   ?= $(call VBOX_MAKE_CAT_HLP_FN,$(1),$(2),XP_X64;Server2003_X64;Vista_X64)
     1152  VBOX_MAKE_CAT32_FN   ?= $(call VBOX_MAKE_CAT_HLP_FN,$(1),$(2),2000;XP_X86;Server2003_X86;Vista_X86)
     1153  ifeq ($(BUILD_TARGET_ARCH),x86)
     1154   VBOX_MAKE_CAT_FN    ?= $(call VBOX_MAKE_CAT32_FN,$(1),$(2))
     1155  else
     1156   VBOX_MAKE_CAT_FN    ?= $(call VBOX_MAKE_CAT64_FN,$(1),$(2))
     1157  endif
     1158
     1159  # Go nuts, sign everything.
     1160  ifeq ($(strip $(VBOX_SIGNING_MODE)),release)
     1161   ## Commands for signing an executable or a dll image after link.
     1162   VBOX_SIGN_IMAGE_CMDS  ?= $(if $(eq $(tool_do),LINK_LIBRARY),,$(call VBOX_SIGN_FILE_FN,$(out)))
     1163   ## Enable signing of the additions.
     1164   VBOX_SIGN_ADDITIONS   ?= 1
     1165  endif
    11651166 else
     1167  # Not windows build platform, ignore.
    11661168  VBOX_SIGNING_MODE :=
    11671169 endif
Note: See TracChangeset for help on using the changeset viewer.

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