Certificate Creation-Tool (Makecert.exe)

Das Certificate Creation-Tool generiert X.509-Zertifikate, die ausschließlich für Testzwecke bestimmt sind. Es erstellt ein Schlüsselpaar aus einem öffentlichen und einem privaten Schlüssel für digitale Signaturen und speichert diese in einer Zertifikatsdatei. Dieses Tool weist das Schlüsselpaar auch einem angegebenen Herausgebernamen zu und erstellt ein X.509-Zertifikat, das einen vom Benutzer angegebenen Namen an den öffentlichen Teil des Schlüsselpaares bindet.

Makecert.exe enthält Basisoptionen und erweiterte Optionen. Die Basisoptionen werden meist zum Erstellen von Zertifikaten verwendet. Die erweiterten Optionen stellen eine höhere Flexibilität zur Verfügung.

Von diesem Tool generierte private Zertifikatsschlüssel dürfen nicht in SNK-Dateien gespeichert werden. Wenn ein privater Schlüssel gespeichert werden muss, sollten Sie einen Schlüsselcontainer verwenden. Weitere Informationen zum Speichern eines privaten Schlüssels in einem Schlüsselcontainer finden Sie unter Gewusst wie: Speichern von asymmetrischen Schlüsseln in einem Schlüsselcontainer.

Warnung

Zum sicheren Speichern Ihrer Zertifikate sollten Sie einen Zertifikatsspeicher verwenden. In den von diesem Tool verwendeten SNK-Dateien werden private Schlüssel ungeschützt gespeichert. Wenn Sie eine SNK-Datei erstellen oder importieren, sollten Sie sie während der Verwendung sichern und nach Verwendung entfernen.

makecert [options] outputCertificateFile
Argument Beschreibung

outputCertificateFile

Der Name der CER-Datei, in die das X.509-Testzertifikat geschrieben wird.

Basisoptionen

Option Beschreibung

-n x509name

Gibt den Zertifikatsnamen des Antragstellers an. Dieser Name muss dem X.500-Standard entsprechen. Am einfachsten wird ein Namen in doppelten Anführungszeichen angegebenen, dem CN= vorangestellt ist, z. B. "CN=myName".

-pe

Markiert den generierten privaten Schlüssel als exportierbar. Damit kann der private Schlüssel in das Zertifikat aufgenommen werden.

-sk keyname

Gibt den Speicherort des Schlüsselcontainers, der den privaten Schlüssel enthält, für den Antragsteller an. Wenn kein Schlüsselcontainer vorhanden ist, wird dieser erstellt.

-sr location

Gibt den Speicherort für den Zertifikatsspeicher des Antragstellers an. location kann entweder currentuser (der Standardwert) oder localmachine sein.

-ss store

Gibt den Namen für den Zertifikatsspeicher des Antragstellers an, in dem das ausgegebene Zertifikat gespeichert wird.

-# number

Gibt eine Seriennummer zwischen 1 und 2.147.483.647 an. Der Standardwert ist ein durch Makecert.exe generierter eindeutiger Wert.

-$ authority

Gibt die Signierungsstelle des Zertifikats an, für die commercial (Zertifikate werden von kommerziellen Softwareherausgebern verwendet) oder individual (Zertifikate werden von individuellen Softwareherausgebern verwendet) festgelegt werden muss.

-?

Zeigt die Befehlssyntax mit einer Liste der Basisoptionen für das Tool an.

-!

Zeigt die Befehlssyntax mit einer Liste der erweiterten Optionen für das Tool an.

Erweiterte Optionen

Option Beschreibung

-a algorithm

Gibt den Algorithmus der Signatur an. Dieser muss md5 (der Standardwert) oder sha1 sein.

-b mm/dd/yyyy

Gibt den Anfang der Gültigkeitsperiode an. Der Standardwert ist das Erstellungsdatum des Zertifikats.

-cy certType

Gibt den Zertifikatstyp an. Gültige Werte sind end für Endentität und authority für Zertifizierungsstelle.

-d name

Zeigt den Namen des Antragstellers an.

-e mm/dd/yyyy

Gibt das Ende der Gültigkeitsperiode an. Der Standardwert ist 12/31/2039 11:59:59 GMT.

-eku oid[,oid]

Fügt eine Liste von durch Komma getrennten, erweiterten Objektbezeichnern (OIDs) zur Schlüsselverwendung in das Zertifikat ein.

-h number

Gibt die maximale Höhe der Struktur unterhalb dieses Zertifikats an.

-ic file

Gibt die Zertifikatsdatei des Herausgebers an.

-ik keyName

Gibt den Namen des Schlüsselcontainers des Herausgebers an.

-iky keytype

Gibt den Schlüsseltyp des Herausgebers an. Dieser muss signature, exchange oder eine ganze Zahl sein, die den Anbietertyp darstellt. Standardmäßig können Sie 1 für einen Austauschschlüssel und 2 für einen Signaturschlüssel übergeben.

-in name

Gibt den gemeinsamen Namen des Zertifikats des Herausgebers an.

-ip provider

Gibt den CryptoAPI-Anbieternamen des Herausgebers an.

-ir location

Gibt den Speicherort für den Zertifikatsspeicher des Herausgebers an. location kann currentuser (der Standardwert) oder localmachine sein.

-is store

