Configurazione di un nodo HTTPRequest per l'uso di SSL (HTTPS)

Questo argomento di attività spiega come configurare il nodo HTTPRequest per comunicare con altre applicazioni utilizzando HTTP su SSL. L'attività descrive i passi richiesti per il sistema Windows, ma pressoché identiche sono le attività richieste per qualsiasi altra piattaforma. Per completare l'attività HTTPRequest, è richiesta l'applicazione di un server HTTPS. Ai fini della semplificazione, gli unici dettagli forniti qui sono relativi all'utilizzo del Nodo HTTPInput per SSL come applicazione del server. Tuttavia, gli stessi dettagli sono applicabili quando si utilizza qualsiasi altra applicazione del server.

Aggiunta di certificati al file cacerts

Il certificato relativo all'applicazione del server da richiamare deve essere aggiunto al file per WebSphere Message Broker. Questo è ubicato nella directory security JRE. Per individuare il file cacerts su Windows, completare i seguenti passi:
  1. Selezionare Start > IBM WebSphere Message Brokers 6.0 > Console di comandi per aprire la console di comandi del broker.
  2. Nella console di comandi, digitare il seguente comando per passare alla directory in cui sono ubicati i file cacerts:
    cd "%MQSI_FILEPATH%\jre\lib\security"

Per modificare il file cacerts, utilizzare il comando keytool.

Importazione di un certificato nel file cacerts
  1. Selezionare Start > IBM WebSphere Message Brokers 6.0 > Console di comandi per aprire la console di comandi del broker.
  2. Nella console di comandi, digitare il seguente comando:
    "%MQSI_FILEPATH%\jre\bin\keytool" -import -alias mykey -file nome del file del certificato -keystore cacerts -keypass changeit
    nome del file del certificato
    il nome completo del file del certificato. Questo file è ubicato di solito nella directory home degli utenti del broker di messaggi.
    changeit
    la password predefinita del file cacerts. Questa password deve essere quanto prima cambiata. E' possibile utilizzare keytool per cambiare la password.
Estrazione di un certificato da un altro archivio di chiavi
  1. Selezionare Start > IBM WebSphere Message Brokers 6.0 > Console di comandi per aprire la console di comandi del broker.
  2. Nella console di comandi, digitare il seguente comando:
    "%MQSI_FILEPATH%\jre\bin\keytool" -export -alias tomcat -file nome del file del certificato -keystore keystore file -keypass changeit
    nome del file del certificato
    il nome completo del file del certificato. Questo file normalmente è denominato .keystore ed è ubicato di solito nella directory home degli utenti del broker di messaggi.
    file archivio chiavi
    il nome completo del file dell'archivio di chiavi. Questo file è ubicato di solito nella directory home degli utenti del broker di messaggi.
    changeit
    la password predefinita del file cacerts. Questa password deve essere quanto prima cambiata. E' possibile utilizzare keytool per cambiare la password.
E' importante verificare che nel file cacerts sia stato importato il certificato corretto. Ovvero, il certificato che il server HTTP deve utilizzare.

Creazione di un flusso di messaggi per l'esecuzione delle richieste HTTPS

Il flusso di messaggi riportato di seguito crea un flusso di messaggi generico per la conversione di un messaggio WebSphere MQ in HTTPRequest.:

  1. Creare un flusso di messaggi con i nodi MQInput->HTTPRequest->Compute->MQOutput.
  2. Per il nodo MQInput, impostare il nome della coda a HTTPS.IN1 e creare la coda MQSeries.
  3. Per il nodo MQOutput, impostare il nome della coda a HTTPS.OUT1 e creare la coda MQSeries.
  4. Per il nodo HTTPRequest, impostare l'URL di servizi Web sul server HTTP da richiamare. Per richiamare l'attività HTTPInput utilizzare https://localhost:7083/testHTTPS.
  5. Per il nodo HTTPRequest, impostare le proprietà avanzate per utilizzare OutputRoot.BLOB come Ubicazione del messaggio di risposta nell'albero.
  6. Nel nodo compute aggiungere la seguente istruzione 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;

Il flusso di messaggi è pronto ora per essere distribuito al broker e per l'esecuzione del test.

Verifica dell'esempio

Per verificare se l'esempio funziona, completare i seguenti passi.

  1. Seguire tutte le istruzioni fornite in Configurazione dei nodi HTTPInput e HTTPReply per l'uso di SSL (HTTPS), inclusa la verifica dell'esempio.
  2. Distribuire il flusso di messaggi HTTPRequest.
  3. Inserire un messaggio nella coda MQSeries HTTPS.IN1. Nella coda di output deve essere visualizzato un messaggio. Altrimenti, viene visualizzato un messaggio di errore nella registrazione errori in locale (registrazione eventi su Windows).
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ap12235_