Unsignierten Treiber unter Windows 7 signieren
Wer Windows 7 verwendet hat sicher schon festgestellt, dass das OS mault wenn ein unsignierter Treiber installiert werden soll. Das ist im Heimgebrauch zwar kein Problem, wer aber in großen Umgebungen arbeitet und Software auf professionelle weise verteilen muss (per GPO oder SCCM), wird sich hier schnell die Haare raufen.
Ein Möglichkeit diesem Problem aus dem Weg zu gehen ist den Treiber nachträglich zu signieren.
Diese Anleitung soll die vielen kleinen Schnipsel an Hilfen zum Thema treibersignierung unter W7, die sich im Inet finden, zusammenführen. Ich habe Tage damit verbracht kleine Puzzelteile zu sammeln, zu testen und zu studieren. Damit das nicht unbedingt jeder aufs neue machen muss, hier mein howTo dazu.
Dieses Beispiel signiert den Treiber für FreePDF per Machine, sprich, der Treiber ist für den gesamten PC XYZ gültig. Man könnte aber auch ein Signierung per User vornehmen was nicht sinnvoll ist, wenn sich verschiedenen Mitarbeiter am PC anmelden.
Als erstes werden einige Tools benötigt die sich alle im Windows Driver Kit befinden. Download: http://msdn.microsoft.com/en-US/windows/hardware/gg454513/
Nach der Installation des Toolkit kann man sich auf die Suche nach den Tools begeben und diese in einen eigenen Ordner kopieren. Vorsicht! Einige Tools benötigen zusätzliche Komponenten.
Eine Liste hier:
Danach sollte noch die aktuelle Version von FreePDF gezogen werden. Hier: http://freepdfxp.de/
Und das aktuelle GS. Hier: http://www.ghostscript.com/download/gsdnld.html
Bitte darauf achten, dass es die 32-Bit-Version von GS ist, auch wenn man ein x64- System verwendet!
Nun sind wir gerüstet um erfolgreich Treiber zu signieren!
1) Die geladene EXE von FreePDF in eine eigenen Ordner entpacken
2) Darin enthalten ist eine freepdfxp.inf. Diese muss zuerst bearbeitet werden wie hier gezeigt:
Speziell geht es um diesen Eintrag: DriverVer=xxxxxxxxxx Der muss geändert werden auf: DriverVer=04/21/2009,1.0.0.0 weil CERTUTIL sonst seine Arbeit nicht richtig tut.
3) Nun die Konsole öffnen und zum Ordner der kopierten Tools navigieren
4) Der folgende Befehl legt eine eigenen Store im Certstore an und dort das eigentliche Zertifikat das wir benötigen
5) Öffnen wir nun den Certstore (Start ==> Ausführen ==> Datei ==> Snapin hinzufügen ==> Zertifikate ==> Computerkonto ==> Lokaler Computer ==> OK) kann man einen eigenen Store "FreePDF" sehen und das darin enthaltenen Zertifikat:
6) Danach muss das Zertifikat exportiert werden
7) Und von dort wird es nun in die Certstores "Vertrauenswürdige Stammzertifikate" und "Vertrauenswürdige Herausgeber" importiert
8) Anschließend eine CAT-Datei erstellen welche das Zertifikat und die freepdfxp.inf quasi miteinander verheiratet
9) Fertig zur Installation! Zuerst GS installieren, anschließend fpsetup.exe aufrufen (Liegt in dem Pfad wo nun auch die OEMPRINT.CAT liegen sollte)
10) Windows7 schreit nicht mehr auf, der Treiber wird problemlos akzeptiert. Nun sollte das ganze natürlich in ein Script verpackt werden, damit die Verteilung per SCCM oder GPO auch funktioniert.
Viel Spaß beim Basteln!
PS: Eine Anleitung, aber nicht so Detailreich wie man sie gerne hätte gibt es auf TechNet: hier und hier
Ein Möglichkeit diesem Problem aus dem Weg zu gehen ist den Treiber nachträglich zu signieren.
Diese Anleitung soll die vielen kleinen Schnipsel an Hilfen zum Thema treibersignierung unter W7, die sich im Inet finden, zusammenführen. Ich habe Tage damit verbracht kleine Puzzelteile zu sammeln, zu testen und zu studieren. Damit das nicht unbedingt jeder aufs neue machen muss, hier mein howTo dazu.
Dieses Beispiel signiert den Treiber für FreePDF per Machine, sprich, der Treiber ist für den gesamten PC XYZ gültig. Man könnte aber auch ein Signierung per User vornehmen was nicht sinnvoll ist, wenn sich verschiedenen Mitarbeiter am PC anmelden.
Als erstes werden einige Tools benötigt die sich alle im Windows Driver Kit befinden. Download: http://msdn.microsoft.com/en-US/windows/hardware/gg454513/
Nach der Installation des Toolkit kann man sich auf die Suche nach den Tools begeben und diese in einen eigenen Ordner kopieren. Vorsicht! Einige Tools benötigen zusätzliche Komponenten.
Eine Liste hier:
Danach sollte noch die aktuelle Version von FreePDF gezogen werden. Hier: http://freepdfxp.de/
Und das aktuelle GS. Hier: http://www.ghostscript.com/download/gsdnld.html
Bitte darauf achten, dass es die 32-Bit-Version von GS ist, auch wenn man ein x64- System verwendet!
Nun sind wir gerüstet um erfolgreich Treiber zu signieren!
1) Die geladene EXE von FreePDF in eine eigenen Ordner entpacken
2) Darin enthalten ist eine freepdfxp.inf. Diese muss zuerst bearbeitet werden wie hier gezeigt:
Speziell geht es um diesen Eintrag: DriverVer=xxxxxxxxxx Der muss geändert werden auf: DriverVer=04/21/2009,1.0.0.0 weil CERTUTIL sonst seine Arbeit nicht richtig tut.
3) Nun die Konsole öffnen und zum Ordner der kopierten Tools navigieren
4) Der folgende Befehl legt eine eigenen Store im Certstore an und dort das eigentliche Zertifikat das wir benötigen
MAKECERT.EXE -r -n "CN=<Name des Zertifikats>" -ss <Name des Stores> -sr LocalMachine
6) Danach muss das Zertifikat exportiert werden
CERTUTIL.exe -store FreePDF "SignedFreePDF" "<Speicherort\zertifikat.cer>"
certmgr.exe -add -all -c "<Speicherort\zertifikat.cer>" -s -r localmachine root
certmgr.exe -add -all -c "<Speicherort\zertifikat.cer>" -s -r localmachine trustedpublisher
inf2cat.exe /driver:"<Pfad zum Ordner der freepdfxp.inf>" /os:7_x64
Der Eintrag /os:7_x64 ist variabel. Für ein Xp X86 lautet er: /os:xp_x86
signtool.exe sign /s FreePDF / n "SignedFreePDF" /t http://timestamp.verisign.com/scripts/timestamp.dll "<der Pfad wo auch die freepdfxp.inf liegt\oemprint.cat>"
10) Windows7 schreit nicht mehr auf, der Treiber wird problemlos akzeptiert. Nun sollte das ganze natürlich in ein Script verpackt werden, damit die Verteilung per SCCM oder GPO auch funktioniert.
Viel Spaß beim Basteln!
PS: Eine Anleitung, aber nicht so Detailreich wie man sie gerne hätte gibt es auf TechNet: hier und hier
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 186522
Url: https://administrator.de/tutorial/unsignierten-treiber-unter-windows-7-signieren-186522.html
Ausgedruckt am: 22.12.2024 um 11:12 Uhr
1 Kommentar