Verwaltung digitaler Zertifikate
Die Verwaltung digitaler Zertifikate spielt eine wichtige Rolle beim sicheren Austausch von Daten zwischen einem Client-Rechner und einem Webserver. Da Mappings nicht nur durch MapForce unter Windows ausgeführt werden können, sondern auch durch MapForce Server (entweder als Standalone-Version oder in einer FlowForce Server-Ausführung) auf einem Windows-, Linux- oder macOS-Server, wird in diesem Abschnitt die Verwaltung von HTTPS-Zertifikaten auf verschiedenen Plattformen behandelt.
Im Zusammenhang mit dem sicheren HyperText Transport Protocol (HTTPS) muss zwischen Server- und Client-Zertifikaten unterschieden werden.
Server-Zertifikate
Ein Server-Zertifikat dient dazu, einen Server für eine Client-Applikation wie z.B. MapForce als vertrauenswürdig zu erkennen. Das Server-Zertifikat kann von einer kommerziellen Zertifizierungsstelle oder von Ihrem Unternehmen selbst digital signiert sein. In beiden Fällen können Sie beim Erstellen eines Mappings in Mapforce die folgenden Einstellungen definieren:
•ob das Server-Zertifikat überprüft werden muss,
•ob mit dem Request fortgefahren werden soll, wenn das Namenszertifikat nicht mit dem Namen des Host übereinstimmt.
Diese Einstellungen werden über das MapForce-Dialogfeld "HTTP-Sicherheitseinstellungen" vorgenommen . Wenn Sie die Überprüfung der Server-Zertifikate aktivieren, beachten Sie die folgenden Punkte:
•Wenn Sie einen Webserver aufrufen, dessen Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle signiert ist, erkennt Ihr Betriebssystem das Server-Zertifikat von seiner Konfiguration her meist bereits als vertrauenswürdig, sodass keine zusätzliche Konfiguration erforderlich ist.
•Wenn Sie einen Webserver aufrufen, der ein selbst signiertes Zertifikat bereitstellt (z.B. einen lokalen Netzwerkserver in Ihrem Unternehmen), so müssen Sie auch Ihr Betriebssystem so konfigurieren, dass es dieses Zertifikat als vertrauenswürdig erkennt.
In den meisten Fällen können Sie die Konfiguration der Vertrauenswürdigkeit überprüfen, indem Sie die URL des Webservice in die Adressleiste Ihres Browsers eingeben. Wenn dem Server nicht vertraut wird oder wenn Ihr Betriebssystem den Server laut Konfiguration nicht als vertrauenswürdig einstuft, so wird in Ihrem Browser eine Meldung ungefähr folgenden Inhalts angezeigt "Diese Verbindung ist nicht vertrauenswürdig" oder "Es gibt ein Problem mit dem Zertifikat der Website". Beachten Sie, dass Sie die Einstellung für die Vertrauenswürdigkeit eines Webservers nicht überprüfen können, wenn der Browser eine andere Zertifikat-Datenbank als die des Betriebssystems verwendet (z.B. Firefox auf Ubuntu).
Unter Windows können Sie die Vertrauenswürdigkeit einer Verbindung durch Befolgen der Anweisungen im Browser und Importieren oder Installieren des benötigten Zertifikats im Speicher der vertrauenswürdigen Stammzertifikate bestätigen (siehe Vertrauenswürdige Server-Zertifikate unter Windows). Auf macOS-Systemen können Sie die entsprechende Operation in Keychain Access durchführen (siehe Vertrauenswürdige Server-Zertifikate auf macOS). Eine Anleitung zu Linux-Systemen finden Sie unter Vertrauenswürdige Server-Zertifikate unter Linux.
Client-Zertifikate
Während Server-Zertifikate dazu dienen, einen Server als vertrauenswürdig zu erkennen, werden Client-Zertifikate in erste Linie dazu verwendet, den aufrufenden Client auf dem Webserver zu identifizieren. Wenn Sie vorhaben, auf einen Webserver zuzugreifen, für den Client-Zertifikate erforderlich sind, müssen Sie möglicherweise den Administrator des Webservers bezüglich einer Client-Konfigurationsanweisung kontaktieren. So kann ein Webserver z.B. bei IIS (Internet Information Services) so konfiguriert werden, dass er HTTPS- und Client-Zertifikate auf eine der folgenden Arten behandelt:
•HTTPS ist erforderlich und Client-Zertifikat wird ignoriert
•HTTPS ist erforderlich und Client-Zertifikat wird akzeptiert
•HTTPS und Client-Zertifikat sind erforderlich
Der Erfolg eines Webservice-Request hängt von der Konfiguration des Webservers und der Client-Applikation ab. Wenn der Webserver z.B. so konfiguriert ist, dass er ein Client-Zertifikat verlangt, so muss die aufrufende Applikation ein gültiges Client-Zertifikat zur Verfügung stellen, damit der Aufruf erfolgreich ist.
Aus der MapForce-Perspektive gesehen, gilt dasselbe für Mappings, die Webservice-Aufrufe über HTTPS enthalten. Damit solche Mappings erfolgreich ausgeführt werden können, geht MapForce davon aus, dass der Webserver so konfiguriert ist, dass er das Client-Zertifikat akzeptiert oder zwingend verlangt und dass das Betriebssystem, auf dem das Mapping ausgeführt wird, das richtige Client-Zertifikat für den Webserver zur Verfügung stellt.
Im unten gezeigten Diagramm sehen Sie ein Szenario, in dem ein in MapForce verwendetes Client-Zertifikat auf einen Linux-Server transferiert wird, auf dem MapForce Server ausgeführt wird. Sobald das Zertifikat auf das Zielbetriebssystem transferiert wurde, kann MapForce Server sich mit Hilfe dieses Zertifikats beim Webserver authentifizieren und das Mapping erfolgreich ausführen.
Bereitstellen von Mappings mit Client-Zertifikaten auf einem anderen Rechner
Bei einer HTTPS-Authentifizierung in Webservice-Aufrufen kann MapForce zusätzlich zu HTTP die Transport Layer Security (TLS) verwendenon. TLS ist der Nachfolger des SSL (Secure Sockets Layer)-Protokolls. Beachten Sie dass der Client bzw. Server auf SSL zurückgreift, falls die Client- bzw. Server-Implementierung TLS nicht unterstützt.
Die jeweilige Implementierung der Zertifikatverwaltung auf den einzelnen Plattformen ist dafür verantwortlich, dass Webservice-Aufrufe mit Client-Authentifizierung durch MapForce unterstützt werden. Daher muss die Zertifikatverwaltung immer im Rahmen des zugrunde liegenden Betriebssystems erfolgen. Jedes Betriebssystem bietet unterschiedliche Unterstützung für Zertifikatverwaltung - siehe Tabelle unten.
Plattform | Zertifikatverwaltung und -implementierung |
---|---|
Windows | Unter Windows können Sie Zertifikate mit Hilfe des Zertifikat-Snap-in verwalten (siehe Aufrufen der Zertifikatspeicher unter Windows).
TLS-Unterstützung steht über den Sicheren Kanal (auch als SKanal bezeichnet) zur Verfügung. |
Linux | Unter Linux können Sie Zertifikate mit Hilfe des OpenSSL (openssl) Befehlszeilentools und der dazugehörigen Bibliothek verwalten. Falls auf dem Linux-Recher, auf dem MapForce Server installiert ist, noch keine OpenSSL-Unterstützung zur Verfügung steht, müssen Sie diese Funktion herunterladen und sie installieren, bevor Sie Zertifikate verwalten können.
TLS-Unterstützung steht über die OpenSSL-Bibliothek zur Verfügung (https://www.openssl.org/). |
macOS | Auf macOS-Rechnern können Sie Zertifikate mit dem Keychain Access Manager unter Finder > Applications > Utilities verwalten.
TLS-Unterstützung steht über die native Secure Transport-Bibliothek zur Verfügung |
Wenn Sie das Mapping auf einem Windows-Betriebssystem ausführen, auf dem Sie den Webservice, den Sie aufrufen möchten, bereits erfolgreich verwendet haben, ist normalerweise keine zusätzliche Zertifikatkonfiguration erforderlich (Welche Bedingungen erfüllt werden müssen, damit das Mapping erfolgreich unter Windows ausgeführt werden kann, finden Sie unter Client-Zertifikate unter Windows). Wenn Sie allerdings auf einem Windows-Rechner Mappings mit MapForce erstellen und diese dann auf einem anderen Computer bereitstellen (der möglicherweise unter einem anderen Betriebssystem läuft), so wird das Client-Zertifikat nicht zusammen mit dem bereitgestellten Paket gespeichert bzw. kopiert. Damit der Webservice-Aufrufe (und das Mapping) erfolgreich ausgeführt werden können, muss das Client-Zertifikat auch auf dem Zielbetriebssystem vorhanden sein.
Um ein Zertifikat von einem Windows-System auf einen anderen Windows-basierten Rechner zu transferieren, exportieren Sie das erforderliche Zertifikat (mit dem privaten Schlüssel) aus dem Ausgangssystem (siehe Exportieren von Zertifikaten aus Windows). Importieren Sie anschließend dasselbe Zertifikat in den Speicher Aktueller Benutzer\Persönlich auf dem Zielbetriebssystem (siehe Client-Zertifikate unter Windows).
Eine Anleitung zum Transferieren von Client-Zertifikaten auf die Linux- und macOS-Plattform finden Sie unter Client-Zertifikate unter Linux bzw. Client-Zertifikate unter macOS.