Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
edpweb3:ssl-zertifikatstool [2026/05/05 14:49] – [Erstellen der Root CA] patrickedpweb3:ssl-zertifikatstool [2026/08/10 17:16] (aktuell) patrick
Zeile 10: Zeile 10:
  
   - Das Tool starten   - Das Tool starten
-  - Im Dialog „Arbeitsverzeichnis auswählen klicken +  - Im Dialog „Arbeitsverzeichnis auswählen" einen beliebigen Ordner auswählen (z.B. einen lokalen Ordner auf dem Rechner) 
-  - Einen beliebigen Ordner auswählen (z.B. einen lokalen Ordner auf dem Rechner) +  - Das Tool legt darin automatisch einen Unterordner „projekte" an (heißt der gewählte Ordner selbst schon „projekte", wird er direkt verwendet)
-  - Das Tool legt automatisch einen Unterordner „projekte" an+
  
-Das gewählte Arbeitsverzeichnis wird dauerhaft gespeichert und muss nicht erneut ausgewählt werden. Falls im aktuellen Verzeichnis keine Projekte gefunden werden, kann über den Button „Arbeitsverzeichnis wechseln …" am unteren Rand des Projektbildschirms ein anderes Verzeichnis gewählt werden.+Das gewählte Arbeitsverzeichnis wird dauerhaft gespeichert und muss nicht erneut ausgewählt werden. Es kann jederzeit im Dialog „Projekt auswählen" unter „Arbeitsverzeichnis" über den Button „Arbeitsverzeichnis wechseln …" geändert werden.
  
 ===== Projekt erstellen ===== ===== Projekt erstellen =====
Zeile 20: Zeile 19:
 Das Zertifikatstool arbeitet projektbasiert. Jedes Projekt enthält eine eigene PKI-Infrastruktur (Root CA, Issuing CA) und die daraus erstellten Zertifikate. Das Zertifikatstool arbeitet projektbasiert. Jedes Projekt enthält eine eigene PKI-Infrastruktur (Root CA, Issuing CA) und die daraus erstellten Zertifikate.
  
-  Auf dem Startbildschirm unter „Neues Projekt erstellen" einen Projektnamen eingeben (z.B. den Kundennamen oder Firmennamen)+Beim Start erscheint der Dialog „Projekt auswählen". Er lässt sich später jederzeit über den Button „Projektauswahl …" oben rechts im Hauptfenster erneut öffnen. 
 + 
 +  Im Dialog „Projekt auswählen" unter „Neues Projekt erstellen" einen Projektnamen eingeben (z.B. den Kundennamen oder Firmennamen)
   - Auf „Projekt erstellen" klicken   - Auf „Projekt erstellen" klicken
   - Das Projekt wird angelegt und automatisch geöffnet   - Das Projekt wird angelegt und automatisch geöffnet
  
-Vorhandene Projekte können über die Projektliste auf dem Startbildschirm durch Klick auf den jeweiligen Button wieder geöffnet werden.+Vorhandene Projekte stehen im selben Dialog unter „Vorhandenes Projekt öffnen" in einer Liste. Ein Projekt auswählen und auf „Projekt öffnen" klicken — ein Doppelklick auf den Listeneintrag öffnet es ebenfalls. 
 + 
 +Im Hauptfenster zeigt die Statuszeile unter dem Projektnamen jederzeit an, ob Root CA und Issuing CA im geöffneten Projekt bereits vorhanden sind.
  
 ==== Projekt importieren/exportieren ==== ==== Projekt importieren/exportieren ====
Zeile 30: Zeile 33:
 Projekte können als ZIP-Datei exportiert und importiert werden. Dies ermöglicht die einfache Weitergabe und Sicherung von kompletten PKI-Strukturen inklusive aller Zertifikate. Projekte können als ZIP-Datei exportiert und importiert werden. Dies ermöglicht die einfache Weitergabe und Sicherung von kompletten PKI-Strukturen inklusive aller Zertifikate.
  
-  * **Export:** Im geöffneten Projekt auf „Projekt exportieren (ZIP)" klicken +  * **Export:** Im geöffneten Projekt auf „Projekt exportieren (ZIP) " klicken und einen Speicherort wählen. Existiert die Datei bereits, wird vor dem Überschreiben nachgefragt. 
-  * **Import:** Auf dem Startbildschirm unter „Projekt importieren" eine ZIP-Datei auswählen+  * **Import:** Im Dialog „Projekt auswählen" unter „Projekt importieren" auf „ZIP-Datei auswählen …" klicken
  
 ===== Erstellen der Root CA ===== ===== Erstellen der Root CA =====
Zeile 64: Zeile 67:
 Falls bereits eine Root CA vorhanden ist, kann diese importiert werden: Falls bereits eine Root CA vorhanden ist, kann diese importiert werden:
  
