Dela via


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

Se även