2c582d23bc58a3b4bd01209cc674e67b0f1bfe45
[mirror/winof/.git] / WinOF / WIX / sign-all-drivers.bat
1 @echo off\r
2 setlocal\r
3 rem\r
4 rem Digitally sign all drivers for all OSes & architectures.\r
5 rem\r
6 rem example - sign-all-drivers CertFilename CertSubjName {noTimeStamp}\r
7 rem   CertFilename - full path to MSCV-VSClass3.cer file\r
8 rem                  example ...\trunk\winof\wix\MSCV-VSClass3.cer\r
9 rem   CertSubjName - "OpenFabricsAlliance" Your Company CertName in CertStore. \r
10 rem see TS below.\r
11 rem\r
12 \r
13 if "%1" == "" (\r
14     echo %0 - Missing CertStore Filename?\r
15     exit /B 1\r
16 )\r
17 \r
18 if not EXIST %1 (\r
19     echo %0 - Missing Certificate file?\r
20     echo %0 -    %1\r
21     exit /B 1\r
22 )\r
23 \r
24 if %2 == "" (\r
25     echo %0 - Missing Cert Subject name?\r
26     exit /B 1\r
27 )\r
28 \r
29 rem XXX defeat TimeStamping until net access resolved.\r
30 rem set TS=noTimeStamp\r
31 \r
32 for %%p in ( win7 wlh wnet wxp ) do (\r
33     echo %0 - Signing %%p drivers\r
34     pushd %%p\r
35     if ERRORLEVEL 1 (\r
36         echo %0 - Error in pushd %%p folder ?\r
37         exit /B 1\r
38     )\r
39     rem Sign free HCA drivers\r
40     call signDrivers %1 %2 bin\HCA %TS%\r
41     if ERRORLEVEL 1 (\r
42         echo %0 - Error signing %%p\bin\HCA drivers?\r
43         exit /B 1\r
44     )\r
45     rem Sign checked HCA drivers\r
46     call signDrivers %1 %2 bin\Chk\HCA %TS%\r
47     if ERRORLEVEL 1 (\r
48         echo %0 - Error signing %%p\bin\Chk\HCA drivers?\r
49         exit /B 1\r
50     )\r
51         \r
52     rem Sign free: IPoIB & VNIC drivers\r
53     call signDrivers %1 %2 bin\net %TS%\r
54     if ERRORLEVEL 1 (\r
55         echo %0 - Error signing %%p\bin\net drivers?\r
56         exit /B 1\r
57     )\r
58     rem Sign checked: IPoIB & VNIC drivers\r
59     call signDrivers %1 %2 bin\Chk\net %TS%\r
60     if ERRORLEVEL 1 (\r
61         echo %0 - Error signing %%p\bin\Chk\net drivers?\r
62         exit /B 1\r
63     )\r
64         \r
65     rem Sign free SRP drivers\r
66     call signDrivers %1 %2 bin\storage %TS%\r
67     if ERRORLEVEL 1 (\r
68         echo %0 - Error signing %%p\bin\storage drivers?\r
69         exit /B 1\r
70     )\r
71     rem Sign checked SRP drivers\r
72     call signDrivers %1 %2 bin\Chk\storage %TS%\r
73     if ERRORLEVEL 1 (\r
74         echo %0 - Error signing %%p\bin\Chk\storage drivers?\r
75         exit /B 1\r
76     )\r
77         popd\r
78 )\r
79 \r
80 rem sign executables used in installation so Win7 doesn't complain\r
81 \r
82 set TISTMP=/t http://timestamp.verisign.com/scripts/timstamp.dll\r
83 set DU=/du http://www.openfabrics.org\r
84 \r
85 for %%p in ( win7 wlh wnet wxp ) do (\r
86         pushd %%p\r
87         echo.\r
88         echo Sign %%p Executables\r
89     for %%a in ( amd64 x86 ia64 ) do (\r
90                 for %%f in ( bin\net\%%a\ndinstall.exe bin\net\%%a\installsp.exe ) do (\r
91                         if exist %%f (\r
92                 signtool sign /ac %1 /n %2 %TISTMP% %DU% %%f\r
93                 if ERRORLEVEL 1 (\r
94                         echo %0 signtool sign %%a\%%f failed?\r
95                                         popd\r
96                         exit /B 1\r
97                 )\r
98                 signtool verify /pa %%f\r
99                 if ERRORLEVEL 1 (\r
100                         echo %0 signtool verify %%a\%%f failed?\r
101                                         popd\r
102                         exit /B 1\r
103                 )\r
104                         )\r
105                 )\r
106         )\r
107         popd\r
108 )\r
109 \r
110 rem Sign devman.exe for win7 device cleanup operation.\r
111 \r
112 for %%a in ( x64 x86 ia64 ) do (\r
113         signtool verify /q /pa %%a\devman.exe\r
114         if ERRORLEVEL 1 (\r
115                 signtool sign /ac %1 /n %2 %TISTMP% %DU% %%a\devman.exe\r
116                 if ERRORLEVEL 1 (\r
117                         echo %0 signtool sign %%a\devman.exe failed?\r
118                         exit /B 1\r
119                 )\r
120         )\r
121 )\r
122 \r
123 endlocal\r
124 echo Done %0 %1\r