Certmgr.exe (Menedżer certyfikatów)

Narzędzie Menedżer certyfikatów (Certmgr.exe) zarządza certyfikatami, listami zaufania certyfikatów (CTL) oraz listami odwołania certyfikatów (CRL).

Menedżer certyfikatów jest instalowany za pomocą zestawu SDK Windows 10. Aby uruchomić narzędzie, użyj wiersza polecenia dla deweloperów programu Visual Studio lub programu Visual Studio Developer PowerShell.

Uwaga

Narzędzie Menedżer certyfikatów (Certmgr.exe) jest narzędziem wiersza polecenia, natomiast narzędzie Certyfikaty (Certmgr.msc) jest przystawką programu Microsoft Management Console (MMC). Ponieważ plik Certmgr.msc znajduje się zwykle w katalogu systemowym systemu Windows, wprowadzenie certmgr w wierszu polecenia może załadować przystawkę MMC certyfikatów, nawet jeśli został otwarty wiersz polecenia dla deweloperów dla programu Visual Studio. Dzieje się tak, ponieważ ścieżka do przystawki poprzedza ścieżkę do narzędzia Menedżer certyfikatów w zmiennej środowiskowej Path . Jeśli wystąpi ten problem, możesz wykonać polecenia Certmgr.exe, określając ścieżkę do pliku wykonywalnego, na przykład %ProgramFiles(x86)%\Windows Kits\10\bin\10.0.22000.0\arm64\certmgr.exe.

Aby zapoznać się z omówieniem certyfikatów X.509, zobacz Praca z certyfikatami.

Składnia

W wierszu polecenia wprowadź następujące polecenie:

certmgr [/add | /del | /put] [options]
[/s[/r registryLocation]] [sourceStorename]
[/s[/r registryLocation]] [destinationStorename]

Parametry

Argument Opis
sourceStorename Magazyn certyfikatów zawierający istniejące certyfikaty, listy CTL lub CRL do dodania, zapisania lub wyświetlenia. Może to być plik magazynu lub magazyn systemowy.
destinationStorename Wyjściowy magazyn lub plik certyfikatów.
Opcja Opis
/Dodaj Dodaje certyfikaty oraz listy CTL i CRL do magazynu certyfikatów.
/Wszystkie Dodaje wszystkie wpisy, gdy są używane z /add. Usuwa wszystkie wpisy, gdy są używane z /del. Wyświetla wszystkie wpisy, gdy są używane bez opcji /add lub /del . /all opcji nie można użyć z /put.
/C Dodaje certyfikaty używane z /add. Usuwa certyfikaty używane z /del. Zapisuje certyfikaty w przypadku użycia z /put. Wyświetla certyfikaty, gdy są używane bez opcji /add, /del lub /put .
/Listy crl Dodaje listy CRL w przypadku użycia z /add. Usuwa listy CRL w przypadku użycia z /del. Zapisuje listy CRL w przypadku użycia z /put. Wyświetla listy CRL, gdy są używane bez opcji /add, /del lub /put .
/CTL Dodaje listy CRL w przypadku użycia z /add. Usuwa listy CRL, gdy są używane z /del. Zapisuje listy CRL w przypadku użycia z /put. Wyświetla listy CRL, gdy są używane bez opcji /add, /del lub /put .
/Del Usuwa certyfikaty oraz listy CTL i CRL z magazynu certyfikatów.
/ekodowanieType Określa typ kodowania certyfikatu. Wartość domyślna to X509_ASN_ENCODING.
/fdwFlags Określa flagę otwarcia magazynu. Jest to parametr dwFlags przekazany do CertOpenStore. Wartość domyślna to CERT_SYSTEM_STORE_CURRENT_USER. Ta opcja jest uznawana tylko wtedy, gdy jest używana opcja /y .
/h[elp] Wyświetla składnię polecenia i opcje narzędzia.
/nnam Określa wspólną nazwę certyfikatu do dodania, usunięcia lub zapisania. Tej opcji można używać tylko z certyfikatami; nie można używać jej z listami CTL i CRL.
/Umieścić Zapisuje certyfikat X.509, listę CTL lub CRL z magazynu certyfikatów w pliku. Plik jest zapisywany w formacie X.509. Możesz użyć / 7 opcji z /put opcji, aby zapisać plik w formacie PKCS #7. Po / put opcji musi nastąpić /c, /CTL lub /CRL. /all opcji nie można użyć z /put.
/rlokalizacja Określa lokalizację w rejestrze magazynu systemowego. Ta opcja jest uznawana tylko wtedy, gdy określisz /s opcji. lokalizacja musi być jedną z następujących lokalizacji:

