4 rem Sign device drivers for architectures specified
\r
7 rem signDrivers CrossCertFilename CertStoreName path-2-drivers {noTimeStamp}
\r
8 rem CrossCertFilename - fully qualified path\filename of cross cert.
\r
9 rem CertStoreName - name of certificate in 'MY' Cert store (certmgr).
\r
11 rem example: signDrivers %CD%\Cross-Cert SWPublisher bin\hca
\r
13 rem cmd.exe /V:on (delayed environment variable expansion) is required!
\r
16 if not "!F!" == "off" (
\r
17 echo Err: cmd.exe /V:on [delayed environment variable expansion] Required!
\r
22 set DU=/du http://www.openfabrics.org
\r
24 set Usage='usage: signDrivers CrossCertFilename CertStoreName path-2-drivers {noTimeStamp}'
\r
27 echo %0 - missing CertFileName?
\r
33 echo %0 - Cert file missing?
\r
38 rem %2 is already quoted.
\r
40 echo %0 - missing Cert Subject Name?
\r
46 echo %0 - missing path-2-driver files?
\r
51 rem Timestamp the signed file unless instructed not to.
\r
53 set TS=/t http://timestamp.verisign.com/scripts/timstamp.dll
\r
58 rem make sure signtool is accessible in our path
\r
60 findstr /c:"SelfSign" jnk.txt > jnk1.txt
\r
61 if %errorlevel% EQU 1 (
\r
62 path "%PATH%;C:\WinDDK\6001.18001\bin\SelfSign"
\r
64 if exist jnk1.txt del /Q /F jnk1.txt
\r
65 if exist jnk.txt del /Q /F jnk.txt
\r
67 rem move to drivers folder
\r
70 echo %0 - missing relative path %3
\r
75 rem Sign drivers only for x86 architecture
\r
77 for %%d in ( x86 ) do (
\r
80 echo %0 - skipping arch folder %%d
\r
83 echo %0 - Delete existing %%d .cat files
\r
84 for %%f in ( *.cat ) do (
\r
85 if exist %%f del /F /Q %%f
\r
88 if "%%d" == "x86" set OEA=%OE%_X86
\r
89 rem if "%%d" == "amd64" set OEA=%OE%_X64
\r
90 rem if "%%d" == "ia64" set OEA=%OE%_IA64
\r
92 echo %0 - Generating %%d .cat files for !OEA!
\r
93 inf2cat /driver:!CD! /os:!OEA!
\r
95 echo %CD% inf2cat failed
\r
98 echo %0 - Signing %%d .cat files
\r
99 for %%f in ( *.cat ) do (
\r
100 echo %0 - Signing %%d\%%f
\r
101 signtool sign /ac %1 /n %2 %TS% %DU% %%f
\r
103 echo %0 signtool sign %%f failed?
\r
104 echo %0 file %CD%\%%f
\r
107 signtool verify /kp %%f
\r
109 echo %0 signtool verify %%f failed?
\r
110 echo %0 file %CD%\%%f
\r
116 echo %0 - Signing %%d .sys files
\r
117 for %%f in ( *.sys ) do (
\r
118 echo %0 - Signing %%d\%%f
\r
119 signtool sign /ac %1 /n %2 %TS% %DU% %%f
\r
121 echo %0 signtool sign %%f failed?
\r
122 echo %0 file %CD%\%%f
\r
125 signtool verify /kp %%f
\r
127 echo %0 signtool verify %%f failed?
\r
128 echo %0 file %CD%\%%f
\r
134 echo %0 - Verify %%d .cat + .sys files
\r
135 for %%f in ( *.sys ) do (
\r
139 echo %0 - Verify %%d\!C! %%d\%%f
\r
140 signtool verify /q /kp /c !C! %%f
\r
142 echo %0 signtool verify /kp /c !C! %%f failed?
\r
145 signtool verify /pa /c !C! %%f
\r
147 echo %0 signtool verify /pa /c !C! %%f failed?
\r
158 echo %0 - Finished: %0 %1 %2 %OE%
\r