Sdílet prostřednictvím


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

Viz také