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 z zestawem WINDOWS 10 SDK. 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 Certyfikaty, nawet jeśli został otwarty wiersz polecenia dewelopera 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ć Certmgr.exe polecenia, 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 |
---|---|
/dodawać | Dodaje certyfikaty oraz listy CTL i CRL do magazynu certyfikatów. |
/cały | Dodaje wszystkie wpisy używane z /add. Usuwa wszystkie wpisy, gdy są używane z /del. Wyświetla wszystkie wpisy, gdy są używane bez /add lub /del opcje. / all opcji nie można użyć z /put. |
/c | Dodaje certyfikaty w przypadku użycia z /add. Usuwa certyfikaty w przypadku użycia z /del. Zapisuje certyfikaty w przypadku użycia z /put. Wyświetla certyfikaty, gdy są używane bez opcji /add, /del lub /put . |
/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 w przypadku użycia bez opcji /add, /del lub /put . |
/CTL | Dodaje listy CRL w przypadku użycia z /add. Usuwa listy CTL w przypadku użycia z /del. Zapisuje listy CTL w przypadku użycia z /put. Wyświetla listy CTL, gdy są używane bez opcji /add, /del lub /put . |
/Del | Usuwa certyfikaty oraz listy CTL i CRL z magazynu certyfikatów. |
/e encodingType | Określa typ kodowania certyfikatu. Wartość domyślna to X509_ASN_ENCODING . |
/f dwFlags | Określa flagę otwarcia magazynu. Jest to parametr dwFlags przekazany do CertOpenStore. Wartość domyślna to CERT_SYSTEM_STORE_CURRENT_USER. Ta opcja jest traktowana tylko wtedy, gdy jest używana opcja /y . |
/h[elp] | Wyświetla składnię polecenia i opcje narzędzia. |
/n nam | 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. |
/kłaść | 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 zapisać plik w formacie PKCS #7. / put opcji musi być obserwowany przez /c, /CTL lub /CRL. / all opcji nie można użyć z /put. |
/r lokalizacja | Określa lokalizację w rejestrze magazynu systemowego. Ta opcja jest brana pod uwagę tylko wtedy, gdy określisz /s opcji. lokalizacja musi być jedną z następujących wartości: - currentUser wskazuje, że magazyn certyfikatów znajduje się pod kluczem HKEY_CURRENT_USER. Jest to opcja domyślna.- localMachine wskazuje, że magazyn certyfikatów znajduje się pod kluczem 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. |
/sha1 Sha1Hash | 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żywać z /add, /del lub /put opcji. |
/y provider | 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ółdziała 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 magazynu systemowego my
.
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 pospolitej myCert
w my
magazynie systemowym do pliku o nazwie newCert.cer
.
certmgr /add /c /n myCert /s my newCert.cer
Następujące polecenie usuwa wszystkie listy CCL w magazynie systemowym my
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 systemowym w pliku newFile
. Zostanie wyświetlony monit o wprowadzenie numeru certyfikatu z my
w celu wprowadzenia elementu newFile
.
certmgr /put /c /s my newFile