-  - Auf „Root CA importieren …" klicken+  - Auf „Vorhandene Root CA importieren …" klicken
   - Im ersten Dialog das Zertifikat (.crt/.pem/.cer) auswählen   - Im ersten Dialog das Zertifikat (.crt/.pem/.cer) auswählen
   - Im zweiten Dialog den privaten Schlüssel (.key/.pem) auswählen   - Im zweiten Dialog den privaten Schlüssel (.key/.pem) auswählen
   - Das Tool validiert, ob es sich um ein CA-Zertifikat handelt   - Das Tool validiert, ob es sich um ein CA-Zertifikat handelt
 +
 +Sobald eine Root CA vorhanden ist, werden die Felder im Reiter „1. Root CA" schreibgeschützt angezeigt und die beiden Buttons deaktiviert. Eine bestehende Root CA kann also nicht versehentlich überschrieben werden.
  
 ===== Erstellen der Issuing CA ===== ===== Erstellen der Issuing CA =====
Zeile 76: Zeile 81:
  
   - In den Reiter „2. Issuing CA" wechseln   - In den Reiter „2. Issuing CA" wechseln
-  - Die gleichen Felder wie bei der Root CA ausfüllen (mit angepasstem Common Name, z.B. Meine Organisation Issuing CA")+  - Die Felder sind bereits aus der Root CA vorbelegt; im Common Name ersetzt das Tool dabei „Root CA" durch „Issuing CA". Die Werte können bei Bedarf angepasst werden.
   - Auf „Issuing CA erstellen" klicken   - Auf „Issuing CA erstellen" klicken
   - Die Issuing CA wird mit folgenden Parametern erstellt:   - Die Issuing CA wird mit folgenden Parametern erstellt:
Zeile 88: Zeile 93:
 Analog zur Root CA kann auch eine vorhandene Issuing CA importiert werden: Analog zur Root CA kann auch eine vorhandene Issuing CA importiert werden:
  
-  - Auf „Issuing CA importieren …" klicken+  - Auf „Vorhandene Issuing CA importieren …" klicken
   - Im ersten Dialog das Zertifikat (.crt/.pem/.cer) auswählen   - Im ersten Dialog das Zertifikat (.crt/.pem/.cer) auswählen
   - Im zweiten Dialog den privaten Schlüssel (.key/.pem) auswählen   - Im zweiten Dialog den privaten Schlüssel (.key/.pem) auswählen
 +
 +Auch hier gilt: Ist die Issuing CA angelegt, sind die Felder schreibgeschützt und die Buttons deaktiviert. Die Reiter „3. Server-Zertifikat" und „4. Client-Zertifikat" lassen sich erst bedienen, wenn Root CA und Issuing CA vorhanden sind.
  
 ===== Erstellen eines Server-Zertifikats ===== ===== Erstellen eines Server-Zertifikats =====
Zeile 97: Zeile 104:
  
   - In den Reiter „3. Server-Zertifikat" wechseln   - In den Reiter „3. Server-Zertifikat" wechseln
-  - Im Feld „Domains (SANs)" alle Domains eintragen, unter denen der Server erreichbar sein soll (je eine Domain pro Zeile oder kommagetrennt), z.B.:+  - Im Feld „Domains und IP-Adressen (SANs)" alle Namen und Adressen eintragen, unter denen der Server erreichbar sein soll (je ein Eintrag pro Zeile oder kommagetrennt), z.B.:
     * meinserver.de     * meinserver.de
     * www.meinserver.de     * www.meinserver.de
     * api.meinserver.de     * api.meinserver.de
 +    * 192.168.1.10
   - Auf „Server-Zertifikat erstellen" klicken   - Auf „Server-Zertifikat erstellen" klicken
 +
 +**Domains und IP-Adressen:** Das Tool erkennt automatisch, ob ein Eintrag eine IP-Adresse oder ein Name ist, und trägt ihn als **IP-SAN** bzw. als **DNS-SAN** ein. Das ist wichtig, weil Browser für einen Aufruf über die IP-Adresse (z.B. ''https://192.168.1.10'') zwingend eine IP-SAN verlangen — ein als Name eingetragenes ''192.168.1.10'' wird abgelehnt.
 +
 +Soll der Server sowohl über den Namen als auch über die IP-Adresse erreichbar sein, müssen **beide** Einträge im Feld stehen.
 +
 +Alle Einträge werden in die Subject Alternative Names (SANs) des Zertifikats geschrieben. Der erste Eintrag wird zusätzlich als Common Name (CN) gesetzt und bestimmt den Namen des Ausgabeordners.
  
 Das Tool erstellt automatisch folgende Dateien im EDPweb-Format: Das Tool erstellt automatisch folgende Dateien im EDPweb-Format:
Zeile 179: Zeile 193:
 | EDPwebClient.pfx | Client-Zertifikat für Browser (Windows, iOS) | Import in Zertifikatsspeicher | | EDPwebClient.pfx | Client-Zertifikat für Browser (Windows, iOS) | Import in Zertifikatsspeicher |
 | ClientZert.pem | Client-Zertifikat für edp:sync | /EDP/server/ | | ClientZert.pem | Client-Zertifikat für edp:sync | /EDP/server/ |
 +
 +===== Kommandozeilen-Modus (ohne Grafikoberfläche) =====
 +
 +Das Zertifikatstool bringt neben der Grafikoberfläche einen vollwertigen Kommandozeilen-Modus mit. Er ist gedacht für Skripte und automatisierte Abläufe sowie für Rechner, auf denen keine Oberfläche erwünscht ist.
 +
 +Wird das Tool **mit Argumenten** aufgerufen, läuft es als Kommandozeilenprogramm — ohne Argumente startet weiterhin die Grafikoberfläche. Eine Übersicht aller Befehle liefert:
 +
 +  zertifikatstool hilfe
 +
 +==== Arbeitsverzeichnis ====
 +
 +Der Kommandozeilen-Modus verwendet dasselbe gespeicherte Arbeitsverzeichnis wie die Grafikoberfläche.
 +
 +  zertifikatstool arbeitsverzeichnis
 +  zertifikatstool arbeitsverzeichnis -setzen C:\PKI\projekte
 +
 +Zusätzlich kann bei jedem Befehl mit ''-workdir PFAD'' einmalig ein anderes Verzeichnis verwendet werden. Ist überhaupt kein Arbeitsverzeichnis gesetzt, wird der Unterordner „projekte" neben der EXE-Datei genutzt.
 +
 +==== Vollständiger Ablauf einer neuen PKI ====
 +
 +  zertifikatstool projekt-neu -name "Meine Firma"
 +  zertifikatstool root-ca -projekt "Meine Firma" -cn "Meine Firma Root CA" -o "Meine Firma" -ou "IT-Abteilung" -c DE -st HE -l Schmitten
 +  zertifikatstool issuing-ca -projekt "Meine Firma"
 +  zertifikatstool server-cert -projekt "Meine Firma" -domains meinserver.de,www.meinserver.de
 +  zertifikatstool client-cert -projekt "Meine Firma" -name "Max Mustermann" -email max@meinserver.de -passwort geheim
 +
 +Bei ''issuing-ca'' werden nicht angegebene Felder — wie in der Grafikoberfläche — automatisch aus der Root CA übernommen (im Common Name wird „Root CA" durch „Issuing CA" ersetzt). Das Passwort der PKCS#12-Datei kann statt über ''-passwort'' auch über die Umgebungsvariable ''ZT_P12_PASSWORT'' übergeben werden, damit es nicht in der Prozessliste sichtbar ist.
 +
 +==== Übersicht der Befehle ====
 +
 +^ Befehl ^ Beschreibung ^
 +| arbeitsverzeichnis [-setzen PFAD] | Arbeitsverzeichnis anzeigen oder festlegen |
 +| projekte | Alle Projekte inkl. CA-Zustand auflisten |
 +| projekt-neu -name NAME | Neues Projekt anlegen |
 +| projekt-export -projekt NAME -out ZIP | Projekt als ZIP exportieren |
 +| projekt-import -zip ZIP | Projekt aus ZIP importieren |
 +| status -projekt NAME | Zustand der CAs und nächsten Schritt anzeigen |
 +| root-ca -projekt NAME -cn CN [-o -ou -c -st -l] | Root CA erstellen |
 +| root-import -projekt NAME -cert DATEI -key DATEI | Vorhandene Root CA importieren |
 +| issuing-ca -projekt NAME [-cn ...] | Issuing CA erstellen |
 +| issuing-import -projekt NAME -cert DATEI -key DATEI | Vorhandene Issuing CA importieren |
 +| server-cert -projekt NAME -domains LISTE | Server-Zertifikat mit SANs erstellen |
 +| client-cert -projekt NAME -name NAME [-email -passwort] | Client-Zertifikat inkl. .pfx erstellen |
 +| liste -projekt NAME | Ausgestellte Zertifikate auflisten |
 +| pruefen -projekt NAME | Zertifikatskette verifizieren |
 +
 +Die Angabe bei ''-projekt'' akzeptiert den Projektnamen, den Ordnernamen oder einen vollständigen Pfad zum Projektordner. Der Rückgabewert ist 0 bei Erfolg, 1 bei einem Fehler und 2 bei einem falschen Aufruf — damit lässt sich der Kommandozeilen-Modus auch in Skripten verwenden.