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ż
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla