Das folgende Beispiel zeigt, wie Sie mit WebSphere Version 7.0 einen eigenen SSL-fähigen Port erstellen und verwenden. Vor WebSphere Application Server Version 7.0 wurden Zertifikate mithilfe der Verwendung eines externen Tools mit der Bezeichnung iKeyman verwaltet. Ab WebSphere Application Server Version 7.0 können Sie mit der Administrationskonsole sowohl Zertifikate als auch Schlüssel verwalten.
Anweisungen für die Installation und Konfiguration von SSL für Tomcat finden Sie in der Dokumentation zu Apache Tomcat.
SSL-fähigen Port erstellen
Führen Sie folgende Schritte aus, um einen SSL-fähigen Beispielport zu erstellen. Weitere Details finden Sie in der Dokumentation zum WebSphere Application
Server.
Keystore- und Truststore-Kennwörter ändern
Mit dem folgenden Verfahren erstellen Sie ein neues, selbst signiertes Zertifikat in Ihrem WebSphere Application Server-Standardkeystore (Schlüsselspeicher) und Sie importieren das Zertifikat in Ihren Standardtruststore (Zertifikatsspeicher für vertrauenswürdige Zertifikate). Bevor Sie Standardkeystore und Standardtruststore verwenden, ändern Sie die Standardangaben für deren Kennwörter durch andere Werte, um eine sicherere Umgebung zu erstellen. Gehen Sie wie folgt vor, um die Kennwörter für Keystore und Truststore zu ändern:
- Starten Sie Ihren WebSphere-Server der Version 7.0.
- Klicken Sie mit der rechten Maustaste auf den Server und klicken Sie auf Verwaltung.
- Klicken Sie auf Administrationskonsole ausführen.
- Melden Sie sich an der Administrationskonsole an.
- Erweitern Sie 'Sicherheit' und klicken Sie auf Verwaltung von SSL-Zertifikaten und Schlüsseln.
- Klicken Sie unter 'Zugehörige Elemente' auf Keystores und Zertifikate.
- Klicken Sie für WebSphere Version 7.0 auf NodeDefaultKeyStore. Klicken Sie auf Kennwort ändern.
- Geben Sie Ihr neues Kennwort in die Felder 'Kennwort ändern' und 'Kennwort bestätigen' ein.
- Klicken Sie auf OK.
- Wiederholen Sie diesen Prozess für 'NodeDefaultTrustStore'.
Persönliches Zertifikat erstellen
Ein selbst signiertes Zertifikat ist günstig, wenn Sie testen oder wenn sich Ihre Website hinter einer Firewall befindet. Fordern Sie andernfalls ein Zertifikat von einer Zertifizierungsstelle an. Gehen Sie wie folgt vor, um ein persönliches Zertifikat zu erstellen:
- Klicken Sie in der Liste mit den Keystores und Truststores auf NodeDefaultKeyStore.
- Klicken Sie unter 'Weitere Eigenschaften' auf Persönliche Zertifikate.
- Klicken Sie für WebSphere Version 7.0 auf .
- Geben Sie die folgenden Werte für das Zertifikat ein:
- Aliasname
- SampleCert
- Allgemeiner Name
- Beispielserver
- Organisation
- IBM®
- Klicken Sie auf OK.
In der Liste mit den Zertifikaten sollte nun 'samplecert' angezeigt werden.
SSL-Konfiguration erstellen
WebSphere Application Server verwendet SSL-Konfigurationen für SSL-basierte Transporte. Gehen Sie wie folgt vor, um eine SSL-Konfiguration zu erstellen:
- Erweitern Sie im linken Teilfenster 'Sicherheit' und klicken Sie auf die Option Verwaltung von SSL-Zertifikaten und Schlüsseln.
- Klicken Sie unter 'Zugehörige Elemente' auf SSL-Konfigurationen.
- Klicken Sie auf Neu.
- Geben Sie folgenden Werte ein:
- Name
- SampleConfig
- Name des Truststores
- NodeDefaultTrustStore
- Name des Keystores
- NodeDefaultKeyStore
- Klicken Sie auf die Option zum Abrufen von Zertifikatsaliasnamen.
- Stellen Sie sicher, dass 'samplecert' als Standardzertifikatsaliasname des Servers und als Standardzertifikatsaliasname des Clients ausgewählt ist.
Klicken Sie auf OK und klicken Sie auf Speichern.
In der Liste mit den SSL-Konfigurationen sollte 'SampleConfig' angezeigt werden.
Web-Container-Transportkette erstellen
Erstellen Sie eine Web-Container-Transportkette, um die von Ihnen erstellte SSL-Konfiguration zu verwenden:
- Erweitern Sie 'Server' und 'Servertypen' im linken Teilfenster. Klicken Sie auf WebSphere-Anwendungsserver.
- Klicken Sie auf server1 oder auf Ihren Servernamen.
- Erweitern Sie unter 'Containereinstellungen' die Einstellungen des Web-Containers und klicken Sie auf Transportketten für Web-Container.
- Klicken Sie auf Neu.
- Geben Sie 'SampleInboundSecure' in das Namensfeld für die Transportkette ein.
- Klicken Sie zum Auswählen der Vorlage für die Transportkette in der Dropdown-Liste auf WebContainer-Secure(templates/chains | webcontainer-chains.xml#Chain_2).
- Klicken Sie auf Weiter.
- Geben Sie auf der Seite für die Auswahl eines Ports folgende Werte ein:
- Port
- SamplePort
- Host
- *
- Portnummer
- 9444
Wenn Port 9444 bereits verwendet wird, wählen Sie eine andere Portnummer aus und verwenden Sie in der restlichen Übung diese Nummer.
- Klicken Sie auf Weiter.
- Klicken Sie auf .
'SampleInboundSecure' wird nun als Web-Container-Transportkette aufgeführt. Ordnen Sie die SSL-Beispielkonfiguration dieser Transportkette zu:
- Klicken Sie auf SampleInboundSecure.
- Klicken Sie auf die Option für eingehenden Kanal.
- Wählen Sie unter der Option für die SSL-Konfiguration in der Dropdown-Liste für die Auswahl der SSL-Konfiguration die Option SampleConfig aus.
- Klicken Sie auf .
SSL-fähigen Port zum virtuellen Host hinzufügen
Fügen Sie Port 9444 zum virtuellen Host hinzu:
- Erweitern Sie im linken Teilfenster 'Umgebung' und klicken Sie auf Virtual
Hosts.
- Klicken Sie auf default_host.
- Klicken Sie unter 'Weitere Eigenschaften' auf Hostaliasnamen.
- Klicken Sie auf der Seite mit Hostaliasnamen auf Neu.
- Behalten Sie * als Hostname bei. Ändern Sie den Port in '9444'.
- . In der Liste der Ports sollte nun '9444' angezeigt werden.
Stoppen Sie den Server und starten Sie ihn erneut. Port 9444 ist nun ein SSL-fähiger Port.
Neuen SSL-fähigen Port zum Ausführen eines Beispiels verwenden
Starten Sie zum Verwenden Ihres Ports einen WebSphere-Server der Version 7.0. Installieren Sie auf dem WebSphere-Server die EAR-Datei, die Ihre implementierte Rich UI-Anwendung enthält. Führen Sie einen der folgenden Schritte aus, um eine HTML-Datei wie beispielsweise 'RSSReader.html' im Kontext 'RSSReaderSample' anzufordern:
- Öffnen Sie einen Browser wie beispielsweise Internet Explorer, Safari oder Mozilla Firefox.
Geben Sie in Ihren Browser eine URL ein und verwenden Sie den neu aktivierten SSL-Port: https://localhost:9444/RSSReaderSample/RSSReader.html
- Klicken Sie im Projektexplorer auf eine HTML-Datei einer Anwendung, die in WebSphere publiziert wurde.
Klicken Sie auf Ausführen als und klicken Sie anschließend auf Auf Server ausführen.
Wenn Sie ein selbst signiertes Zertifikat verwenden, wird je nach Browser möglicherweise 'Security Alert' (Sicherheitsalert), 'Website Certified by an Unknown Authority' (Website wurde von einer unbekannten Stelle zertifiziert) oder eine andere Warnung angezeigt. Diese Warnung gibt an, dass das Zertifikat von einer unbekannten Zertifizierungsstelle signiert wurde. Klicken Sie auf die Schaltflächen zum Anzeigen oder Untersuchen des Zertifikats, um zu prüfen, ob das Zertifikat in Ordnung ist. Ist dies der Fall, fahren Sie fort.
Wenn der allgemeine Name im Zertifikat nicht mit dem Domänennamen in der angeforderten URL (in diesem Fall 'localhost') übereinstimmt, wird möglicherweise auch der Fehler 'Security Error: Domain Name Mismatch' (Sicherheitsfehler: Keine Übereinstimmung mit dem Domänennamen) angezeigt. Zum Überprüfen des Zertifikats klicken Sie auf die Schaltfläche zum Anzeigen des Zertifikats. Fahren Sie anschließend wie erforderlich fort. Zum Verhindern von Attacken, in denen ein Angreiferprogramm die gesamte Kommunikation zwischen einem Client und einem Server abfängt (Man-in-the-Middle-Attacke), muss der Client den Domänennamen des Servers überprüfen, der im Zertifikat angegeben ist.