Hoe u een niet-ondertekend stuurprogramma kunt ondertekenen in Windows x64 (Windows 11, 10, 8.1, 7)
Werken met niet-ondertekende stuurprogramma’s op 64-bits Windows kan een behoorlijke uitdaging zijn. Elke moderne Windows-versie blokkeert ze standaard, omdat niet-ondertekende stuurprogramma’s een beveiligingsrisico vormen. Als je vastzit met oude hardware of een aangepast stuurprogramma dat niet is ondertekend, vraag je je misschien af hoe je dit probleem kunt omzeilen. Het zelf ondertekenen van het stuurprogramma is een goede manier om die vervelende fouten te omzeilen, hoewel het wel een beetje een proces is. Je wilt uiteindelijk een ondertekend stuurprogrammapakket hebben dat Windows voldoende vertrouwt om te installeren zonder fouten te geven, vooral bij gebruik van tools zoals `pnputil`.Niet altijd even eenvoudig, maar zeker haalbaar als je deze stappen volgt. Verwacht dat je je eigen certificaat moet genereren, een catalogusbestand moet maken en de bestanden moet ondertekenen met tools zoals `signtool`.Het is niet zo ingewikkeld als het klinkt, maar wees voorbereid om er wat tijd aan te besteden, vooral aan het werken met certificaten en catalogusbestanden.
Hoe los je problemen op met de installatie van niet-ondertekende stuurprogramma’s in Windows? Stap voor stap.
Maak een zelfondertekend rijbewijscertificaat aan
Dit vormt in feite de basis van alles. Windows vertrouwt uw zelfondertekende certificaat natuurlijk niet automatisch, dus u moet er zelf een aanmaken. Het helpt Windows uw driver als “legitiem genoeg” te beschouwen om te installeren. Waarom het helpt: Het genereert een vertrouwde root-CA die u kunt gebruiken om uw driver te ondertekenen, waardoor Windows minder weerstand biedt tegen installatie. Wanneer is het van toepassing: Wanneer u een niet-ondertekende driver probeert te installeren en fouten krijgt zoals “Het INF-bestand van de derde partij bevat geen informatie over digitale handtekeningen.” Verwacht resultaat: Een nieuw zelfondertekend codeondertekeningscertificaat dat aan uw vertrouwensarchief wordt toegevoegd.Hoe: – Maak eerst een map aan voor uw certificaten, bijvoorbeeld `C:\DriverCert`.- Open PowerShell als beheerder en voer de volgende opdrachten uit: powershell $todaydate = Get-Date $add3year = $todaydate. AddYears(3) $cert = New-SelfSignedCertificate -Subject “WOSHUB” -Type CodeSigningCert -CertStoreLocation cert:\LocalMachine\My -NotAfter $add3year – Exporteer dit certificaat naar een PFX-bestand met wachtwoordbeveiliging (bijvoorbeeld `P@ss0wrd`): powershell $CertPassword = ConvertTo-SecureString -String “P@ss0wrd” -Force -AsPlainText Export-PfxCertificate -Cert $cert -FilePath C:\DriverCert\myDrivers.pfx -Password $CertPassword – U hebt het `.cer`-bestand ook nodig voor later: powershell $certFile = Export-Certificate -Cert $cert -FilePath C:\DriverCert\drivecert.cer – Importeer nu het certificaat in de vertrouwde root- en uitgeversarchieven van Windows (hierdoor accepteert Windows het): powershell Import-Certificate -CertStoreLocation Cert:\LocalMachine\AuthRoot -FilePath C:\DriverCert\drivecert.cer Import-Certificate -CertStoreLocation Cert:\LocalMachine\TrustedPublisher -FilePath C:\DriverCert\drivecert.cer Een korte opmerking: in sommige configuraties moet het certificaat mogelijk handmatig worden toegevoegd via `certlm.msc` als het niet wordt geregistreerd. Praktische tip: in sommige configuraties vertrouwt Windows uw certificaat niet meteen, dus mogelijk moet u de computer opnieuw opstarten of opnieuw inloggen.—
Maak het catalogusbestand (.CAT) voor uw stuurprogramma aan.
Windows zoekt nu naar een catalogusbestand dat al uw stuurprogramma’s hasht en bevestigt dat er niet mee is geknoeid. Waarom dit helpt: Een catalogusbestand koppelt uw stuurprogramma’s aan uw handtekening, waardoor Windows de installatie gemakkelijker kan uitvoeren. Wanneer dit van toepassing is: Wanneer de stuurprogramma’s (.sys, .inf) niet zijn ondertekend of als u de installatie van de stuurprogramma’s soepel wilt laten verlopen. Verwacht resultaat: Een `.cat`-bestand dat zonder fouten is gegenereerd.Hoe: – Kopieer uw stuurprogramma’s (bijvoorbeeld `xg20gr.sys`, `xg20gr.inf`) naar een map, bijvoorbeeld `C:\DriverCert\xg20`.cmd md C:\DriverCert\xg20 xcopy c:\tools\drv1\*.* C:\DriverCert\xg20 /i /c /k /e /r /y – Gebruik de tool `inf2cat.exe` van WDK: cmd “C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\inf2cat.exe” /driver:”C:\DriverCert\xg20″ /os:10_X64 /verbose > *Opmerking:* Als `inf2cat` fouten geeft over `DriverVer`, bewerk dan uw `.inf`-bestand: zoek de sectie `[Version]` en stel een recente datum in, zoals `DriverVer=05/01/2009, 9.9.9.9`.Dit zorgt er soms voor dat Windows denkt dat uw stuurprogramma voldoet aan de vereisten.—
Onderteken uw chauffeursdossier met het certificaat.
Hier krijgt uw stuurprogramma een officiële handtekening. Waarom dit helpt: Alle stuurprogrammabestanden en de catalogus worden digitaal ondertekend, waardoor Windows voldoet aan de vereisten voor stuurprogrammaondertekening. Wanneer is dit van toepassing: Wanneer u van plan bent om niet-ondertekende stuurprogramma’s zonder fouten te installeren op een beveiligd Windows-systeem. Verwacht resultaat: Een ondertekende catalogus (.cat) met de handtekeningen van uw stuurprogramma’s.Hoe: – Ga naar de map met `signtool.exe`, die zich meestal in uw WDK bevindt: cmd cd “C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64” – Onderteken het catalogusbestand: cmd signtool sign /f C:\DriverCert\myDrivers.pfx /p P@ss0wrd /tr http://timestamp.digicert.com /td SHA256 /v C:\DriverCert\xg20\xg20gr.cat *Tip:* Als u fouten krijgt met betrekking tot digest-algoritmen, voeg dan `/fd SHA256` toe.- Bevestig de ondertekening: cmd signtool verify /v /pa C:\DriverCert\xg20\xg20gr.cat Als alles goed is gegaan, ziet u een bericht dat de ondertekening is geslaagd.—
Installeer het ondertekende stuurprogramma in Windows.
Bijna klaar — tijd om uw zojuist ondertekende driver te installeren. Waarom dit helpt: Met een correcte ondertekening beschouwt Windows uw driver als vertrouwd en blokkeert de installatie niet. Wanneer dit van toepassing is: Nadat u de driver hebt ondertekend en Windows deze als legitiem heeft herkend. Verwacht resultaat: De driver wordt nu succesvol geïnstalleerd zonder beveiligingswaarschuwingen.Hoe: – Voer de `pnputil`-opdracht uit als beheerder: cmd pnputil /add-driver C:\DriverCert\xg20\xg20gr.inf /install – Of gebruik de `pnputil`-opdracht in een PowerShell of opdrachtprompt met beheerdersrechten: cmd pnputil -i -a C:\DriverCert\xg20\xg20gr.inf – Tijdens de installatie zal Windows de prompt “Wilt u deze apparaatsoftware installeren?” weergeven — klik op Installeren.- Als de installatie mislukt, controleer dan `C:\Windows\inf\setupapi.dev.log` op aanwijzingen. Foutmeldingen zoals “handtekeningvalidatie mislukt” betekenen meestal dat het certificaat van de driver niet wordt vertrouwd. Zorg ervoor dat uw certificaat is geïmporteerd in Vertrouwde basiscertificaten en Vertrouwde uitgevers.
Speciale opmerking voor kernelstuurprogramma’s en Secure Boot
Als u te maken hebt met kernelstuurprogramma’s en Secure Boot is ingeschakeld, wordt het ingewikkelder. Kernelstuurprogramma’s die zijn ondertekend met een zelfgemaakt certificaat, laden doorgaans niet wanneer Secure Boot is ingeschakeld, tenzij ze correct zijn ondertekend door Microsoft of WHQL-gecertificeerd zijn. Om dit te omzeilen: – moet u Secure Boot tijdelijk uitschakelen via de BIOS, of – moet u het kernelstuurprogramma ondertekenen met een geldig Microsoft-ondertekeningscertificaat (waarvoor de Windows Hardware Lab Kit en het WHQL-proces nodig zijn).Voor stuurprogramma’s in de gebruikersmodus is dit meestal geen groot probleem: ze kunnen zelfs met Secure Boot actief worden uitgevoerd, zolang ze correct zijn ondertekend of het systeem is ingesteld op testmodus (bcdedit /set testsigning on).
Samenvatting
- Maak een zelfondertekend codeondertekeningscertificaat aan en importeer het in de vertrouwde certificatenarchieven.
- Genereer een catalogusbestand (.cat) voor uw stuurprogramma’s.
- Onderteken het catalogusbestand (en indien nodig de stuurprogrammabestanden) met `signtool`, inclusief een tijdstempel.
- Installeer het stuurprogramma met `pnputil`, nu de handtekeningen geldig zijn.
Samenvatting
Dit proces is niet het snelste, maar het is beter dan elke keer met Windows te moeten worstelen bij het installeren van niet-ondertekende stuurprogramma’s. Zodra je je stuurprogramma’s hebt ondertekend, zouden toekomstige installaties soepeler moeten verlopen, vooral als je aan aangepaste hardware werkt of teststuurprogramma’s ontwikkelt. Ik hoop dat dit helpt en dat je oude hardware eindelijk zonder problemen werkt.