HTTPAnforderungsknoten für die Verwendung von SSL (HTTPS) konfigurieren

In diesem Abschnitt finden Sie Informationen zur Konfiguration des HTTPAnforderungsknotens, damit dieser mit anderen Anwendungen unter Verwendung von HTTP über SSL kommunizieren kann. In diesem Abschnitt wird die Vorgehensweise auf einem Windows-System erläutert. Die Schritte, die auf anderen Systemen ausgeführt werden müssen, sind nahezu identisch. Zur Ausführung dieser Tasks ist eine HTTPS-Serveranwendung erforderlich. Der Einfachheit halber beziehen sich die in diesem Abschnitt angegebenen Informationen auf die Verwendung des HTTPEmpfangsknotens für SSL als Serveranwendung. Diese Informationen gelten auch für alle anderen Serveranwendungen.

Zertifikate zur cacerts-Datei hinzufügen

Das Zertifikat für die aufzurufende Serveranwendung muss zur cacerts-Datei für WebSphere Message Broker hinzugefügt werden. Diese Datei befindet sich im JRE-Sicherheitsverzeichnis. Führen Sie folgende Schritte aus, um die cacerts-Datei unter Windows zu lokalisieren:
  1. Wählen Sie nacheinander Start > IBM WebSphere Message Brokers 6.0 > Befehlskonsole aus, um eine Befehlskonsole für den Broker zu öffnen.
  2. Geben Sie in der Befehlskonsole folgenden Befehl ein, um in das Verzeichnis mit der cacerts-Datei zu wechseln:
    cd "%MQSI_DATEIPFAD%\jre\lib\security"

Verwenden Sie den Keytool-Befehl zum Modifizieren der cacerts-Datei.

Importieren Sie ein Zertifikat in die cacerts-Datei
  1. Wählen Sie nacheinander Start > IBM WebSphere Message Brokers 6.0 > Befehlskonsole aus, um eine Befehlskonsole für den Broker zu öffnen.
  2. Geben Sie in der Befehlskonsole folgenden Befehl ein:
    "%MQSI_DATEIPFAD%\jre\bin\keytool" -import -alias mykey -file Name der Zertifikatsdatei -keystore cacerts -keypass changeit
    Name der Zertifikatsdatei
    Der vollständig qualifizierte Name der Zertifikatsdatei. Normalerweise befindet sich die Datei im Ausgangsverzeichnis der Nachrichtenbrokerbenutzer.
    changeit
    Das Standardkennwort für die cacerts-Datei. Sie sollten dieses Kennwort so schnell wie möglich ändern. Sie können das Kennwort unter Verwendung von Keytool ändern.
Ein Zertifikat aus einem anderen Schlüsselspeicher extrahieren
  1. Wählen Sie nacheinander Start > IBM WebSphere Message Brokers 6.0 > Befehlskonsole aus, um eine Befehlskonsole für den Broker zu öffnen.
  2. Geben Sie in der Befehlskonsole folgenden Befehl ein:
    "%MQSI_DATEIPFAD%\jre\bin\keytool" -export -alias tomcat -file Name der Zertifikatsdatei -keystore Schlüsselspeicherdatei -keypass changeit
    Name der Zertifikatsdatei
    Der vollständig qualifizierte Name der Zertifikatsdatei. Normalerweise lautet der Name dieser Datei .keystore. Sie befindet sich im Ausgangsverzeichnis der Nachrichtenbrokerbenutzer.
    Schlüsselspeicherdatei
    Der vollständig qualifizierte Name der Schlüsselspeicherdatei. Normalerweise befindet sich die Datei im Ausgangsverzeichnis der Nachrichtenbrokerbenutzer.
    changeit
    Das Standardkennwort für die cacerts-Datei. Sie sollten dieses Kennwort so schnell wie möglich ändern. Sie können das Kennwort unter Verwendung von Keytool ändern.
Sie müssen unbedingt sicherstellen, dass das richtige Zertifikat in die cacerts-Dateien importiert wurde. Das korrekte Zertifikat ist das Zertifikat, das der HTTP-Server verwenden soll.

Nachrichtenfluss für HTTPS-Anforderungen erstellen

Der folgende Nachrichtenfluss erstellt einen generischen Nachrichtenfluss für die Konvertierung von WebSphere MQ-Nachrichten in HTTP-Anforderungen:

  1. Erstellen Sie einen Nachrichtenfluss mit folgenden Knoten: MQEmpfangsknoten->HTTPAnforderungsknoten->Rechenknoten->MQSendeknoten.
  2. Weisen Sie dem MQEmpfangsknoten den Namen 'HTTPS.IN1' zu, und erstellen Sie die MQSeries-Warteschlange.
  3. Weisen Sie dem MQSendeknoten den Namen 'HTTPS.OUT1' zu, und erstellen Sie die MQSeries-Warteschlange.
  4. Setzen Sie die Web-Service-URL für den HTTPAnforderungsknoten so, dass sie auf den aufzurufenden HTTP-Server zeigt. Verwenden Sie für den Aufruf der HTTPEmpfangs-Task https://localhost:7083/testHTTPS.
  5. Definieren Sie im HTTPAnforderungsknoten die erweiterten Eigenschaften so, dass OutputRoot.BLOB als Response location in tree (Antwortposition in Baumstruktur) verwendet wird.
  6. Codieren Sie im Rechenknoten folgende ESQL:
    CREATE COMPUTE MODULE test_https_Compute
                     CREATE FUNCTION Main() RETURNS BOOLEAN
                     BEGIN
                                    -- CALL CopyMessageHeaders();
            CALL CopyEntireMessage();
            set OutputRoot.HTTPResponseHeader = null;
                                    RETURN TRUE;
                     END;
    
        CREATE PROCEDURE CopyMessageHeaders() BEGIN
            DECLARE I INTEGER;
            DECLARE J INTEGER;
            SET I = 1;
            SET J = CARDINALITY(InputRoot.*[]);
                                     WHILE I < J DO
                SET OutputRoot.*[I] = InputRoot.*[I];
                SET I = I + 1;
            END WHILE;                 END;
    
        CREATE PROCEDURE CopyEntireMessage() BEGIN
                                     SET OutputRoot = InputRoot;
                     END;
    END MODULE;

Der Nachrichtenfluss kann nun im Broker implementiert und getestet werden.

Ihr Beispiel testen

Führen Sie folgende Schritte aus, um die Funktion des Beispiels zu testen.

  1. Befolgen Sie alle Anweisungen im Abschnitt HTTPEmpfangs- und HTTPAntwortknoten für die Verwendung von SSL (HTTPS) konfigurieren, und testen Sie das Beispiel.
  2. Setzen Sie den Nachrichtenfluss für die HTTP-Anforderung ein.
  3. Stellen Sie eine Nachricht in die MQSeries-Warteschlange 'HTTPS.IN1'. In der Ausgabewarteschlange sollte eine Nachricht angezeigt werden. Schlägt der Vorgang fehl, wird eine Fehlernachricht im lokalen Fehlerprotokoll (unter Windows im Ereignisprotokoll) angezeigt.
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ap12235_