Gibt den Namen des Zertifikatsspeichers des Herausgebers an.

-iv pvkFile

Gibt die Datei für den privaten Schlüssel (.pvk) des Herausgebers an.

-iy pvkFile

Gibt den CryptoAPI-Anbietertyp des Herausgebers an.

-l link

Verknüpfungen zu den Richtlinieninformationen (z. B. ein URL).

-m number

Gibt die Gültigkeitsdauer des Zertifikats in Monaten an.

-nscp

Fügt die Netscape-Erweiterung für die Clientautorisierung ein.

-r

Erstellt ein selbstsigniertes Zertifikat.

-sc file

Gibt die Zertifikatsdatei des Antragstellers an.

-sky keytype

Gibt den Schlüsseltyp des Antragstellers an. Dieser muss signature, exchange oder eine ganze Zahl sein, die den Anbietertyp darstellt. Standardmäßig können Sie 1 für einen Austauschschlüssel und 2 für einen Signaturschlüssel übergeben.

-sp provider

Gibt den CryptoAPI-Anbieternamen des Antragstellers an.

-sv pvkFile

Gibt die Datei für den privaten Schlüssel (.pvk) des Antragstellers an. Die Datei wird erstellt, sofern sie noch nicht vorhanden ist.

-sy type

Gibt den CryptoAPI-Anbietertyp des Antragstellers an.

Beispiele

Der folgende Befehl erstellt ein vom Standardstammverzeichnis des Tests herausgegebenes Testzertifikat und schreibt es in testCert.cer.

makecert testCert.cer

Der folgende Befehl erstellt ein vom Standardstammverzeichnis des Tests herausgegebenes Zertifikat und speichert es in einem Zertifikatsspeicher.

makecert -ss testCertStore

Der folgende Befehl erstellt ein vom Standardstammverzeichnis des Tests herausgegebenes Zertifikat und speichert es in einem Zertifikatsspeicher. Das Zertifikat wird explizit im currentuser-Speicher platziert.

makecert -ss testCertStore -sr currentuser

Der folgende Befehl erstellt mit dem Schlüsselcontainer und dem X.500-Namen für das Zertifikat des Antragstellers ein Testzertifikat und schreibt dieses in textXYZ.cer.

makecert -sk XYZ -n "CN=XYZ Company" testXYZ.cer 

Der folgende Befehl erstellt ein vom Standardstammverzeichnis des Tests herausgegebenes Zertifikat, erstellt eine PVK-Datei und gibt das Zertifikat an den Speicher und die Datei aus.

makecert -sv testCert.pvk -ss testCertStore testCert.cer

Der folgende Befehl erstellt ein vom Standardstammverzeichnis des Tests herausgegebenes Zertifikat, erstellt einen Schlüsselcontainer und gibt das Zertifikat an den Speicher und die Datei aus.

makecert -sk myTestKey -ss testCertStore testCert.cer

Der folgende Befehl erstellt ein selbstsigniertes Zertifikat, gibt als Namen des Antragstellers "CN=XYZ Company" an, legt den Anfang und das Ende der Gültigkeitsperiode fest, fügt den Schlüssel in den my-Speicher ein, gibt einen Austauschschlüssel an und konfiguriert den privaten Schlüssel als exportierbar.

makecert -r -pe -n "CN=XYZ Company" -b 01/01/2005 -e 01/01/2010 -sky exchange -ss my

Die folgenden Befehle erstellen Zertifikate und speichern sie im Speicher. Der erste Befehl erstellt mithilfe des Standardstammverzeichnisses des Tests ein Zertifikat und speichert das Zertifikat in einem Speicher. Der zweite Befehl erstellt anhand des neu erstellten Zertifikats ein weiteres Zertifikat und speichert das zweite Zertifikat in einem anderen Speicher.

makecert -sk myTestKey -ss testCertStore
makecert -is testCertStore -ss anotherTestStore

Die folgenden Befehle erstellen Zertifikate und speichern sie im Speicher. Der erste Befehl speichert das Zertifikat im my-Speicher. Der zweite Befehl erstellt anhand des neu erstellten Zertifikats ein weiteres Zertifikat. Da im my-Speicher mehrere Zertifikate vorhanden sind, identifiziert der zweite Befehl das erste Zertifikat anhand seines Anzeigenamens.

makecert -sk myTestKey -n "CN=XXZZYY" -ss my
makecert -is my -in "XXZZYY" -ss anotherTestStore

Die folgenden Befehle erstellen Zertifikate und speichern sie in Dateien und im Speicher. Der erste Befehl erstellt mithilfe des Standardstammverzeichnisses des Tests ein Zertifikat und speichert das Zertifikat im my-Speicher und in einer Datei. Der zweite Befehl erstellt anhand des neu erstellten testCert.cer-Zertifikats ein weiteres Zertifikat. Da im my-Speicher mehrere Zertifikate vorhanden sind, identifiziert der zweite Befehl das erste Zertifikat eindeutig anhand des Namens der Zertifikatsdatei.

makecert -sk myTestKey -n "CN=XXZZYY" -ss my testCert.cer
makecert -is my -ic testCert.cer -ss anotherTestStore

Siehe auch

Referenz

.NET Framework-Tools
Software Publisher Certificate Test-Tool (Cert2spc.exe)
SDK-Eingabeaufforderung