Configurazione di SSL per IBM MQ .NET gestito

La configurazione di SSL per IBM® MQ .NET gestito consiste nella creazione dei certificati del firmatario, quindi nella configurazione del server, del client e del programma applicativo.

Informazioni su questa attività

Per configurare SSL, è necessario prima creare i certificati del firmatario appropriati. I certificati del firmatario possono essere autofirmati o certificati forniti da un'autorità di certificazione. Sebbene i certificati autofirmati possano essere utilizzati su un sistema di sviluppo, test o pre - produzione, non utilizzarli su un sistema di produzione. Su un sistema di produzione, utilizzare i certificati ottenuti da una CA (certificate authority) esterna attendibile.

Procedura

  1. Creare i certificati firmatari.
    1. Per creare certificati autofirmati, utilizzare uno dei seguenti strumenti forniti con IBM MQ :
      Utilizzare la GUI di iKeyman o iKeycmd o runmqakm dalla riga comandi. Per ulteriori informazioni sull'uso di questi strumenti, vedere Uso di iKeyman, iKeycmd, runmqakm e runmqckm.
    2. Per ottenere i certificati per il gestore code e i client da una CA (Certificate Authority), seguire le istruzioni in Ottenimento di certificati personali da un'autorità di certificazione.
  2. Configurare il server.
    1. Configurare SSL sul gestore code, utilizzando IBM Global Security Kit (GSKit), come descritto in Connessione sicura di un client a un gestore code.
    2. Impostare gli attributi SSL del canale SVRCONN:
      • Impostare SSLCAUTH su "REQUIRED/OPTIONAL".
      • Impostare SSLCIPH su un CipherSpecappropriato.
      Per ulteriori informazioni, consultareAbilitazione di SSL per il client .NET non gestito.
  3. Configurare il lato client.
    1. Importare i certificati client nell'archivio certificati Windows (nell'account Utente / Computer).
      IBM MQ .NET accede ai certificati client dall'archivio certificati Windows , pertanto è necessario importare i propri certificati nell'archivio certificati Windows per stabilire una connessione socket sicura a IBM MQ . Per ulteriori informazioni su come accedere al keystore Windows e importare i certificati lato client, consultare Importazione o esportazione di certificati e chiavi private.
    2. Fornire CertificateLabel come descritto in Connessione sicura di un client a un gestore code.
    3. Se necessario, modificare il Criterio di gruppo 'Windows per impostare il CipherSpec, quindi, affinché gli aggiornamenti del Criterio di gruppo 'Windows abbiano effetto, riavviare il computer.
  4. Configurare il programma applicativo.
    1. Impostare il valore MQEnvironment o SSLCipherSpec per indicare la connessione come una connessione protetta.
      Il valore specificato viene utilizzato per identificare il protocollo SSL utilizzato (SSL o TLS) e deve corrispondere a qualsiasi preferenza specificata nel criterio di gruppo Windows .
    2. Impostare la proprietà SSLKeyRepository su "*SYSTEM" o "*USER".
    3. Facoltativo: impostare SSLPEERNAME sul DN (distinguished name) del certificato del server.
    4. Fornire CertificateLabel come descritto in Connessione sicura di un client a un gestore code.
    5. Impostare eventuali altri parametri opzionali, come KeyResetCount, CertificationRevocationCheck, e enable FIPS.

Esempi di come impostare il protocollo SSL e il repository delle chiavi SSL

Per .NETdi base, è possibile impostare il protocollo SSL e il repository delle chiavi SSL tramite la classe MQEnvironment come mostrato nel seguente esempio:
MQEnvironment.SSLCipherSpec = "TLS_RSA_WITH_AES_128_CBC_SHA256";
MQEnvironment.SSLKeyRepository = "*USER";

MQEnvironment.properties.Add(MQC.SSL_CIPHER_SPEC_PROPERTY, "TLS_RSA_WITH_AES_128_CBC_SHA256")
In alternativa, è possibile impostare il protocollo SSL e il repository di chiavi SSL fornendo una tabella hash come parte del costruttore MQQueueManager , come mostrato nel seguente esempio.
Hashtable properties = new Hashtable();
properties.Add(MQC.SSL_CERT_STORE_PROPERTY, sslKeyRepository);
properties.Add(MQC.SSL_CIPHER_SPEC_PROPERTY, "TLS_RSA_WITH_AES_128_CBC_SHA256")

Cosa fare successivamente

Per ulteriori informazioni relative allo sviluppo di applicazioni SSL gestite da IBM MQ .NET , consultareScrittura di un'applicazione semplice.