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