Fornitura di un prodotto personalizzato SSLSocketFactory in IBM MQ classes for JMS/Jakarta Messaging

Le applicazioni possono fornire un'istanza personalizzata di SSLSocketFactory quando stabiliscono connessioni TLS con un gestore di code. [ MQ 9.4.5 febbraio 2026]Le applicazioni possono anche fornire un certificato di autenticità personalizzato ( SSLSocketFactory ) quando recuperano un CCDT o un JWT da un endpoint HTTPS.

Potresti voler personalizzare alcuni aspetti della connessione TLS per un'applicazione perché, ad esempio, desideri:
  • Inizializza l'hardware crittografico.
  • Modifica il keystore e il truststore in uso.
  • [ MQ 9.4.5 febbraio 2026]Recuperare un CCDT o un JWT da un endpoint HTTPS ed essere in grado di controllare gli archivi di fiducia, gli archivi di chiavi e la logica di convalida dei certificati senza influire sulle altre connessioni HTTPS nella JVM.
    Nota: questa funzione non si applica ai server delle applicazioni collegati tramite Java EE Connector Architecture (JCA) poiché server come forniscono WebSphere® Liberty già meccanismi per filtrare le connessioni. Per personalizzare la convalida del certificato SSL per singole connessioni in uscita dell' HTTPS, come CCDT e recupero token, è possibile configurare il WebSphere Liberty server utilizzando i filtri in uscita, come descritto nella sezione Filtri in uscita per configurazioni SSL nella WebSphere Liberty documentazione.

L'applicazione deve prima creare un oggetto javax.net.ssl.SSLSocketFactory personalizzato in base alle esigenze. Consulta la documentazione Java Secure Socket Extension (JSSE) per informazioni su come procedere, poiché le funzionalità personalizzabili variano da provider a provider. Dopo aver ottenuto un oggetto SSLSocketFactory adeguato, utilizzare il metodo MQConnectionFactory.setSSLSocketFactory( ) per configurare JMS in modo da utilizzare l'oggetto SSLSocketFactory personalizzato.

Se l'applicazione utilizza il metodo setSSLSocketFactory( ) per impostare un oggetto SSLSocketFactory personalizzato, MQConnectionFactory l'oggetto non può più essere associato a uno spazio dei nomi JNDI. Il tentativo di eseguire questa operazione causa un'eccezione. Se questa proprietà non è impostata, viene utilizzato l'oggetto SSLSocketFactory predefinito. Per ulteriori dettagli sul comportamento dell'oggetto SSLSocketFactory predefinito, consultare la JSSE documentazione. Questa proprietà viene ignorata se non CipherSuite è impostato alcun.

Importante: non presumere che l'utilizzo delle propriet ... SSL garantisca la sicurezza quando un oggetto ConnectionFactory viene richiamato da un namespace JNDI che non Š esso stesso sicuro. In particolare, l'implementazione LDAP standard di JNDI non è sicura. Un aggressore può imitare il server LDAP, inducendo in modo fuorviante un'applicazione JMS a connettersi al server sbagliato senza accorgersene. Con adeguati accordi di sicurezza in atto, altre implementazioni di JNDI (come l'implementazione di fscontext) sono sicure.