Utilizzo del supporto SSL (Secure Sockets Layer)

Per utilizzare il protocollo SSL, sia il client (l'adattatore di risorse IMS TM) che il server (IMS Connect) devono essere configurati.

Nella tabella riportata di seguito viene fornita una descrizione di alto livello dei passi da seguire nella configurazione dell'adattatore di risorse IMS TM, di IMS Connector per Java e di IMS Connect per SSL.
Client SSL (IMS Connector per Java) Server SSL (IMS Connect)
  1. Decidere se è necessaria l'autenticazione del client. Nel caso in cui non sia necessaria, saltare al passo 5.
Nota: Si consiglia fortemente di utilizzare l'autenticazione del client per proteggersi dall'accesso non autorizzato a IMS Connect.
2. Se l'autenticazione del client viene richiesta, procurarsi i certificati firmati e la chiave privata.  
3. Se l'autenticazione del client viene richiesta, creare un keystore ed inserire la chiave privata e un certificato. Per ulteriori dettagli, vedere la descrizione di seguito.  
  4. Se l'autenticazione del client viene richiesta, inserire il certificato a chiave pubblica del client nel keyring. Per ulteriori informazioni, vedere IMS Connect User's Guide (SC27-0946-03).
5. Creare un truststore (altro keystore facoltativo) ed inserire il certificato a chiave pubblica del server. In alternativa, inserire il certificato a chiave pubblica del server nel keystore del client, se nello stesso keystore vengono memorizzati certificati affidabili e non affidabili.  
  6. Decidere quale porta SSL IMS Connect utilizzare. Configurare IMS Connect e i membri di configurazione SSL con i valori appropriati. Per ulteriori informazioni sulla configurazione di questi membri di configurazione, vedere IMS Connect User's Guide (SC27-0946).
7. Configurare la produzione di connessione con i parametri SSL appropriati, incluso il numero di porta del passo 6. Per ulteriori dettagli, vedere la descrizione di seguito.  
8. Collegare l'applicazione alla produzione di connessione SSL.  

Creazione del keystore o truststore per il client

Affinché il client e il server si autentichino l'uno con l'altro, fornire un keystore JKS o un keyring RACF con certificati X.509 validi sulle terminazioni di entrambi. Se l'autenticazione del client da parte del server non viene richiesta, non è necessario creare il certificato client ed aggiungerlo al keystore o al keyring del server. Sono disponibili molti strumenti per la gestione dei keystore. Per fornire un keystore JKS sul lato client e sul lato server, completare i seguenti passi:
  • Per configurare il client, IMS Connector per Java, creare un certificato e firmarlo mediante l'autorità di certificazione (CA) (ad esempio, VeriSign) oppure creare un'autorità di certificazione personalizzata mediante un software come OpenSSL per firmare il certificato (firma automatica).
  • Per creare un keystore, utilizzare uno strumento di gestione come Ikeyman o Keytool. Dopo averlo creato, importare il certificato del client (se ne è disponibile uno) nel keystore.
  • Per creare un truststore, creare un altro keystore ed importare il certificato del server (IMS Connect). Nota: Se si desidera creare un solo Ifkeystore, importare il certificato del server nello stesso keystore utilizzato per memorizzare i certificati del client. Consultare la documentazione RACF per assistenza nella creazione di un keyring RACF perché venga utilizzato un keystore o un truststore.

Configurazione SSL

Una connessione SSL protetta tra l'applicazione client Java e IMS Connect viene creata assicurando che la produzione di connessione utilizzata dall'applicazione client Java abbia i valori appropriati per le proprietà SSL. Per una descrizione dei valori della proprietà SSL, vedere Proprietà di connessione.

Se si utilizzano prodotti WebSphere e Rational di IBM come esempi, ci sono molti modi per configurare le proprietà SSL:

Nota: I messaggi informativi e gli avvisi si trovano nel file trace.log generato da WebSphere Application Server. Per informazioni sulla registrazione e traccia di IMS Connector per Java, vedere Registrazione e traccia con l'adattatore di risorse IMS TM.

In fase di runtime, quando l'applicazione client Java esegue un'interazione con IMS, l'interazione fluisce su una connessione SSL protetta tra IMS Connector per Java, e il server SSL, IMS Connect. Per aprire una connessione SSL tra il client e il server, ha luogo un processo handshake SSL. Questo handshake SSL, che è trasparente per l'applicazione client Java, si verifica come segue:
  • Il client SSL, IMS Connector per Java, inizia una connessione inviando il messaggio di benvenuto del client. Il server, IMS Connect, risponde con il il messaggio di benvenuto del server e con il certificato contenente la chiave pubblica.
  • Se il certificato viene autenticato correttamente dal server, viene stabilita una chiave di sessione su entrambi i lati e viene negoziato il pacchetto di crittografia che stabilisce il tipo di codifica da utilizzare sulla connessione. L'handshake SSL viene quindi completato.
  • Se il server richiede l'autenticazione del client, il client autentica il certificato del server mediante la chiave pubblica dei server dal certificato. Se questa autenticazione riesce, viene inviato un certificato del client dal keystore del client. Se il certificato viene autenticato correttamente dal server, viene stabilita una chiave di sessione su entrambi i lati e viene negoziato il pacchetto di crittografia che stabilisce il tipo di codifica da utilizzare sulla connessione. L'handshake SSL viene quindi completato.
  • Il client e il server sono ora pronti per inviare e ricevere dati codificati.
Si noti che, quando si eseguono applicazioni in un ambiente gestito (come si consiglia fortemente quando si utilizzano connessioni SSL per l'overhead del processo handshake SSL), IMS Connector per Java utilizza solo connessioni del socket persistente per comunicare con IMS Connect. In realtà, IMS Connector per Java utilizza sempre questo tipo di connessioni, ma, in un ambiente non gestito, queste connessioni "persistenti" vengono disconnesse dall'applicazione dopo ciascun utilizzo, piuttosto che renderle disponibili per un riutilizzo futuro da parte di un'altra applicazione. Quando si utilizza WebSphere Application Server Connection Manager, le connessioni possono essere riutilizzate in modo seriale da altre applicazioni client. Connection Manager crea connessioni e le offre alle applicazioni, laddove necessario. Quando un'applicazione viene terminata mediante una connessione, Connection Manager restituisce quella connessione al pool libero, rendendola disponibile per un riutilizzo da parte di un'altra applicazione che richiede quel tipo di connessione. L'autenticazione del client e del server, tuttavia, si verifica solo per ogni socket durante l'handshake che ha luogo quando quel socket viene prima creato ed inizializzato come socket SSL. Quando il socket viene riutilizzato, il client SSL, IMS Connector per Java, e il server, IMS Connect non cambiano. Di conseguenza, non c'è ragione per autenticare di nuovo il client e il server (eseguire di nuovo l'handshake), visto che si riutilizza il socket. Ciò è coerente con il fatto che l'ID client che identifica il socket resta lo stesso ogni volta che il socket viene riutilizzato.

Feedback