Certmgr.exe (nástroj Certificate Manager)
Nástroj Správce certifikátů (Certmgr.exe) spravuje certifikáty, seznamy důvěryhodných certifikátů (CTL) a seznamy odvolaných certifikátů (CRL).
Správce certifikátů se nainstaluje se sadou Windows 10 SDK. Pokud chcete nástroj spustit, použijte Visual Studio Developer Command Prompt nebo Visual Studio Developer PowerShell.
Poznámka:
Správce certifikátů (Certmgr.exe) je nástroj příkazového řádku, zatímco Certifikáty (Certmgr.msc) jsou modulem snap-in konzoly MMC (Microsoft Management Console). Protože Certmgr.msc se obvykle nachází v systémovém adresáři Systému Windows, může zadávání certmgr
na příkazovém řádku načíst modul snap-in Certifikáty konzoly MMC, i když jste otevřeli příkazový řádek pro vývojáře pro Visual Studio. K tomu dochází, protože cesta k modulu snap-in předchází cestě k nástroji Správce certifikátů v Path
proměnné prostředí. Pokud narazíte na tento problém, můžete spustit příkazy Certmgr.exe zadáním cesty ke spustitelnému souboru, například %ProgramFiles(x86)%\Windows Kits\10\bin\10.0.22000.0\arm64\certmgr.exe.
Přehled certifikátů X.509 najdete v tématu Práce s certifikáty.
Syntaxe
Na příkazovém řádku zadejte následující:
certmgr [/add | /del | /put] [options]
[/s[/r registryLocation]] [sourceStorename]
[/s[/r registryLocation]] [destinationStorename]
Parametry
Argument | Popis |
---|---|
sourceStorename | Úložiště certifikátů obsahuje aktuální certifikáty, soubory CTL nebo CRL, které lze přidat, odstranit, uložit nebo zobrazit. To může představovat soubor úložiště nebo systémové úložiště. |
destinationStorename | Výstupní úložiště certifikátů nebo soubor. |
Možnost | Popis |
---|---|
/přidat | Přidá certifikáty, soubory CTL a CRL do úložiště certifikátů. |
/všichni | Přidá všechny položky při použití s /add. Odstraní všechny položky při použití s /del. Zobrazí všechny položky při použití bez možností /add nebo /del . Možnost /all nelze použít s parametrem /put. |
/c | Přidá certifikáty při použití s /add. Odstraní certifikáty při použití s /del. Uloží certifikáty při použití s /put. Zobrazí certifikáty při použití bez možnosti /add, /del nebo /put . |
/CRL | Přidá seznamy CRL při použití s příponou /add. Odstraní seznamy CRL při použití s /del. Uloží seznamy CRL při použití s /put. Zobrazí seznamy CRL při použití bez možnosti /add, /del nebo /put . |
/CTL | Přidá seznamy CTLS při použití s příponou /add. Odstraní seznamy CTLS při použití s /del. Uloží seznamy CTLS při použití s /put. Zobrazí seznamy CTLS při použití bez možnosti /add, /del nebo /put . |
/del | Odstraní certifikáty, soubory CTL a CRL z úložiště certifikátů. |
/e encodingType | Určuje typ kódování certifikátu. Výchozí hodnota je X509_ASN_ENCODING . |
/f dwFlags | Určuje příznak pro otevření úložiště. Toto je parametr dwFlags předaný do CertOpenStore. Výchozí hodnota je CERT_SYSTEM_STORE_CURRENT_USER. Tato možnost se považuje pouze v případě, že se používá možnost /y . |
/h[elp] | Zobrazí syntaxi příkazu a možnosti nástroje. |
/n nam | Určuje obecný název certifikátu, který se má přidat, odstranit nebo uložit. Tuto možnost lze použít u certifikátů. Nelze ji použít u souborů CTL nebo u CRL. |
/dát | Uloží do souboru certifikát X.509, soubor CTL nebo CRL z úložiště certifikátů. Soubor je uložen ve formátu X.509. K uložení souboru ve formátu PKCS #7 můžete použít možnost /7 s možností /put . Za parametrem /put musí následovat /c, /CTL nebo /CRL. Možnost /all nelze použít s parametrem /put. |
Umístění /r | Určuje umístění registru v rámci systémového úložiště. Tato možnost se považuje za pouze v případě, že zadáte možnost /s . umístění musí být jedno z následujících: - currentUser označuje, že úložiště certifikátů je pod klíčem HKEY_CURRENT_USER. Tato možnost je výchozí.- localMachine označuje, že úložiště certifikátů je pod klíčem HKEY_LOCAL_MACHINE. |
/s | Určuje, že je úložiště certifikátů systémovým úložištěm. Pokud tuto možnost nezadáte, považuje se úložiště za StoreFile. |
/sha1 sha1Hash | Určuje hodnotu hash SHA1 certifikátu, souboru CTl nebo CRl, který se má přidat, odstranit nebo uložit. |
/v | Určuje podrobný režim. Zobrazí detailní informace o certifikátech, souborech CTL a CRL. Tuto možnost nelze použít s možnostmi /add, /del nebo /put . |
Poskytovatel /y | Určuje název poskytovatele úložiště. |
/7 | Ukládá cílové úložiště jako objekt PKCS #7. |
/? | Zobrazí syntaxi příkazu a možnosti nástroje. |
Poznámky
Nástroj Certmgr.exe vykonává následující základní funkce:
- Zobrazí certifikáty, soubory CTL a CRL do konzoly.
- Přidá certifikáty, soubory CTL a CRL do úložiště certifikátů.
- Odstraní certifikáty, soubory CTL a CRL z úložiště certifikátů.
- Uloží do souboru certifikát X.509, soubor CTL nebo CRL z úložiště certifikátů.
Certmgr.exe funguje se dvěma typy úložišť certifikátů: StoreFile a systémovým úložištěm. Není nutné zadat typ úložiště certifikátů; Certmgr.exe může identifikovat typ úložiště a provádět příslušné operace.
Spuštěním nástroje Certmgr.exe bez určení jakýchkoli možností dojde ke spuštění modulu snap-in certmgr.msc, který obsahuje uživatelské rozhraní, které pomáhá s úlohami správy certifikátů, které jsou dostupné také z příkazového řádku. Uživatelské rozhraní poskytuje průvodce importováním, který zkopíruje certifikáty, soubory CTL a CRL z disku do úložiště certifikátů.
Názvy úložišť X509Certificate pro parametry sourceStorename
destinationStorename
najdete kompilováním a spuštěním následujícího kódu.
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
Další informace o certifikátech naleznete v tématu Práce s certifikáty.
Příklady
Následující příkaz zobrazí výchozí systémové úložiště volané my
s podrobným výstupem.
certmgr /v /s my
Následující příkaz přidá všechny certifikáty do souboru volaný myFile.ext
do nového souboru s názvem newFile.ext
.
certmgr /add /all /c myFile.ext newFile.ext
Následující příkaz přidá certifikát do souboru pojmenovaného testcert.cer
do systémového my
úložiště.
certmgr /add /c testcert.cer /s my
Následující příkaz přidá certifikát do souboru s názvem TrustedCert.cer
do kořenového úložiště certifikátů.
certmgr /c /add TrustedCert.cer /s root
Následující příkaz uloží certifikát s běžným názvem myCert
v systémovém my
úložišti do souboru s názvem newCert.cer
.
certmgr /add /c /n myCert /s my newCert.cer
Následující příkaz odstraní všechny seznamy CTLS v systémovém my
úložišti a uloží výsledné úložiště do souboru s názvem newStore.str
.
certmgr /del /all /ctl /s my newStore.str
Následující příkaz uloží certifikát do systémového my
úložiště v souboru newFile
. Zobrazí se výzva k zadání čísla certifikátu, ze my
které chcete zadat newFile
.
certmgr /put /c /s my newFile