Erstellen von SSL-Zertifikaten für edp:web & edp:sync
edp:web bietet die Möglichkeit die Datenverbindungen mittels https über TLS zu verschlüsseln, um den unbefugten Zugriff auf Daten durch Dritte zu verhindern. Diese Verschlüsselungsverfahren benötigen Zertifikate und Schlüssel zur Berechnung der kryptografischen Prozesse. In diesem Artikel wird die Erstellung dieser Zertifikate und Schlüssel mittels dem Zertifikatstool gezeigt. Die erstellten Zertifikate sind BSI TR-02102-2 konform (ECDSA P-384 / SHA-384). Anschließend wird noch die Möglichkeit der Authentifizierung mittels Clientzertifikaten demonstriert, die eine weitere starke Absicherung gegenüber unbefugtem Zugriff auf die Systeme bietet.
Erster Start & Arbeitsverzeichnis
Beim ersten Start des Zertifikatstools wird ein Arbeitsverzeichnis abgefragt. In diesem Verzeichnis werden alle Projekte und die zugehörigen Zertifikate gespeichert.
- Das Tool starten
- Im Dialog „Arbeitsverzeichnis auswählen …„ klicken
- Einen beliebigen Ordner auswählen (z.B. einen lokalen Ordner auf dem Rechner)
- 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.
Projekt erstellen
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)
- Auf „Projekt erstellen„ klicken
- 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.
Projekt importieren/exportieren
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
- Import: Auf dem Startbildschirm unter „Projekt importieren„ eine ZIP-Datei auswählen
Erstellen der Root CA
Die Root CA ist der Vertrauensanker der PKI. Sie signiert die Issuing CA, die wiederum die Endentitäts-Zertifikate signiert (zweistufige PKI).
Funktion einer Certificate Authority (CA): Eine CA ist eine vertrauenswürdige Instanz, die digitale Zertifikate ausstellt und deren Echtheit durch ihre Signatur bestätigt. Jedes System, das der CA vertraut, vertraut automatisch auch allen von ihr signierten Zertifikaten. Wird der private Schlüssel einer CA kompromittiert, können Angreifer beliebige gültige Zertifikate ausstellen — die gesamte PKI ist damit nicht mehr vertrauenswürdig.
Geheimhaltung der privaten Schlüssel: Die privaten Schlüssel der Root CA und der Issuing CA müssen streng vertraulich behandelt werden. Sie dürfen unter keinen Umständen an Dritte weitergegeben oder über unsichere Kanäle übertragen werden. Wer im Besitz eines CA-Schlüssels ist, kann im Namen dieser CA beliebige Zertifikate signieren. Im Idealfall wird der private Schlüssel der Root CA nach Erstellung der Issuing CA offline gesichert und nur bei Bedarf (z.B. Erneuerung der Issuing CA) wieder verwendet.
Nach dem Öffnen eines Projekts befindet sich im Reiter „1. Root CA“ die Möglichkeit eine neue Root CA zu erstellen oder eine vorhandene zu importieren.
Neue Root CA erstellen
- Im Reiter „1. Root CA„ die folgenden Felder ausfüllen:
- Common Name (CN): z.B. „FW Musterhausen Root CA“
- Organisation (O): z.B. „Feuerwehr Musterhausen„
- Organisationseinheit (OU): z.B. „IuK“
- Land (C): z.B. „DE„
- Bundesland (ST): z.B. „HE“
- Stadt (L): z.B. „Schmitten„
- Auf „Root CA erstellen“ klicken
- Die Root CA wird mit folgenden Parametern erstellt:
- Algorithmus: ECDSA P-384
- Signatur: SHA-384
- Gültigkeit: 20 Jahre
Vorhandene Root CA importieren
Falls bereits eine Root CA vorhanden ist, kann diese importiert werden:
- Auf „Root CA importieren …„ klicken
- Im ersten Dialog das Zertifikat (.crt/.pem/.cer) auswählen
- Im zweiten Dialog den privaten Schlüssel (.key/.pem) auswählen
- Das Tool validiert, ob es sich um ein CA-Zertifikat handelt
Erstellen der Issuing CA
Die Issuing CA wird von der Root CA signiert und signiert ihrerseits die Server- und Client-Zertifikate.
Neue Issuing CA erstellen
- 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„)
- Auf „Issuing CA erstellen“ klicken
- Die Issuing CA wird mit folgenden Parametern erstellt:
- Algorithmus: ECDSA P-384
- Signatur: SHA-384
- Gültigkeit: 10 Jahre
- Signiert durch die Root CA
Vorhandene Issuing CA importieren
Analog zur Root CA kann auch eine vorhandene Issuing CA importiert werden:
- Auf „Issuing CA importieren …„ klicken
- Im ersten Dialog das Zertifikat (.crt/.pem/.cer) auswählen
- Im zweiten Dialog den privaten Schlüssel (.key/.pem) auswählen
Erstellen eines Server-Zertifikats
Das Server-Zertifikat wird für die TLS-Verschlüsselung von edp:web benötigt.
- In den Reiter „3. Server-Zertifikat“ wechseln
- Im Feld „Domains (SANs)„ alle Domains (oder IPs) eintragen, unter denen der Server erreichbar sein soll (je eine Domain pro Zeile oder kommagetrennt), z.B.:
- meinserver.de
- api.meinserver.de
- 192.168.0.1
- Auf „Server-Zertifikat erstellen“ klicken
Das Tool erstellt automatisch folgende Dateien im EDPweb-Format:
| Datei | Beschreibung |
|---|---|
| ssl.cer | Server-Zertifikat (PEM-Format) |
| ssl.key | Privater Schlüssel des Servers |
| root.cer | CA-Zertifikatskette (Issuing CA + Root CA) Nur notwendig, wenn Absicherung über Clientzertifikate vorgesehen |
Das Zertifikat hat eine Gültigkeit von 398 Tagen und wird von der Issuing CA signiert.
Erstellen von Client-Zertifikaten
Um den Zugang zu Webdiensten wie edp:web weiter abzusichern, gibt es die Möglichkeit die Vorlage eines Client-Zertifikats zu fordern, ohne das keine Verbindung mit dem Server hergestellt werden kann.
- In den Reiter „4. Client-Zertifikat„ wechseln
- Folgende Felder ausfüllen:
- Name: Name für das Client-Zertifikat (z.B. Name des Mitarbeiters oder des Geräts)
- E-Mail (optional): E-Mail-Adresse des Nutzers
- PKCS#12-Passwort (optional): Passwort für die .pfx-Datei (kann leer gelassen werden, außer bei iOS-Geräten — siehe unten)
- Auf „Client-Zertifikat erstellen“ klicken
Das Tool erstellt automatisch folgende Dateien:
| Datei | Beschreibung |
|---|---|
| EDPwebClient.pfx | PKCS#12-Datei für Browser-Import (enthält Zertifikat + Schlüssel + CA-Kette) |
| ClientZert.pem | Zertifikat + Schlüssel als PEM-Datei für edp:sync |
Das Client-Zertifikat hat eine Gültigkeit von 398 Tagen.
Hinterlegen der Zertifikate
Damit die Zertifikate genutzt werden können, müssen die jeweiligen Dateien im richtigen Verzeichnis abgelegt bzw. importiert werden.
edp:web
Zur Nutzung in edp:web müssen folgende Dateien aus dem Server-Zertifikatsordner in den „/EDP/EDPweb/“-Ordner kopiert werden:
- ssl.cer
- ssl.key
- root.cer
Dadurch werden auch beim edp:sync (Master) automatisch die neuen Zertifikate verwendet (wenn das lokale System ein Mastersystem ist).
Client-Zertifikate
Windows
Die Client-Zertifikate müssen bei jedem System hinterlegt werden, das Zugriff auf edp:web oder edp:sync haben möchte. Folgend ist eine Anleitung zur Hinterlegung bei Windows für die Browser Edge und Google Chrome (für Firefox nach „firefox zertifikat importieren“ suchen).
- Bei Windows nach „Benutzerzertifikate verwalten„ suchen und öffnen
- Rechtsklick auf „Eigene Zertifikate“ → „Alle Aufgaben„ → „Importieren…“
- Im Dialog die Datei EDPwebClient.pfx auswählen
- In den nächsten Schritten „Weiter„ klicken und dann „Fertigstellen“
- Browser neu starten
iPad & iPhone
Damit auch von Apple-Geräten ein Zugriff auf edp:web besteht, müssen dort ebenfalls die Client-Zertifikate hinterlegt werden. Je nach iOS-Version kann es erforderlich sein, dass die Client-Zertifikate mit einem Passwort gesichert sind. Dafür muss beim Erstellen des Client-Zertifikats im Feld „PKCS#12-Passwort„ ein Passwort angegeben werden.
- Die EDPwebClient.pfx-Datei auf das Gerät übertragen (z.B. per AirDrop oder E-Mail)
- Nach dem Herunterladen wird angefragt, ob ein Profil mit dem Zertifikat angelegt werden soll — Installation durchführen
- In die Einstellungen wechseln → Punkt „Profil geladen“ auswählen
- Installationsprozess durch Authentifizierung auf dem Gerät und Eingabe des Zertifikatpasswortes abschließen
edp:sync
Um als Clientsystem das Client-Zertifikat für eine Verbindung im edp:sync zu verwenden, muss im Clientsystem nur die Datei ClientZert.pem im EDPserver-Ordner „/EDP/server/„ hinterlegt werden.
Zusammenfassung der Dateien
| Datei | Verwendung | Speicherort |
|---|---|---|
| ssl.cer | Server-Zertifikat | /EDP/EDPweb/ (Master) |
| ssl.key | Server-Schlüssel | /EDP/EDPweb/ (Master) |
| root.cer | CA-Kette für Client-Zertifikat-Verifikation | /EDP/EDPweb/ (Master) |
| EDPwebClient.pfx | Client-Zertifikat für Browser (Windows, iOS) | Import in Zertifikatsspeicher (Client) |
| ClientZert.pem | Client-Zertifikat für edp:sync | /EDP/server/ (Client) |