Altova FlowForce Server 2024 

In dieser Demo wird gezeigt, wie Sie selbstsignierte SSL-Zertifikate für in einem privaten Netzwerk ausgeführte FlowForce Server ausstellen. Beachten Sie, dass diese Demo absichtlich einfach gehalten wurde und sich in einer Produktionsumgebung so nicht verwenden lässt. Ihr Unternehmen hat wahrscheinlich spezielle Sicherheitsrichtlinien in Bezug auf SSL-Zertifikate und verwendet vielleicht andere Tools als die unten beschriebenen.

 

Selbstsignierte SSL-Zertifikate werden mit folgenden Schritten erstellt:

 

1.Erstellung eines Root-Zertifikats

2.Erstellung eines FlowForce-Zertifikats

3.Import des Root-Zertifikats

 

Nähere Informationen zu den einzelnen Schritten finden Sie in den Unterabschnitten weiter unten.

 

Voraussetzungen

In diesem Beispiel wird zur Generierung selbstsignierter Zertifikate der OpenSSL Toolkit (https://www.openssl.org/) verwendet. Beachten Sie, dass OpenSSL eine Open Source-Bibliothek ist und eventuell kompiliert werden muss, bevor Sie diese in der Befehlszeile verwenden können. Die Kompilierungs- und Installationsanleitung für OpenSSL ist bei jedem Betriebssystem anders. OpenSSL ist auf den meisten Linux Distributions und macOS-Rechnern bereits vorinstalliert. Durch Eingabe des folgenden Befehls können Sie schnell überprüfen, ob OpenSSL installiert ist (angezeigt wird die aktuelle OpenSSL-Version):

 

openssl version

 

OpenSSL kann auch auf Windows-Computern installiert werden. Download Links zu den Installations-Binärdateien finden Sie im OpenSSL Wiki.

 

Schritt 1: Erstellung eines Root-Zertifikats

In der Folge wird erläutert, wie Sie ein Root-Zertifikat erstellen. Mit Hilfe des Root-Zertifikats wird das Server-Zertifikat signiert (Schritt 2 unten).

 

1.Erstellen Sie ein Verzeichnis, in dem alle in dieser Demo verwendeten Zertifikate gespeichert werden (z.B. C:\secure). Dies dient als Arbeitsverzeichnis für alle folgenden OpenSSL-Befehle. Wechseln Sie anschließend in der Befehlszeile zu diesem Verzeichnis:

 

cd C:\secure

 

2.In dieser Demo erstellen wir Zertifikate mit OpenSSL-Erweiterungen. Zu diesem Zweck suchen Sie in Ihrer OpenSSL Distribution nach der Datei openssl.cnf und kopieren Sie sie in das zuvor erstellte Arbeitsverzeichnis.

3.Erstellen Sie den Root-Schlüssel, der als Private Key Ihrer Zertifizierungsstelle (CA) fungiert. Denken Sie daran, dass dieser Schlüssel zu den sensibelsten Daten Ihrer Public Key-Infrastruktur gehört, daher muss er immer in einer sicheren Umgebung generiert und gespeichert werden (In dieser Demo wird er im Verzeichnis C:\secure gespeichert).

 

openssl genrsa -aes256 -out root.key 2048

 

Geben Sie das Passwort für den Root-Schlüssel ein, wenn Sie dazu aufgefordert werden. Sie benötigen dieses Passwort später zum Signieren von Zertifikatanforderungen.

 

4.Erstellen Sie das Root-Zertifikat, das als öffentliches Zertifikat Ihrer Zertifizierungsstelle fungiert. Mit dem nachstehenden Befehl wird ein selbstsigniertes Zertifikat für den oben erstellten privaten Schlüssel mit einer Gültigkeit von 3650 Tagen generiert. Beachten Sie, das der Parameter -config auf die Datei openssl.cnf im selben Verzeichnis verweist. Der Parameter -extensions verweist auf die in openssl.cnf definierte Erweiterung v3_ca.

 

openssl req -config openssl.cnf -extensions v3_ca -x509 -new -nodes -key root.key -sha256 -days 3650 -out root.pem

 

Geben Sie die Informationen über Ihr Unternehmen ein, wenn Sie dazu aufgefordert werden, z.B:

 

Country Name (2 letter code) [AU]: AT

State or Province Name (full name) [Some-State]: .

Locality Name (eg, city) []: Vienna

Organization Name (eg, company) [Internet Widgits Pty Ltd]: MyCompany Ltd

Organizational Unit Name (eg, section) []: IT

Common Name (eg, YOUR name) []: Demo CA

Email Address []: test@example.org

 

Sie können die erforderlichen Felder passend für Ihr Unternehmen ausfüllen. Geben Sie ins Feld Common Name den Namen der Stelle für Ihr selbstsigniertes Zertifikat ein (in diesem Beispiel Demo CA).

 

Schritt 2: Erstellung eines FlowForce-Zertifikats

Im nächsten Schritt können Sie das eigentliche Zertifikat, das (von FlowForce Server, FlowForce Web Server oder beiden) für die SSL-Verschlüsselung verwendet werden soll, erstellen. Das FlowForce-Zertifikat wird mit dem in Schritt 1.4 erstellten Root-Zertifikat signiert. Gehen Sie folgendermaßen vor:

 

1.Erstellen Sie den privaten Schlüssel mit dem OpenSSL-Befehl unten. Der private Schlüssel gehört zu Ihrem von FlowForce verwendeten selbstsignierten Zertifikat.

 

openssl genrsa -out flowforce.key 2048

 

Der Private Key muss im PEM (Privacy Enhanced Mail)-Format sein. Die Dateierweiterung von PEM-Dateien lautet normalerweise .pem, kann aber auch .key, .cert, .cer oder .crt sein. Damit Sie den privaten Schlüssel in FlowForce verwenden können, darf er nicht durch ein Passwort geschützt sein. Der private Schlüssel muss sicher aufbewahrt werden.

 

2.Öffnen Sie die Arbeitsdatei openssl.cnf und fügen Sie den folgenden Abschnitt hinzu:

 

[ server_cert ]
# Extensions for server certificates (`man x509v3_config`).
basicConstraints = CA:FALSE
nsCertType = server
nsComment = "OpenSSL Generated Server Certificate"
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer:always
keyUsage = critical, digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
subjectAltName=DNS:server.my.domain.com

 

Es ist wichtig, dass Sie subjectAltName ("Subject Alternative Name") ändern, sodass er dem FQDN (Fully Qualified Domain Name) des Rechners entspricht, auf dem FlowForce Server ausgeführt wird. In diesem Beispiel wurde er auf server.my.domain.com gesetzt. Für Google Chrome 58 oder spätere Versionen ist eine Definition des Subject Alternative Name erforderlich, da Ihr selbstsigniertes Zertifikat sonst einen NET::ERR_CERT_COMMON_NAME_INVALID-Fehler erzeugt (siehe Chrome-Hilfeseite).

 

3.Erstellen Sie einen Certificate Signing Request (CSR) mit dem unten gezeigten Befehl. Beachten Sie, dass der Parameter -config auf die zuvor bearbeitete Datei openssl.cnf verweist. Der Parameter -extension verweist auf die in openssl.cnf definierte Erweiterung server_cert.

 

openssl req -config openssl.cnf -extensions server_cert -new -nodes -key flowforce.key -out flowforce.csr

 

4.Geben Sie die Informationen über Ihr Unternehmen ein, wenn Sie dazu aufgefordert werden, z.B:

 

Country Name (2 letter code) [AU]: AT

State or Province Name (full name) [Some-State]: .

Locality Name (eg, city) []: Vienna

Organization Name (eg, company) [Internet Widgits Pty Ltd]: MyCompany Ltd

Organizational Unit Name (eg, section) []: IT

Common Name (eg, YOUR name) []: server.my.domain.com

Email Address []: test@example.org

 

Geben Sie ins Feld Common Name den FQDN (Fully Qualified Domain Name) des Host-Rechners, auf dem FlowForce Server ausgeführt wird, ein. Lassen Sie das Challenge Password-Feld leer, wenn Sie danach gefragt werden.

 

5.Signieren Sie das FlowForce-Zertifikat mit dem Root-Zertifikat. Beachten Sie, dass Server-Zertifikate in einer Produktionsumgebung normalerweise nicht direkt mit dem Root-Zertifikat signiert werden, sondern stattdessen Zwischenzertifikate verwendet werden. Mit dem unten stehenden Befehl wird der flowforce.csr Zertifikat-Request anhand des zuvor erstellten Root-Zertifikats signiert und es wird eine flowforce.crt-Datei (das in FlowForce Server benötigte Server-Zertifikat) erstellt:

 

openssl x509 -extfile openssl.cnf -extensions server_cert -req -in flowforce.csr -CA root.pem -CAkey root.key -CAcreateserial -out flowforce.crt -days 365 -sha256

 

 

Zusammenfassung

Nach Durchführung von Schritt 1 und 2 müssen Sie die folgenden Zertifikate und Schlüssel haben:

 

root.key: Dies ist der private Schlüssel Ihrer Zertifizierungsstelle (CA). Speichern Sie diese Datei in einem sicheren Ordner; falls dieser Schlüssel in falsche Hände gerät, kann jeder damit in Ihrem Namen für Browser vertrauenswürdige Zertifikate erstellen.

root.pem: Dies ist das öffentliche Zertifikat Ihrer Zertifizierungsstelle. Sie müssen dieses Zertifikat im Zertifikatspeicher für vertrauenswürdige Zertifikate aller Rechner (oder Browser), die sicheren Zugriff auf FlowForce benötigen, installieren (bzw. dorthin importieren) (Schritt 2 unten).

flowforce.key: Dies ist der private Schlüssel zu dem von FlowForce verwendeten selbstsignierten Zertifikat (siehe nächster Punkt).

flowforce.crt: Dies ist Ihr selbstsigniertes Zertifikat für die Verwendung durch FlowForce Server, FlowForce Web Server oder beide.

 

Schritt 3: Importieren von Root-Zertifikaten

Wenn Sie Ihre eigene Zertifizierungsstelle (CA) erstellen, ist das Root-Zertifikat selbstsigniert und wird daher standardmäßig von keinem Browser als vertrauenswürdig akzeptiert. Damit ein HTTP-Client (wie z.B. ein Browser) Ihr selbstsigniertes Zertifikat als vertrauenswürdig anerkennt, muss das Zertifikat folgendermaßen importiert werden:

 

Importieren Sie es in den Betriebssystemspeicher für vertrauenswürdige Zertifikate, falls der Browser diesen verwendet. Auf Windows-Systemen verwenden etwa Google Chrome und Microsoft Edge den Zertifikatspeicher des Betriebssystems, während Mozilla Firefox seinen eigenen Zertifikatspeicher verwendet. Auf Linux-Systemen verwenden sowohl Google Chrome als auch Mozilla Firefox ihren eigenen Zertifikatspeicher (siehe nächster Punkt). Auf Mac-Systemen verwendet Safari den Zertifikatspeicher des Betriebssystems (Keychain Access).

Importieren Sie es in den Browser-eigenen Speicher für vertrauenswürdige Zertifikate.

 

Anmerkungen

 

Das selbstsignierte Zertifikat muss für jeden Client-Rechner (oder ggf. Browser), der auf FlowForce Server zugreift, importiert werden.

Wenn Sie zwischen FlowForce Web Server und FlowForce Server die SSL-Verschlüsselung aktivieren, genügt es nicht, das Zertifikat in den Browser zu importieren. Ihr selbstsigniertes Root CA-Zertifikat muss auch vom Betriebssystem als vertrauenswürdig erkannt werden.

 

Die Anleitung zum Importieren des Root-Zertifikats variiert je nach Betriebssystem. Nähere Informationen dazu finden Sie in den Unterabschnitten weiter unten.

 

 

Nächster Schritt

Nach Durchführung von Schritt 1-3 können Sie nun SSL für FlowForce Server, FlowForce Web Server und die HTTP-Verbindung zwischen diesen aktivieren. Eine Beschreibung dazu finden Sie unter Schritt 1 des Abschnitts Einrichten der SSL-Verschlüsselung.

 

© 2018-2024 Altova GmbH