Certmgr.exe (Hulpprogramma voor certificaatbeheer)
Het hulpprogramma Certificate Manager (Certmgr.exe) beheert certificaten, certificaatvertrouwenslijsten (CCL's) en certificaatintrekkingslijsten (CRL's).
Certificaatbeheer wordt geïnstalleerd met de Windows 10 SDK. Gebruik de Visual Studio Developer-opdrachtprompt of Visual Studio Developer PowerShell om het hulpprogramma te starten.
Notitie
Het hulpprogramma Certificate Manager (Certmgr.exe) is een opdrachtregelprogramma, terwijl Certificaten (Certmgr.msc) een MMC-module (Microsoft Management Console) is. Omdat Certmgr.msc meestal wordt gevonden in de map Windows System, kan het invoeren certmgr
op de opdrachtregel de MMC-module Certificaten laden, zelfs als u de opdrachtprompt voor ontwikkelaars voor Visual Studio hebt geopend. Dit komt doordat het pad naar de module voorafgaat aan het pad naar het hulpprogramma Certificate Manager in de Path
omgevingsvariabele. Als u dit probleem ondervindt, kunt u Certmgr.exe opdrachten uitvoeren door het pad naar het uitvoerbare bestand op te geven, bijvoorbeeld %ProgramFiles(x86)%\Windows Kits\10\bin\10.0.22000.0\arm64\certmgr.exe.
Zie Werken met certificaten voor een overzicht van X.509-certificaten.
Syntaxis
Voer bij de opdrachtprompt het volgende in:
certmgr [/add | /del | /put] [options]
[/s[/r registryLocation]] [sourceStorename]
[/s[/r registryLocation]] [destinationStorename]
Parameters
Argument | Beschrijving |
---|---|
sourceStorename | Het certificaatarchief dat de bestaande certificaten, CRL's of CRL's bevat om toe te voegen, te verwijderen, op te slaan of weer te geven. Dit kan een archiefbestand of een systeemarchief zijn. |
destinationStorename | Het uitvoercertificaatarchief of -bestand. |
Optie | Omschrijving |
---|---|
/toevoegen | Voegt certificaten, CTL's en CRL's toe aan een certificaatarchief. |
/alle | Hiermee worden alle vermeldingen toegevoegd wanneer deze worden gebruikt met /add. Verwijdert alle vermeldingen wanneer deze worden gebruikt met /del. Geeft alle vermeldingen weer wanneer deze worden gebruikt zonder de opties /add of /del . De optie /all kan niet worden gebruikt met /put. |
/c | Voegt certificaten toe wanneer deze worden gebruikt met /add. Hiermee verwijdert u certificaten wanneer deze worden gebruikt met /del. Slaat certificaten op wanneer deze worden gebruikt met /put. Geeft certificaten weer wanneer deze worden gebruikt zonder de optie /add, /del of /put . |
/CRL | Voegt CRL's toe wanneer deze worden gebruikt met /add. Verwijdert CRL's wanneer deze worden gebruikt met /del. Slaat CRL's op wanneer deze worden gebruikt met /put. Geeft CRL's weer wanneer deze worden gebruikt zonder de optie /add, /del of /put . |
/CTL | Voegt CTL's toe wanneer deze worden gebruikt met /add. Verwijdert CTL's wanneer deze worden gebruikt met /del. Slaat CTL's op wanneer deze worden gebruikt met /put. Geeft CTL's weer wanneer deze worden gebruikt zonder de optie /add, /del of /put . |
/Del | Hiermee verwijdert u certificaten, CTL's en CRL's uit een certificaatarchief. |
/e encodingType | Hiermee geeft u het certificaatcoderingstype op. De standaardwaarde is X509_ASN_ENCODING . |
/f dwFlags | Hiermee geeft u de geopende store vlag. Dit is de dwFlags-parameter die wordt doorgegeven aan CertOpenStore. De standaardwaarde is CERT_SYSTEM_STORE_CURRENT_USER. Deze optie wordt alleen beschouwd als de optie /y wordt gebruikt. |
/h[elp] | Geeft de opdrachtsyntaxis en opties voor het hulpprogramma weer. |
/n naam | Hiermee geeft u de algemene naam van het certificaat toe te voegen, te verwijderen of op te slaan. Deze optie kan alleen worden gebruikt met certificaten; het kan niet worden gebruikt met CRL's of CRL's. |
/zetten | Slaat een X.509-certificaat, CTL of CRL op uit een certificaatarchief naar een bestand. Het bestand wordt opgeslagen in X.509-indeling. U kunt de optie /7 gebruiken met de optie /put om het bestand op te slaan in PKCS #7-indeling. De optie /put moet worden gevolgd door /c, /CTL of /CRL. De optie /all kan niet worden gebruikt met /put. |
/r-locatie | Identificeert de registerlocatie van het systeemarchief. Deze optie wordt alleen beschouwd als u de optie /s opgeeft. de locatie moet een van de volgende zijn: - currentUser geeft aan dat het certificaatarchief zich onder de HKEY_CURRENT_USER-sleutel bevindt. Dit is de standaardinstelling.- localMachine geeft aan dat het certificaatarchief zich onder de HKEY_LOCAL_MACHINE sleutel bevindt. |
/s | Geeft aan dat het certificaatarchief een systeemarchief is. Als u deze optie niet opgeeft, wordt het archief beschouwd als een StoreFile. |
/sha1 sha1Hash | Hiermee geeft u de SHA1-hash van het certificaat, CTL of CRL op om toe te voegen, te verwijderen of op te slaan. |
/v | Hiermee geeft u uitgebreide modus; geeft gedetailleerde informatie weer over certificaten, CRL's en CRL's. Deze optie kan niet worden gebruikt met de opties /add, /del of /put . |
/y-provider | Hiermee geeft u de naam van de winkelprovider op. |
/7 | Slaat het doelarchief op als een PKCS #7-object. |
/? | Geeft de opdrachtsyntaxis en opties voor het hulpprogramma weer. |
Opmerkingen
Certmgr.exe voert de volgende basisfuncties uit:
- Geeft certificaten, CTL's en CRL's weer aan de console.
- Voegt certificaten, CTL's en CRL's toe aan een certificaatarchief.
- Hiermee verwijdert u certificaten, CTL's en CRL's uit een certificaatarchief.
- Slaat een X.509-certificaat, CTL of CRL op uit een certificaatarchief naar een bestand.
Certmgr.exe werkt met twee typen certificaatarchieven: StoreFile en systeemarchief. Het is niet nodig om het type certificaatarchief op te geven; Certmgr.exe kan het winkeltype identificeren en de juiste bewerkingen uitvoeren.
Als u Certmgr.exe uitvoert zonder dat u opties opgeeft, wordt de module certmgr.msc gestart. Deze heeft een GUI die helpt bij de beheertaken voor certificaten die ook beschikbaar zijn vanaf de opdrachtregel. De GUI biedt een importwizard, waarmee certificaten, CTL's en CRL's van uw schijf worden gekopieerd naar een certificaatarchief.
U vindt de namen van X509Certificate-archieven voor de sourceStorename
en destinationStorename
parameters door de volgende code te compileren en uit te voeren.
using System;
using System.Security.Cryptography.X509Certificates;
public class Example
{
public static void Main()
{
foreach (var storeValue in Enum.GetValues(typeof(StoreName))) {
X509Store store = new X509Store((StoreName) storeValue);
store.Open(OpenFlags.ReadOnly);
Console.WriteLine(store.Name);
}
}
}
Imports System.Security.Cryptography.X509Certificates
Module Example
Public Sub Main()
For Each storeValue In [Enum].GetValues(GetType(StoreName))
Dim store As New X509Store(CType(storeValue, StoreName))
store.Open(OpenFlags.ReadOnly)
Console.WriteLine(store.Name)
Next
End Sub
End Module
Zie Werken met certificaten voor meer informatie over certificaten.
Voorbeelden
Met de volgende opdracht wordt een standaardsysteemarchief my
met uitgebreide uitvoer weergegeven.
certmgr /v /s my
Met de volgende opdracht worden alle certificaten in een bestand met de naam myFile.ext
toegevoegd aan een nieuw bestand met de naam newFile.ext
.
certmgr /add /all /c myFile.ext newFile.ext
Met de volgende opdracht wordt het certificaat in een bestand met de naam testcert.cer
toegevoegd aan het my
systeemarchief.
certmgr /add /c testcert.cer /s my
Met de volgende opdracht wordt het certificaat in een bestand met de naam TrustedCert.cer
toegevoegd aan het basiscertificaatarchief.
certmgr /c /add TrustedCert.cer /s root
Met de volgende opdracht wordt een certificaat met de algemene naam myCert
in het my
systeemarchief opgeslagen in een bestand met de naam newCert.cer
.
certmgr /add /c /n myCert /s my newCert.cer
Met de volgende opdracht worden alle CCL's in het my
systeemarchief verwijderd en wordt het resulterende archief opgeslagen in een bestand met de naam newStore.str
.
certmgr /del /all /ctl /s my newStore.str
Met de volgende opdracht wordt een certificaat opgeslagen in het my
systeemarchief in het bestand newFile
. U wordt gevraagd het certificaatnummer in te voeren van my
waaruit u het certificaat wilt invoeren newFile
.
certmgr /put /c /s my newFile