Certificaat melding voorkomen: “Do you trust this printer?”

In veel omgevingen wordt het installeren van software uiteraard zo veel mogelijk geautomatiseerd. Dat geldt ook voor printer drivers, een essentieel stukje software nodig om een printer wachtrij aan te maken op een Windows-werkplek en een afdruk te kunnen maken. Bij het installeren van deze oude printer drivers verschijnt nog wel eens de foutmelding “Do you trust this printer?” vanwege een verouderd certificaat.. Hoe komt dit? En hoe kun je dit omzeilen met een installatie zonder gebruikersinteractie.

Drivers worden, net als zoveel software tegenwoordig, voorzien van een certificaat om zeker te weten dat deze van een goede bron afkomstig is. Dat is fijn, maar aan een certificaat zit een houdbaarheid in de vorm van een einddatum die is opgenomen in het certificaat. Sinds enkele jaren kunnen printer drivers met een verlopen certificaat niet meer worden geinstalleerd en verschijnt een foutmelding als hieronder weergegeven:

Een aantal printer leveranciers, zoals o.a. HP, heeft sinds deze wijziging van beleid nieuwe versies van de printer drivers uitgegeven met een nieuw (Microsoft) certificaat waardoor de installatie weer vlekkeloos verloopt. Veel leveranciers hebben deze moeite niet genomen, waarschijnlijk ook vanwege de bijbehorende kosten.

Als de driver met de hand geïnstalleerd wordt is dat nog geen probleem. Door te klikken op “Install driver” wordt deze alsnog geïnstalleerd. Je kunt dit soort foutmeldingen volgens diverse bronnen nog onderdrukken door Point and Print restrictions in te stellen via Group Policy, maar veelal werkt dit niet. En zeker niet als je de installatie zonder gebruikersinteractie, ook wel unattended of silent genoemd, wilt uitvoeren. De software wordt dan niet geïnstalleerd, zonder duidelijke foutmelding.

 

Silent installeren zonder geldig certificaat

Na wat onderzoek blijkt een dergelijke printerdriver wel te installeren is, ook zonder gebruikersinteractie. Namelijk door het certificaat uit de de driver te exporteren en deze te installeren op het systeem waar de driver op moet komen. Vanaf dat moment is een installatie van de driver geen probleem, want het bijbehorend certificaat wordt voortaan vertrouwd. De te nemen stappen worden hieronder beschreven. Hierbij wordt uitgegaan van het gebruik van certmgr.exe om het certificaat te installeren, iedere andere tool voor het installeren van certificaten werkt uiteraard ook.

  1. Download de driver en pak deze uit.
  2. Open de eigenschappen van het .cat-bestand dat zojuist is uitgepakt en open het tabblad “Digital Signatures”.
  3. Selecteer het SHA1-certificaat en klik op “Details”. Klik op “View Certificate” en vervolgens “Copy to File” in het tabblad “Details” en sla het certificaat op.
  4. Nu kan het certificaat geinstalleerd worden met certmgr.exe
    1. Download Windows SDK: https://docs.microsoft.com/en-us/windows/desktop/seccrypto/certmgr en installeer deze.
    2. certmgr.exe is te vinden in de map “C:\Program Files (x86)\MicrosoftSDKs\Windows\v7.0A\bin”.
    3. Installeer het certificaat in de Trusted Publishers store van Local Machine met het volgende commando:
      certmgr.exe -add "BestandsNaam.cer" -c -s -r localMachine TrustedPublisher
  5. Nu kan de printer driver worden geinstalleerd met bijvoorbeeld het volgende commando:
    rundll32 printui.dll PrintUIEntry /ia /m "Exacte Driver Naam PCL6" /q /h x64 /f "bestandspad\PrinterDriver.inf"