Certmgr.exe (Certificate Manager Tool)
Verktyget Certificate Manager (Certmgr.exe) hanterar certifikat, listor över betrodda certifikat (CTL) och listor över återkallade certifikat (CRL).
Certifikathanteraren installeras med Windows 10 SDK. Starta verktyget genom att använda Visual Studio Developer Command Prompt eller Visual Studio Developer PowerShell.
Kommentar
Verktyget Certificate Manager (Certmgr.exe) är ett kommandoradsverktyg, medan Certifikat (Certmgr.msc) är en MMC-snapin-modul (Microsoft Management Console). Eftersom Certmgr.msc vanligtvis finns i Windows System-katalogen kan inmatning certmgr
på kommandoraden läsa in MMC-snapin-modulen Certifikat även om du har öppnat kommandotolken för utvecklare för Visual Studio. Detta beror på att sökvägen till snapin-modulen föregår sökvägen till certificate manager-verktyget i Path
miljövariabeln. Om det här problemet uppstår kan du köra Certmgr.exe kommandon genom att ange sökvägen till den körbara filen, till exempel %ProgramFiles(x86)%\Windows Kits\10\bin\10.0.22000.0\arm64\certmgr.exe.
En översikt över X.509-certifikat finns i Arbeta med certifikat.
Syntax
I kommandotolken anger du följande:
certmgr [/add | /del | /put] [options]
[/s[/r registryLocation]] [sourceStorename]
[/s[/r registryLocation]] [destinationStorename]
Parametrar
Argument | beskrivning |
---|---|
sourceStorename | Certifikatarkivet som innehåller befintliga certifikat, CTL:er eller CRL:er för att lägga till, ta bort, spara eller visa. Detta kan vara en lagringsfil eller ett systemlager. |
destinationStorename | Utdatacertifikatarkivet eller -filen. |
Alternativ | Description |
---|---|
/addera | Lägger till certifikat, CTL:er och CRL:er i ett certifikatarkiv. |
/alla | Lägger till alla poster när de används med /add. Tar bort alla poster när de används med /del. Visar alla poster när de används utan alternativen /add eller /del . Alternativet /all kan inte användas med /put. |
/c | Lägger till certifikat när det används med /add. Tar bort certifikat när de används med /del. Sparar certifikat när de används med /put. Visar certifikat när de används utan alternativet /add, /del eller /put . |
/CRL | Lägger till CRL:er när de används med /add. Tar bort CRL:er när de används med /del. Sparar CRL:er när de används med /put. Visar CRL:er när de används utan alternativet /add, /del eller /put . |
/CTL | Lägger till CTL:er när de används med /add. Tar bort CTL:er när de används med /del. Sparar CTL:er när de används med /put. Visar CTL:er när de används utan alternativet /add, /del eller /put . |
/del | Tar bort certifikat, CTL:er och CRL:er från ett certifikatarkiv. |
/e encodingType | Anger certifikatkodningstypen. Standardvärdet är X509_ASN_ENCODING . |
/f dwFlags | Anger arkivets öppna flagga. Det här är parametern dwFlags som skickas till CertOpenStore. Standardvärdet är CERT_SYSTEM_STORE_CURRENT_USER. Det här alternativet anses endast om alternativet /y används. |
/h[elp] | Visar kommandosyntax och alternativ för verktyget. |
/n nam | Anger det gemensamma namnet på certifikatet som ska läggas till, tas bort eller sparas. Det här alternativet kan bara användas med certifikat. Det kan inte användas med CTL:er eller CRL:er. |
/ställa | Sparar ett X.509-certifikat, CTL eller CRL från ett certifikatarkiv till en fil. Filen sparas i X.509-format. Du kan använda alternativet /7 med alternativet /put för att spara filen i PKCS #7-format. Alternativet /put måste följas av antingen /c, /CTL eller /CRL. Alternativet /all kan inte användas med /put. |
/r plats | Identifierar systemarkivets registerplats. Det här alternativet betraktas endast om du anger alternativet /s . platsen måste vara något av följande: - currentUser anger att certifikatarkivet finns under den HKEY_CURRENT_USER nyckeln. Det här är standardinställningen.- localMachine anger att certifikatarkivet finns under den HKEY_LOCAL_MACHINE nyckeln. |
/s | Anger att certifikatarkivet är ett systemlager. Om du inte anger det här alternativet anses arkivet vara en StoreFile. |
/sha1 sha1Hash | Anger SHA1-hashen för certifikatet, CTL eller CRL för att lägga till, ta bort eller spara. |
/v | Anger utförligt läge. visar detaljerad information om certifikat, CTL:er och CRL:er. Det här alternativet kan inte användas med alternativen /add, /del eller /put . |
/y-provider | Anger butiksleverantörens namn. |
/7 | Sparar målarkivet som ett PKCS #7-objekt. |
/? | Visar kommandosyntax och alternativ för verktyget. |
Kommentarer
Certmgr.exe utför följande grundläggande funktioner:
- Visar certifikat, CTL:er och CRL:er till konsolen.
- Lägger till certifikat, CTL:er och CRL:er i ett certifikatarkiv.
- Tar bort certifikat, CTL:er och CRL:er från ett certifikatarkiv.
- Sparar ett X.509-certifikat, CTL eller CRL från ett certifikatarkiv till en fil.
Certmgr.exe fungerar med två typer av certifikatarkiv: StoreFile och systemarkiv. Det är inte nödvändigt att ange typ av certifikatarkiv. Certmgr.exe kan identifiera butikstypen och utföra lämpliga åtgärder.
Om du kör Certmgr.exe utan att ange några alternativ startas snapin-modulen certmgr.msc, som har ett GUI som hjälper till med de certifikathanteringsuppgifter som också är tillgängliga från kommandoraden. GUI tillhandahåller en importguide som kopierar certifikat, CTL:er och CRL:er från disken till ett certifikatarkiv.
Du hittar namnen på X509Certificate-arkiven för parametrarna sourceStorename
och destinationStorename
genom att kompilera och köra följande 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
Mer information om certifikat finns i Arbeta med certifikat.
Exempel
Följande kommando visar ett standardsystemarkiv som heter my
med utförliga utdata.
certmgr /v /s my
Följande kommando lägger till alla certifikat i en fil som anropas myFile.ext
till en ny fil med namnet newFile.ext
.
certmgr /add /all /c myFile.ext newFile.ext
Följande kommando lägger till certifikatet i en fil med namnet testcert.cer
i systemarkivet my
.
certmgr /add /c testcert.cer /s my
Följande kommando lägger till certifikatet i en fil med namnet TrustedCert.cer
i rotcertifikatarkivet.
certmgr /c /add TrustedCert.cer /s root
Följande kommando sparar ett certifikat med det gemensamma namnet myCert
i systemarkivet my
till en fil med namnet newCert.cer
.
certmgr /add /c /n myCert /s my newCert.cer
Följande kommando tar bort alla CTL:er i systemarkivet my
och sparar det resulterande arkivet i en fil med namnet newStore.str
.
certmgr /del /all /ctl /s my newStore.str
Följande kommando sparar ett certifikat i systemarkivet my
i filen newFile
. Du uppmanas att ange certifikatnumret från my
för att ange i newFile
.
certmgr /put /c /s my newFile