Windows: Code signing with cross-signed certificates
authorJeffrey Altman <jaltman@secure-endpoints.com>
Sat, 14 Nov 2009 21:24:41 +0000 (16:24 -0500)
committerJeffrey Altman <jaltman|account-1000011@unknown>
Mon, 16 Nov 2009 22:53:29 +0000 (14:53 -0800)
Permit the version of signtool.exe to be specified with
the SIGNTOOL environment variable.

Add the CODESIGN_CROSS_CERT environment variable to
specify the cross-signed certificate to be used

LICENSE MIT

Change-Id: Ib549e31f1f240e0de2cedfabac9bb998ee58a517
Reviewed-on: http://gerrit.openafs.org/825
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

src/config/NTMakefile.amd64_w2k
src/config/NTMakefile.i386_w2k

index 0624eed..554808b 100644 (file)
@@ -314,9 +314,15 @@ _VC_MANIFEST_EMBED_EXE=
 _VC_MANIFEST_EMBED_DLL=
 !ENDIF
 
+!IF "$(SIGNTOOL)" == ""
+SIGNTOOL=signtool.exe
+!ENDIF
+
 !IF DEFINED(CODESIGN_DESC) && DEFINED(CODESIGN_URL) && DEFINED(CODESIGN_TIMESTAMP)
-CODESIGN_USERLAND= signtool.exe sign /a /d "$(CODESIGN_DESC)" /du $(CODESIGN_URL) \
-        /t $(CODESIGN_TIMESTAMP) /v $@
+CODESIGN_USERLAND= "$(SIGNTOOL)" sign /a /d "$(CODESIGN_DESC)" /du $(CODESIGN_URL) /t $(CODESIGN_TIMESTAMP) /v $@
+!IF "$(CODESIGN_CROSS_CERT)" != ""
+CODESIGN_KERNEL= "$(SIGNTOOL)" sign /a /d "$(CODESIGN_DESC)" /du $(CODESIGN_URL) /t $(CODESIGN_TIMESTAMP) /ac "$(CODESIGN_CROSS_CERT)" /v
+!ENDIF
 !ELSE
 CODESIGN_USERLAND=
 !ENDIF
index 3afdb76..47dbb92 100644 (file)
@@ -321,9 +321,17 @@ _VC_MANIFEST_EMBED_EXE=
 _VC_MANIFEST_EMBED_DLL=
 !ENDIF
 
+!IF "$(SIGNTOOL)" == ""
+SIGNTOOL=signtool.exe
+!ENDIF
+
 !IF DEFINED(CODESIGN_DESC) && DEFINED(CODESIGN_URL) && DEFINED(CODESIGN_TIMESTAMP)
-CODESIGN_USERLAND= signtool.exe sign /a /d "$(CODESIGN_DESC)" /du $(CODESIGN_URL) \
+CODESIGN_USERLAND= $(SIGNTOOL) sign /a /d "$(CODESIGN_DESC)" /du $(CODESIGN_URL) \
         /t $(CODESIGN_TIMESTAMP) /v $@
+!IF "$(CODESIGN_CROSS_CERT)" != ""
+CODESIGN_KERNEL= $(SIGNTOOL) sign /a /d "$(CODESIGN_DESC)" /du $(CODESIGN_URL) \
+        /t $(CODESIGN_TIMESTAMP) /ac "$(CODESIGN_CROSS_CERT)" /v
+!ENDIF
 !ELSE
 CODESIGN_USERLAND=
 !ENDIF