De afgelopen 20 jaar zijn certutil.exe en certreq.exe twee van de meest betrouwbare Windows-toolkits gebleken. Deze tools zijn essentieel gebleken voor het beheren van cryptografische sleutels en certificaten , met name in serveromgevingen waar beveiliging cruciaal is. Het is geen geheim dat het basisgebruik van deze tools een breed scala aan krachtige mogelijkheden biedt.
Naast de meestgebruikte functies beschikken deze tools echter over een uitgebreidere reeks geavanceerde mogelijkheden en minder bekende instellingen, speciaal ontworpen voor beheerders die nauwkeurige controle nodig hebben over certificaataanvragen en -uitgifte. In deze handleiding bespreken we deze vaak over het hoofd geziene functies en onthullen we de verborgen instellingen die het volledige potentieel van deze tools ontsluiten.
Certutil.exe
Certutil.exe is een krachtig opdrachtregelprogramma dat is ingebouwd in Windows en wordt gebruikt voor het beheren, oplossen van problemen en valideren van Public Key Infrastructure (PKI)-componenten. Het wordt veelvuldig gebruikt door PKI-beheerders, beveiligingsengineers en systeembeheerders en ondersteunt een breed scala aan certificaatgerelateerde bewerkingen, waaronder het beheren en inspecteren van certificaatarchieven, het verifiëren van certificaatketens en sleutelparen, het controleren van de intrekkingsstatus via Certificate Revocation List (CRL) en Online Certificate Status Protocol (OCSP) , het coderen en decoderen van bestanden, het hashen van bestanden, het configureren van registerinstellingen voor certificeringsinstanties (CA's), interactie met Active Directory PKI-containers, het converteren van certificaten tussen verschillende formaten en het oplossen van problemen met certificaatinschrijving of vertrouwensrelaties. Dankzij de uitgebreide functionaliteit en flexibiliteit is certutil.exe uitgegroeid tot een van de meest essentiële tools voor het werken met Microsoft PKI-omgevingen.
Om de officiële documentatie te bekijken, ga naar de volgende link: certutil-documentatie
Certutil verkennen
Naast certificaatbewerkingen kan certutil.exe worden gebruikt voor het maken van back-ups van en het herstellen van CA-componenten, het weergeven van configuratie-informatie voor CA's en het instellen van certificaatservices.
Een belangrijk aspect om te begrijpen is dat wanneer certutil zonder parameters wordt uitgevoerd op een certificeringsinstantie (CA) -server, het informatie over de lokale CA-configuratie weergeeft. Op een machine die geen CA is, geeft het standaard het equivalent van certutil -dump weer. Het begrijpen van dit verschil is belangrijk bij het analyseren van de uitvoer van certutil tijdens het oplossen van problemen of het bekijken van logbestanden.

Certutil biedt een breed scala aan opties, die kunnen worden verkend met behulp van `certutil -?` of `certutil`. -?. Door de vlag -v toe te voegen, wordt uitgebreide uitvoer ingeschakeld (certutil -v -?), waardoor de helpweergave wordt uitgebreid met extra opdrachten en meer gedetailleerde gebruiksinformatie.
Je vraagt je misschien af wat het grote verschil is dat de schakelaar "-v" maakt. Hieronder zie je de uitvoer van een string vergeleken tussen certutil -? en certutil -v -?

Aan de linkerkant ziet u de uitvoer van het commando " certutil -? ", terwijl aan de rechterkant de uitvoer van het commando " certutil -v -? " wordt weergegeven. Het verschil is direct zichtbaar. De uitgebreide uitvoer is aanzienlijk langer en gaat veel verder dan de beknopte lijst die wordt geretourneerd door "certutil -?". Waar de standaard help zich richt op veelgebruikte commando's met korte beschrijvingen, zorgt het toevoegen van de schakelaar "-v" ervoor dat de uitvoer aanzienlijk wordt uitgebreid met extra commando's en meer gedetailleerde informatie. Dit illustreert duidelijk hoeveel functionaliteit binnen certutil.exe verborgen blijft, tenzij expliciet om uitgebreide help wordt gevraagd.
Het verkennen van verborgen switches van Certutil
De meest complete manier om alles te ontdekken wat certutil te bieden heeft, is met de volgende vlagcombinatie:
certutil -v -uSAGE
Dit combineert uitgebreide uitvoer (-v) met de uitgebreide gebruiksweergave (-uSAGE), waardoor de meest gedetailleerde helpuitvoer met volledige syntaxis en extra opdrachten die niet in de standaardhelp worden weergegeven, wordt gegenereerd.
Als je alleen de lijst met verborgen schakelaarnamen nodig hebt zonder de volledige syntaxisdetails, biedt de volgende opdracht een snellere subset:
certutil -uSAGE
Het is belangrijk om te weten dat beide vlaggen hoofdlettergevoelig zijn en exact zo moeten worden getypt als weergegeven. Bovendien zijn de verborgen schakelaars in zowel certutil als certreq om een goede reden niet gedocumenteerd, omdat ze zich in verschillende Windows-versies anders kunnen gedragen en buiten de standaard Microsoft-ondersteuning vallen. Daarom is het altijd raadzaam om ze eerst in een niet-productieomgeving te testen voordat u ze in een live- of kritiek systeem implementeert.
Laten we het verschil tussen de twee eens nader bekijken. Links zien we de standaard uitvoer van `certutil -?` , rechts de uitvoer van `certutil -uSAGE` . De vergelijking laat duidelijk extra, verborgen opties zien die niet in de standaard helptekst worden weergegeven. Deze extra opties zijn in de `-uSAGE` weergave groen gemarkeerd voor een betere herkenning.




Nu de verschillen duidelijk zichtbaar zijn, gaan we elk extra commando dat beschikbaar is onder `certutil -uSAGE` eens nader bekijken. De volgende tabel geeft een overzicht van elke verborgen optie en het doel ervan, voor meer duidelijkheid.
| Parameter | Beschrijving |
|---|---|
| -encodehex | Codeert een bestand in hexadecimale notatie. |
| -getconfig2 | Haalt de standaard CA-configuratiestring op via de ICertGetConfig-interface. |
| -getconfig3 | Haalt de CA-configuratie op via de ICertConfig-interface. |
| -CAPropInfo | Geeft informatie weer over het CA-eigenschapstype, zoals de gegevenstypen en vlaggen van elke eigenschap die de CA beschikbaar stelt. Wordt gebruikt voor geavanceerde CA-scripting. |
| -exportPFX | Exporteert een certificaat en de bijbehorende privésleutel naar een PFX-bestand. |
| -TPMInfo | Geeft informatie weer over de Trusted Platform Module (TPM). Toont de TPM-versie, fabrikant en mogelijkheden, handig bij het implementeren van TPM-ondersteunde sleutels. Wordt gebruikt voor de validatie van TPM-ondersteunde sleutels en virtuele smartcards (VSC's). |
| -certificaat ophalen | Opent een gebruikersinterface voor certificaatselectie om interactief een certificaat te kiezen. De volledige syntaxis is certUtil [Options] -getcert [ObjectId | ERA | KRA [CommonName]] . |
| -ds | Toont de Distinguished Names (DN's) van Active Directory voor PKI-containers (AIA, CDP, enz.). Helpt inzicht te krijgen in waar PKI-objecten in Active Directory worden opgeslagen. |
| -dsDel | Verwijdert een specifiek item uit een Active Directory PKI-container. Gebruik dit met uiterste voorzichtigheid, aangezien AD-objecten permanent worden verwijderd. |
| -dsCert | Toont certificaten die zijn opgeslagen in Active Directory PKI-containers. |
| -dsCRL | Toont de CRL's (Certificate Revocation Lists) die zijn opgeslagen in Active Directory. |
| -dsDeltaCRL | Geeft Delta CRL's weer die zijn opgeslagen in Active Directory. Wordt gebruikt wanneer een certificeringsinstantie (CA) incrementele intrekkingslijsten publiceert. |
| -dsTemplate | Geeft certificaatsjabloonkenmerken weer uit Active Directory. Voeg -v ervoor toe om alle inschrijvingsvlaggen, privésleutelvlaggen, uitgiftebeleid en EKU OID's volledig uit te vouwen. Wordt gebruikt voor sjablooncontrole en beveiligingsbeoordeling. |
| -dsAddTemplate | Voegt certificaatsjablonen toe aan Active Directory. Wordt gebruikt tijdens de configuratie van een certificeringsinstantie (CA) of bij het publiceren van nieuwe sjablonen. |
| -SetCATemplates | Hiermee wordt de lijst met sjablonen die een CA mag uitgeven, ingesteld of beperkt. |
| -URL | Controleert de URL's van certificaten en CRL's (Certificate Revocation Lists) om te garanderen dat ze bereikbaar zijn en geldige gegevens retourneren. Helpt bij het oplossen van problemen met de bereikbaarheid van certificaatketens, CRL's en OCSP's. |
| -SCDump | Geeft een overzicht van de smartcardgegevens. Wordt gebruikt voor problemen met inloggen en configureren van smartcards. |
| -sleutel | Toont een lijst van alle cryptografische sleutelcontainers op de machine. Zowel CryptoAPI (legacy) als CNG-sleutelcontainers worden weergegeven. |
| -delkey | Verwijdert een specifieke cryptografische sleutelcontainer permanent van de machine. |
| -csplist | Geeft een overzicht van alle cryptografische serviceproviders (CSP's) en sleutelopslagproviders (KSP's) die op de machine zijn geïnstalleerd. Handig om de beschikbaarheid van HSM-/smartcardproviders te controleren. |
| -csptest | Test een CSP/KSP door deze te laden en cryptografische bewerkingen te controleren. Wordt vaak gebruikt voor het oplossen van problemen met HSM's en smartcards. |
| -CNGConfig | Toont de CNG-configuratie (Cryptography Next Generation), zoals geregistreerde algoritmen, providers en CNG-instellingen. |
| -Klasse | Geeft COM-registerinformatie weer voor certificaatgerelateerde COM-klassen. |
| -7f | Controleert een certificaat op lengtecoderingen van 0x7f. |
| -getsmtpinfo | Toont de SMTP-notificatie-instellingen (e-mail) die op de CA zijn geconfigureerd. |
| -setsmtpinfo | Hiermee configureert u de SMTP-notificatie-instellingen op de CA, zoals het instellen van e-mailwaarschuwingen voor CA-gebeurtenissen zoals certificaatuitgifte, -verloop of -fouten. |
Let op: deze opdrachten werken op een gevoelig beheerdersniveau. Onjuist gebruik van opties zoals -dsDel, -delkey of -SetCATemplates kan gevolgen hebben voor certificeringsservices, vertrouwensketens verbreken of kritieke PKI-objecten uit Active Directory verwijderen. Controleer altijd het doel en begrijp de impact voordat u deze opdrachten in een productieomgeving uitvoert.
Laten we desalniettemin eens nader kijken naar enkele van de meest gebruikte verborgen switches, de switches die PKI-beheerders het meest nuttig zullen vinden bij hun dagelijkse werkzaamheden en het oplossen van problemen.
-
-csplist en -csptest:
Deze twee opties werken het beste samen. Voer eerst -csplist uit om alle CSP's en KSP's te zien die op de machine zijn geregistreerd, en gebruik vervolgens -csptest om een specifieke provider te laden en te verifiëren. Dit is de snelste manier om problemen met HSM's of smartcards te diagnosticeren: als de provider niet in -csplist verschijnt, is het stuurprogramma niet geregistreerd; als deze wel verschijnt maar -csptest mislukt, ligt het probleem bij de machtigingen, de pincode of het bibliotheekpad. Elke optie kan ook afzonderlijk worden uitgevouwen voor meer details.
certutil -v -csplist -?
certutil -v -csptest -?
-
-dstemplate met -v:
Het toevoegen van -v vóór -dstemplate maakt een significant verschil. Zonder -v krijg je alleen de sjabloonnamen te zien. Met -v krijg je de volledige uitbreiding, inclusief inschrijvingsvlaggen, privésleutelvlaggen, uitgiftebeleid en EKU OID's. Dit is de opdracht die je moet uitvoeren bij het controleren van sjablonen op beveiligingsfouten:
certutil -v -dstemplate
certutil -v -dstemplate WebServer
Een ander belangrijk detail is dat elke verborgen schakelaar, net als openbare schakelaars, afzonderlijk kan worden uitgebreid. Dit werkt voor elke schakelaar in de -uSAGE-lijst:
certutil -URL -?
certutil -v -SCDump -?
Al met al bieden deze schakelaars PKI-beheerders een niveau van inzicht en controle dat simpelweg niet beschikbaar is via de MMC-console of de standaard helpfunctie van certutil. Hoe beter u hiermee vertrouwd bent, hoe sneller u problemen in uw PKI-omgeving kunt diagnosticeren en oplossen.
Certreq.exe
Certreq.exe is een krachtig opdrachtregelprogramma dat is ingebouwd in Windows voor het beheren van de volledige levenscyclus van certificaatinschrijving. Waar certutil.exe de certificaatcontrole en het CA-beheer afhandelt, richt certreq.exe zich op de aanvraagzijde: het genereren, indienen, ophalen en installeren van certificaten van een CA.
Om de officiële documentatie te bekijken, ga naar de volgende link: certreq documentatie
Certreq verkennen
In essentie vormt certreq.exe de brug tussen een certificaataanvrager en een certificeringsinstantie (CA). Het beheert elke fase van het inschrijvingsproces vanuit één enkele opdrachtregelinterface, waardoor het bijzonder waardevol is in serveromgevingen waar inschrijving via een grafische gebruikersinterface niet beschikbaar of onpraktisch is.
Hieronder wordt uitgelegd wat Certreq kan doen en hoe elke functionaliteit past in de praktijk van PKI-operaties:
-
Vraag een certificaat aan bij een CA: Met behulp van een INF-beleidsbestand genereert certreq een Certificate Signing Request (CSR) en een bijbehorend privésleutelpaar. Het INF-bestand definieert het onderwerp, het sleutelalgoritme, de sleutelgrootte, het beoogde gebruik en eventuele gevraagde extensies, waardoor beheerders nauwkeurige controle hebben over wat er wordt aangevraagd.
certreq -new request.inf request.csr
-
Dien een verzoek in bij een CA: Zodra een CSR gereed is, verzendt certreq deze rechtstreeks naar een bedrijfs-CA via RPC/DCOM of naar een externe CA via een bestand. De vlag -config specificeert welke CA moet worden aangestuurd wanneer er meerdere CA's in de omgeving aanwezig zijn.
certreq -submit -config "ServerName\CAName" request.csr issued.cer
-
Een certificaat ophalen dat nog in behandeling is: Wanneer een certificeringsinstantie (CA) goedkeuring van een manager vereist, wordt het certificaat niet direct uitgegeven. Certreq kan de CA bevragen en het uitgegeven certificaat ophalen zodra het is goedgekeurd, met behulp van de aanvraag-ID die bij de indiening wordt geretourneerd.
certreq -retrieve -config "ServerName\CAName" uitgegeven.cer
-
Accepteer en installeer het uitgegeven certificaat: Na het ophalen installeert certreq het certificaat in het juiste Windows-certificaatarchief en koppelt het aan de bijbehorende privésleutel, waarmee het inschrijvingsproces is voltooid.
certreq -accept issued.cer
- Maak een verzoek aan voor kruiscertificering of gekwalificeerde ondergeschiktheid: Voor organisaties die PKI-hiërarchieën opbouwen, kan certreq kruiscertificeringsverzoeken genereren op basis van een bestaand CA-certificaat. Dit wordt gebruikt bij het vaststellen van vertrouwen tussen twee onafhankelijke PKI-hiërarchieën of bij het creëren van een gekwalificeerde ondergeschikte CA met beperkte naamruimtes en beleidsbeperkingen.
- Onderteken een verzoek om kruiscertificering of gekwalificeerde ondergeschiktheid: Certreq kan ook een lopend kruiscertificeringsverzoek ondertekenen met behulp van een bestaand CA-certificaat, waarmee de vertrouwensrelatie tussen PKI-hiërarchieën wordt hersteld zonder dat de MMC CA-console nodig is.
Certreq-opdrachtparameters
| Parameter | Beschrijving |
|---|---|
| -indienen | Dien een verzoek in bij een certificeringsinstantie. |
| -uittreden | Haalt een antwoord op een eerder verzoek van een certificeringsinstantie op. |
| -nieuw | Maakt een nieuw verzoek aan op basis van een .inf-bestand. |
| -aanvaarden | Accepteert en installeert een reactie op een certificaatverzoek. |
| -beleid | Stelt het beleid in voor een verzoek. |
| -teken | Ondertekent een verzoek om kruiscertificering of gekwalificeerde ondergeschiktheid. |
| -inschrijven | Schrijft zich in voor een certificaat of verlengt dit. |
| -? | Toont een lijst met certreq-syntaxis, opties en beschrijvingen. |
| -? | Geeft helpinformatie weer voor de opgegeven parameter. |
| -v -? | Geeft een uitgebreide lijst weer van de certreq-syntaxis, opties en beschrijvingen. |
Van deze opties worden -submit en -retrieve het meest gebruikt om via de commandoregel een certificaatverzoek in te dienen en de uitgegeven certificaten op te halen bij de certificeringsinstantie .
Ontdek de verborgen schakelaars van Certreq
Net als certutil heeft certreq zijn eigen set verborgen instellingen, die zichtbaar worden gemaakt met dezelfde hoofdlettergevoelige parameter -uSAGE:
certreq.exe -uSAGE
De onderstaande schermafbeeldingen vergelijken de uitvoer van certreq -? aan de linkerkant met de standaard uitvoer van certreq -uSAGE aan de rechterkant. De extra verborgen schakelaars zijn alleen aan de rechterkant zichtbaar.




Nu de verschillen duidelijk zijn, gaan we elk extra commando dat beschikbaar is onder `certreq -uSAGE` eens nader bekijken. De volgende tabel geeft een overzicht van elke verborgen schakelaar en het doel ervan, voor meer duidelijkheid.
| Verborgen schakelaar | Wat het doet |
|---|---|
| -EOBO | Start de wizard 'Inschrijven namens'. Hiermee kan een inschrijfagent certificaten aanvragen namens een andere gebruiker. Hiervoor moet een certificaat voor de inschrijfagent geconfigureerd zijn. |
| -InschrijvenX | Hiermee kunt u meerdere certificaten in één bewerking aanvragen. Accepteert de vlaggen -Accept user en -machine om de doelcertificaatopslag te beheren. |
| -Automatische inschrijving | Start de gebruikersinterface voor automatische inschrijving. Ondersteunt de vlaggen -v, -user en -machine. |
| -Verzoek | Hiermee wordt een aangepast certificaatverzoek gegenereerd met uitgebreide controle over de inhoud van het verzoek. Ondersteunt de contextvlaggen -user en -machine. |
| -ImportPFX | Importeert een PFX-bestand rechtstreeks naar een opgegeven cryptografische provider, inclusief hardwareproviders zoals HSM's en smartcards. |
Elk van deze elementen kan afzonderlijk worden uitgebreid voor de volledige syntaxis:
certreq -ImportPFX -?
certreq -AutoEnroll -?
certreq -EOBO -?
Van deze opties verdient -ImportPFX een nadere beschouwing, met name vanwege de verschillen met de overeenkomstige opties in certutil.
-ImportPFX in certreq versus -importPFX in certutil
Van alle verborgen schakelaars zijn certreq -importPFX en certutil -importPFX bijzonder interessant om te bekijken. Hoewel beide met PFX-bestanden werken, dienen ze verschillende doelen en gedragen ze zich in de praktijk heel anders.
Het belangrijkste verschil zit in de manier waarop ze de bestemming targeten. `certutil -importPFX` werkt met benoemde Windows-certificaatarchieven en biedt een uitgebreide lijst met modifiers, waaronder AT_SIGNATURE, AT_KEYEXCHANGE, NoExport, NoChain, NoRoot, Protect, ProtectHigh, Pkcs8, VSM en meer, waardoor nauwkeurige controle mogelijk is over hoe het certificaat en de sleutel precies worden geïmporteerd.
certutil [opties] -importPFX [CertificateStoreName] PFXFile [Modifiers]

Certreq -ImportPFX daarentegen richt zich rechtstreeks op een specifieke cryptografische provider, inclusief hardwareproviders zoals HSM's en smartcardlezers. De syntaxis is positioneel in plaats van gebaseerd op modifiers:
certreq -ImportPFX PFXFile [Provider [Reader [ContainerPrefix [FriendlyName [Flags]]]]]

Opmerking: De optie -importPFX in certutil is een volledig gedocumenteerde en ondersteunde schakelaar. Daarentegen wordt -ImportPFX in certreq niet vermeld in de standaard help-uitvoer en wordt beschouwd als een ongedocumenteerde of minder bekende functionaliteit. Gebruik deze laatste met voorzichtigheid en controleer het gedrag altijd in niet-productieomgevingen.
Gebruik in de praktijk `certutil -importPFX` voor standaard importen van Windows-certificaten waarbij modifiers van belang zijn. Gebruik `certreq -ImportPFX` wanneer u rechtstreeks importeert in een benoemde hardwareprovider, een HSM KSP of een specifieke smartcardlezer.
Hoe kan Encryption Consulting helpen?
Encryption Consulting biedt gespecialiseerde diensten op maat om kwetsbaarheden te identificeren en risico's te beperken door middel van PKI-diensten . Onze strategische begeleiding stemt PKI-oplossingen af op de organisatiedoelstellingen, waardoor de efficiëntie wordt verhoogd en de kosten worden geminimaliseerd. Door samen te werken met Encryption Consulting kunnen organisaties het volledige potentieel van PKI-oplossingen benutten, tastbare financiële voordelen realiseren en tegelijkertijd sterke beveiligingsmaatregelen handhaven.
PKIaaS van Encryption Consulting biedt een flexibele en veilige PKI-oplossing die is afgestemd op uw specifieke behoeften. Voordelen zoals aanpasbare opties, hoge kwaliteitsnormen en een risicoarme, beheerde aanpak zijn hierbij van belang. PKIaaS automatiseert taken voor sleutel- en certificaatbeheer, waardoor de operationele overhead wordt verlaagd en de kans op menselijke fouten wordt geminimaliseerd. Bovendien verbetert het de zichtbaarheid van het netwerk door certificaten te vereisen voor toegang. PKIaaS zorgt voor de opbouw van de PKI-infrastructuur en beheert de PKI-omgeving (cloud/hybride of on-premise) van uw organisatie.
CertSecure Manager beschikt over een uitgebreide reeks functies voor lifecyclemanagement. Van detectie en inventarisatie tot uitgifte, implementatie, verlenging, intrekking en rapportage. CertSecure biedt een allesomvattende oplossing. Intelligente rapportage, waarschuwingen, automatisering, automatische implementatie op servers en certificaatregistratie voegen extra functionaliteit toe, waardoor het een veelzijdig en intelligent hulpmiddel is.
Conclusie
Certutil en Certreq zijn krachtige tools voor het beheren van certificaten in Windows-omgevingen. Hoewel hun basisfuncties algemeen bekend zijn, onthult een diepere verkenning van hun geavanceerde functies en verborgen opties een schat aan mogelijkheden.
Deze tools bieden een niveau van inzicht in en controle over certificaatbeheer dat veel verder gaat dan wat de MMC-console biedt. Serverbeheerders die de tijd nemen om de volledige mogelijkheden van certutil en certreq te begrijpen, met name de verborgen opties die via -uSAGE worden weergegeven, zullen merken dat ze PKI-problemen aanzienlijk sneller kunnen diagnosticeren en oplossen. Als het beheren en beveiligen van uw certificaatinfrastructuur meer diepgaande expertise vereist, staat het PKI-team van Encryption Consulting voor u klaar.