- currentUser wskazuje, że magazyn certyfikatów znajduje się w kluczu HKEY_CURRENT_USER. Jest to opcja domyślna.
- localMachine wskazuje, że magazyn certyfikatów znajduje się w kluczu HKEY_LOCAL_MACHINE.
/S Wskazuje, że magazyn certyfikatów jest magazynem systemowym. Jeśli nie określisz tej opcji, magazyn jest uważany za StoreFile.
/sha1Sha1Hash Określa skrót SHA1 certyfikatu, listy CTL lub CRL do dodania, usunięcia lub zapisania.
/V Określa tryb pełny; wyświetla szczegółowe informacje dotyczące certyfikatu oraz list CTL i CRL. Tej opcji nie można użyć z /add, /del lub /put opcji.
/yprovider Określa nazwę dostawcy magazynu.
/7 Zapisuje magazyn docelowy jako obiekt w formacie PKCS #7.
/? Wyświetla składnię polecenia i opcje narzędzia.

Uwagi

Program Certmgr.exe wykonuje następujące podstawowe funkcje:

  • Wyświetla na konsoli certyfikaty oraz listy CTL i CRL.
  • Dodaje certyfikaty oraz listy CTL i CRL do magazynu certyfikatów.
  • Usuwa certyfikaty oraz listy CTL i CRL z magazynu certyfikatów.
  • Zapisuje certyfikat X.509, listę CTL lub CRL z magazynu certyfikatów w pliku.

Certmgr.exe współpracuje z dwoma typami magazynów certyfikatów: StoreFile i magazyn systemowy. Nie trzeba określać typu magazynu certyfikatów; Certmgr.exe może zidentyfikować typ magazynu i wykonać odpowiednie operacje.

Uruchomienie programu Certmgr.exe bez określenia żadnej opcji spowoduje uruchomienie przystawki certmgr.msc wyposażonej w graficzny interfejs użytkownika ułatwiający wykonywanie zadań zarządzania certyfikatami, które są również dostępne w wierszu polecenia. Graficzny interfejs użytkownika dostarcza kreatora importu, który kopiuje certyfikaty oraz listy CTL i CRL z dysku do magazynu certyfikatów.

Nazwy magazynów X509Certificate dla sourceStorename parametrów i destinationStorename można znaleźć, kompilując i uruchamiając następujący kod.

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

Aby uzyskać więcej informacji na temat certyfikatów, zobacz Praca z certyfikatami.

Przykłady

Następujące polecenie wyświetla domyślny magazyn systemowy o nazwie my z pełnymi danymi wyjściowymi.

certmgr /v /s my

Następujące polecenie dodaje wszystkie certyfikaty w pliku o nazwie myFile.ext do nowego pliku o nazwie newFile.ext.

certmgr /add /all /c myFile.ext newFile.ext

Następujące polecenie dodaje certyfikat w pliku o nazwie testcert.cer do my magazynu systemu.

certmgr /add /c testcert.cer /s my

Następujące polecenie dodaje certyfikat w pliku o nazwie TrustedCert.cer do głównego magazynu certyfikatów.

certmgr /c /add TrustedCert.cer /s root

Następujące polecenie zapisuje certyfikat o nazwie myCert pospolitej w my magazynie systemowym w pliku o nazwie newCert.cer.

certmgr /add /c /n myCert /s my newCert.cer

Następujące polecenie usuwa wszystkie listy CCL w my magazynie systemowym i zapisuje wynikowy magazyn w pliku o nazwie newStore.str.

certmgr /del /all /ctl /s my newStore.str

Następujące polecenie zapisuje certyfikat w my magazynie systemu w pliku newFile. Zostanie wyświetlony monit o wprowadzenie numeru certyfikatu z my w celu wprowadzenia polecenia newFile.

certmgr /put /c /s my newFile

Zobacz też