MakeCert
Hinweis
MakeCert ist veraltet. Verwenden Sie das PowerShell-Cmdlet New-SelfSignedCertificate,um selbstsignierte Zertifikate zu erstellen.
Das MakeCert-Tool erstellt ein X.509-Zertifikat, das vom Teststammschlüssel oder einem anderen angegebenen Schlüssel signiert wird, das Ihren Namen an den öffentlichen Teil des Schlüsselpaars bindet. Das Zertifikat wird in einer Datei, einem Systemzertifikatspeicher oder beidem gespeichert. Das Tool wird im Ordner Bin des \ Installationspfads des Microsoft Windows Software Development Kit (SDK) installiert.
Das MakeCert-Tool verwendet die folgende Befehlssyntax:
MakeCert [ BasicOptions | ExtendedOptions ] OutputFile
OutputFile ist der Name der Datei, in die das Zertifikat geschrieben wird. Sie können OutputFile weglassen, wenn das Zertifikat nicht in eine Datei geschrieben werden soll.
Optionen
MakeCert enthält grundlegende und erweiterte Optionen. Meistens werden die Basisoptionen zum Erstellen von Zertifikaten verwendet. Die erweiterten Optionen stellen eine höhere Flexibilität zur Verfügung.
Die Optionen für MakeCert sind auch in drei Funktionsgruppen unterteilt:
- Grundlegende Optionen, die nur für die Zertifikatspeichertechnologie spezifisch sind.
- Erweiterte Optionen, die nur für SPC-Datei- und Private Key-Technologie spezifisch sind.
- Erweiterte Optionen, die für SPC-Datei-, private Schlüssel- und Zertifikatspeichertechnologie gelten.
Die in den folgenden Tabellen angegebenen Optionen können nur mit Internet Explorer 4.0 oder höher verwendet werden.
| Basic-Option | Beschreibung |
|---|---|
| -a Algorithmus | Hashalgorithmus. Muss entweder auf SHA-1 oder MD5 (Standard) festgelegt werden. Informationen zu MD5 finden Sie unter MD5. |
| -b DateStart | Datum, an dem das Zertifikat zuerst gültig wird. Der Standardwert ist, wenn das Zertifikat erstellt wird. Das Format von DateStart ist mm/tt/yyyy. |
| -cy CertificateTypes | Zertifikattyp. CertificateTypes können end für end-entity oder authority for certification authority sein. |
| -e DateEnd | Datum, an dem die Gültigkeitsdauer endet. Der Standardwert ist das Jahr 2039. |
| -eku OID1,OID2 ... | Fügt eine Liste von durch Komma getrennten,erweiterten Schlüsselverwendungsobjektbezeichnern (OIDs) in das Zertifikat ein. Beispielsweise fügt -eku 1.3.6.1.5.5.7.3.2 die Clientauthentifizierungs-OID ein. Definitionen von zulässigen OIDs finden Sie in der Datei Wincrypt.h in CryptoAPI 2.0. |
| -h NumChildren | Maximale Höhe der Struktur unter diesem Zertifikat. |
| -l PolicyLink | Link zu Richtlinieninformationen der SPC-Agentur (z. B. eine URL). |
| -m nMonths | Dauer der Gültigkeitsdauer. |
| -n"Name" | Name für das Zertifikat des Herausgebers. Dieser Name muss dem X.500-Standard entsprechen. Die einfachste Methode ist die Verwendung des Formats "CN=MyName". Beispiel: -n "CN=Test". |
| -nscp | Die Netscape-Clientauthentifizierungserweiterung sollte enthalten sein. |
| -pe | Markiert den privaten Schlüssel als exportierbar. |
| -r | Erstellen eines selbstsignierten Zertifikats |
| -sc SubjectCertFile | Der Name der Zertifikatdatei mit dem vorhandenen öffentlichen Schlüssel des Betreffs, der verwendet werden soll. |
| -sk SubjectKey | Speicherort des Schlüsselcontainers des Subjekts, der den privaten Schlüssel enthält. Wenn kein Schlüsselcontainer vorhanden ist, wird ein Schlüsselcontainer erstellt. Wenn weder die Option -sk noch -sv verwendet wird, wird standardmäßig ein Standardschlüsselcontainer erstellt und verwendet. |
| -sky SubjectKeySpec | Schlüsselspezifikation des Betreffs. SubjectKeySpec muss einer von drei möglichen Werten sein:
|
| -sp SubjectProviderName | CryptoAPI-Anbieter für Betreff. Der Standardwert ist der Anbieter des Benutzers. Informationen zu CryptoAPI-Anbietern finden Sie in der CryptoAPI 2.0 dokumentation. |
| -sr SubjectCertStoreLocation | Der Registrierungsspeicherort des Zertifikatspeichers des Subjekts. SubjectCertStoreLocation muss entweder LocalMachine (Registrierungsschlüssel HKEY_LOCAL_MACHINE) oder CurrentUser (Registrierungsschlüssel)HKEY_CURRENT_USER. CurrentUser ist die Standardeinstellung. |
| -ss SubjectCertStoreName | Name des Zertifikatspeichers des Subjekts, in dem das generierte Zertifikat gespeichert wird. |
| -sv SubjectKeyFile | Name der PVK-Datei des Betreffs. Wenn weder die Option -sk noch -sv verwendet wird, wird standardmäßig ein Standardschlüsselcontainer erstellt und verwendet. |
| -sy nSubjectProviderType | CryptoAPI-Anbietertyp für Betreff. Der Standardwert ist PROV_RSA_FULL. Informationen zu CryptoAPI-Anbietertypen finden Sie in der CryptoAPI 2.0 Dokumentation. |
| -#Serialnumber | Seriennummer des Zertifikats. Der Höchstwert ist 2^31. Der Standardwert ist ein vom Tool generierter Wert, der garantiert eindeutig ist. |
| -$CertificateAuthority | Typ der Zertifizierungsstelle. CertificateAuthority muss entweder auf "commercial" (für Zertifikate, die von kommerziellen Softwareherausgebern verwendet werden) oder einzeln (für Zertifikate, die von einzelnen Softwareherausgebern verwendet werden) festgelegt werden. |
| -? | Zeigt die grundlegenden Optionen an. |
| -! | Zeigt die erweiterten Optionen an. |
Hinweis
Wenn die Option -sky key specification in Internet Explorer Version 4.0 oder höher verwendet wird, muss die Spezifikation mit der Schlüsselspezifikation übereinstimmen, die durch die Datei des privaten Schlüssels oder den Privaten Schlüsselcontainer angegeben wird. Wenn die Schlüsselspezifikationsoption nicht verwendet wird, wird die von der Datei mit dem privaten Schlüssel oder dem Container für den privaten Schlüssel angegebene Schlüsselspezifikation verwendet. Wenn im Schlüsselcontainer mehrere Schlüsselspezifikationen vorhanden sind, versucht MakeCert zunächst, die AT _ SIGNATURE-Schlüsselspezifikation zu verwenden. Wenn dies fehlschlägt, versucht MakeCert, AT _ KEYEXCHANGE zu verwenden. Da die meisten Benutzer entweder über einen AT _ SIGNATURE-Schlüssel oder einen AT _ KEYEXCHANGE-Schlüssel verfügen, muss diese Option in den meisten Fällen nicht verwendet werden.
Die folgenden Optionen gelten nur für SPC-Dateien (Software Publisher Certificate) und technologie für private Schlüssel.
| SPC- und private Schlüsseloption | Beschreibung |
|---|---|
| -ic IssuerCertFile | Speicherort des Zertifikats des Ausstellers. |
| -ik IssuerKey | Speicherort des Schlüsselcontainers des Ausstellers. Der Standardwert ist der Teststammschlüssel. |
| -iky IssuerKeySpec | Die Schlüsselspezifikation des Ausstellers, die einer von drei möglichen Werten sein muss:
|
| -ip IssuerProviderName | CryptoAPI-Anbieter für Aussteller. Der Standardwert ist der Anbieter des Benutzers. Informationen zu CryptoAPI-Anbietern finden Sie in der CryptoAPI 2.0-Dokumentation. |
| -iv IssuerKeyFile | Datei mit privatem Schlüssel des Ausstellers. Der Standardwert ist der Teststamm. |
| -iy nIssuerProviderType | CryptoAPI-Anbietertyp für Aussteller. Der Standardwert ist PROV_RSA_FULL. Informationen zu CryptoAPI-Anbietertypen finden Sie in der CryptoAPI 2.0-Dokumentation. |
Hinweis
Wenn die -iky-Schlüsselspezifikationsoption in Internet Explorer 4.0 oder höher verwendet wird, muss die Spezifikation mit der Schlüsselspezifikation übereinstimmen, die durch die Datei mit dem privaten Schlüssel oder den privaten Schlüsselcontainerangegeben wird. Wenn die Schlüsselspezifikationsoption nicht verwendet wird, wird die durch die Datei des privaten Schlüssels oder den Privaten Schlüsselcontainer angegebene Schlüsselspezifikation verwendet. Wenn im Schlüsselcontainer mehrere Schlüsselspezifikationen vorhanden sind, versucht MakeCert zunächst, die AT _ SIGNATURE-Schlüsselspezifikation zu verwenden. Wenn dies fehlschlägt, versucht MakeCert, AT _ KEYEXCHANGE zu verwenden. Da die meisten Benutzer entweder über einen AT _ SIGNATURE-Schlüssel oder einen AT _ KEYEXCHANGE-Schlüssel verfügen, muss diese Option in den meisten Fällen nicht verwendet werden.
Die folgenden Optionen gelten nur für Zertifikatspeichertechnologien.
| Zertifikatspeicheroption | Beschreibung |
|---|---|
| -ic IssuerCertFile | Datei, die das Zertifikat des Ausstellers enthält. MakeCert sucht im Zertifikatspeicher nach einem Zertifikat mit einer genauen Übereinstimmung. |
| -in IssuerNameString | Allgemeiner Name des Zertifikats des Ausstellers. MakeCert sucht im Zertifikatspeicher nach einem Zertifikat, dessen allgemeiner Name IssuerNameString enthält. |
| -ir IssuerCertStoreLocation | Registrierungsspeicherort des Zertifikatspeichers des Ausstellers. IssuerCertStoreLocation muss entweder LocalMachine (Registrierungsschlüssel HKEY _ LOCAL _ MACHINE) oder CurrentUser (Registrierungsschlüssel HKEY _ CURRENT _ USER) sein. CurrentUser ist die Standardeinstellung. |
| -is IssuerCertStoreName | Der Zertifikatspeicher des Ausstellers, der das Zertifikat des Ausstellers und die zugehörigen Informationen zum privaten Schlüssel enthält. Wenn mehr als ein Zertifikat im Speicher vorhanden ist, muss der Benutzer es mithilfe der Option -ic oder -in eindeutig identifizieren. Wenn das Zertifikat im Zertifikatspeicher nicht eindeutig identifiziert wird, schlägt MakeCert fehl. |