Proprietà TLS degli oggetti JMS

È possibile abilitare la crittografia TLS (Transport Layer Security) utilizzando la SSLCIPHERSUITE proprietà. È quindi possibile modificare le caratteristiche della codifica TLS utilizzando diverse altre proprietà.

Quando si specifica TRANSPORT(CLIENT), è possibile abilitare la comunicazione crittografata TLS utilizzando la SSLCIPHERSUITE proprietà. Impostare questa proprietà su un valore valido CipherSuite fornito dal proprio provider Java Secure Socket Extension (JSSE); deve corrispondere al CipherSpec indicato nel canale SVRCONN denominato dalla CHANNEL proprietà.

Tuttavia, CipherSpecs (come specificato sul canale SVRCONN) e CipherSuites (come specificato sugli ConnectionFactory oggetti ) utilizzano schemi di denominazione diversi per rappresentare gli stessi algoritmi di crittografia TLS. Se nella SSLCIPHERSUITE proprietà è specificato un nome CipherSpec riconosciuto, JMSAdmin o JMSAdmin30 lo strumento emette un avviso e mappa il nome CipherSpec al suo equivalente CipherSuite. Per ulteriori informazioni sui protocolli supportati CipherSuites, CipherSpecs, consultare TLS CipherSpecs e CipherSuites in IBM® MQ classes for JMS.

Se è necessaria una connessione per utilizzare un CipherSuite supportato dal provider IBMJavaJSSEFIPS (IBMJSSEFIPS), impostare la SSLFIPSREQUIRED proprietà della factory di connessione su YES. Il valore predefinito di questa proprietà è NO, il che significa che una connessione può utilizzare qualsiasi. CipherSuite La proprietà viene ignorata se non SSLCIPHERSUITE è impostata.

La SSLPEERNAME proprietà corrisponde al formato del SSLPEER parametro, che può essere impostato nelle definizioni dei canali. Si tratta di un elenco di coppie nome - valore dell'attributo separate da virgole o punti e virgola. Ad esempio:
SSLPEERNAME(CN=QMGR.*, OU=IBM, OU=WEBSPHERE)
L'insieme di nomi e valori costituisce un nome distinto. Per ulteriori dettagli sui nomi distintivi e sul loro utilizzo con IBM MQ, vedere Nomi distintivi.

L'esempio fornito controlla il certificato identificativo presentato dal server in fase di connessione. Perché la connessione abbia successo, il certificato deve avere un nome comune che inizia con QMGR., e deve avere almeno due nomi di unità organizzative, il cui primo è IBM e il secondo WEBSPHERE. Il controllo non è sensibile al maiuscolo / minuscolo.

Se SSLPEERNAME non è impostato, questo controllo non viene eseguito. SSLPEERNAME viene ignorato se SSLCIPHERSUITE non è impostato.

La SSLCRL proprietà specifica zero o più server CRL (Certificate Revocation List, elenco di revoca dei certificati). L'utilizzo di questa proprietà richiede una JVM alla versione Java 2 v1.4. Questo è un elenco delimitato da spazi di voci del formato:
ldap://<hostname>:[<port>]
facoltativamente seguito da un singolo /. Se <port> viene omesso, viene utilizzata la porta LDAP predefinita 389. In fase di connessione, il certificato TLS presentato dal server viene controllato rispetto ai server CRL specificati. Per ulteriori informazioni sulla sicurezza CRL, vedere Utilizzo dei certificati revocati.

Se SSLCRL non è impostato, questo controllo non viene eseguito. SSLCRL viene ignorato se SSLCIPHERSUITE non è impostato.

La SSLRESETCOUNT proprietà rappresenta il numero totale di byte inviati e ricevuti da una connessione prima che la chiave segreta utilizzata per la crittografia venga rinegoziata. Il numero di byte inviati è il numero prima della codifica e il numero di byte ricevuti è il numero dopo la decodifica. Il numero di byte include anche le informazioni di controllo inviate e ricevute da IBM MQ classes for JMS.

Ad esempio, per configurare un ConnectionFactory oggetto che può essere utilizzato per creare una connessione su un canale MQI abilitato TLS con una chiave segreta che viene rinegoziata dopo il flusso di 4 MB di dati, eseguire il seguente comando su JMSAdmin o JMSAdmin30:
ALTER CF(my.cf) SSLRESETCOUNT(4194304)

Se il valore di SSLRESETCOUNT è zero, che è il valore predefinito, la chiave segreta non viene mai rinegoziata. La proprietà SSLRESETCOUNT viene ignorata se SSLCIPHERSUITE non è impostata.