Utilización de la herramienta Cliente Java para probar colas de Sterling Order Management System MQ a través de SSL

Una vez que los usuarios de SI han instalado correctamente su kit de herramientas de desarrollador contenerizado, pueden utilizar la herramienta MQ Java™ Client empaquetada con el kit de herramientas de desarrollador para conectarse a una cola en su instancia de MQ de nube a través de SSL.

Implementación de cliente Java personalizado

Una implementación de cliente Java de ejemplo personalizada se empaqueta con el kit de herramientas del desarrollador. Puede ejecutar esta implementación de ejemplo como la herramienta de cliente Java de MQ para realizar diversas tareas que se explican en este tema. Puede utilizar la implementación Java de muestra personalizada como referencia para realizar sus propias implementaciones personalizadas para conectarse a las colas MQ entorno de nube de Sterling™ Order Management System. La implementación de ejemplo también contiene la lógica necesaria para volver a conectarse a las colas de MQ del entorno de nube cuando la instancia de MQ sufre un proceso de migración tras error.

La implementación de ejemplo está disponible en devtoolkit_docker/compose/docker/mqserver/mqjc/src/com/ibm/mq/samples/jms/JmsPutGet.java.

Requisitos previos para utilizar la herramienta Cliente Java

Antes de empezar a configurar la herramienta Cliente Java para conectarse a una cola en la instancia de Cloud MQ a través de SSL, asegúrese de que tiene la siguiente información disponible:

  • El servidor al que conectarse, es decir, <tenant_code>-<env>-<envno>-mq.oms.supply-chain.ibm.com.
  • La cola de MQ que se va a probar.
  • El archivo de clave privada p12 descargado de Autoservicio.

Configuración de la herramienta Cliente Java

Ejecute el mandato siguiente desde el kit de herramientas de desarrollador
./om-compose.sh mqjc-setup <Path to SST P12 file>

Ejecución de la herramienta de cliente Java

Ejecute el mandato siguiente desde el kit de herramientas de desarrollador:
./om-compose.sh mqjc <optional: override parameters>

Parámetros para el cliente

  • Los parámetros siguientes se establecen de forma predeterminada:
    PORT=15443
    CHANNEL=SYSTEM.TLS.SVRCONN
    QMGR=OM_QMGR
    CIPHER=SSL_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • Opcionalmente, puede establecer una o varias de las propiedades siguientes en om-compose.properties para alterar temporalmente los valores predeterminados:
    MQJC_PORT=<overriden port>
    MQJC_CHANNEL=<overriden channel>
    MQJC_QMGR=<overriden qmgr>
    MQJC_CIPHER=<overriden cipher>
    Proporcione los valores adecuados para las propiedades siguientes:
    MQJC_HOST=<host name/ip address of the mq server>
    MQJC_QUEUE=<name of the queue to test>
    
  • Opcionalmente, pase uno o varios de los siguientes parámetros como parámetros de alteración temporal a la llamada ./om-compose.sh mqjc . Esto altera temporalmente los valores del código, así como cualquier propiedad establecida en om-compose.properties.
    -DMQJC_PORT=<overriden port> 
    -DMQJC_CHANNEL=<overriden channel> 
    -DMQJC_QMGR=<overriden qmgr>
    -DMQJC_CIPHER=<overriden cipher> 
    -DMQJC_HOST=<host name/ip address of  mq server> 
    -DMQJC_QUEUE=<name of the queue to test>

Cifrados a utilizar

Entornos de nube actualizados:
  • IBM® JRE- SSL_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (valor predeterminado)
  • Oracle JRE- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
Entornos de nube antiguos:
  • IBM JRE- SSL_RSA_WITH_AES_128_CBC_SHA256
  • Oracle JRE- TLS_RSA_WITH_AES_128_CBC_SHA256
Nota:
  • Si está ejecutando la herramienta Cliente Java desde un kit de herramientas de desarrollador en Linux® con un tiempo de ejecución extraído, utilizará IBM JRE. Si no tiene un tiempo de ejecución extraído, utilizará el JRE al que hace referencia la variable JAVA_HOME , que puede ser IBM u Oracle JRE en función de lo que haya instalado en la máquina.
  • Si está ejecutando la herramienta Cliente Java desde un kit de herramientas de desarrollador en Mac, utilizará el JRE instalado en el Mac al que hace referencia la variable JAVA_HOME , ya que es el mismo JRE que se copia en el tiempo de ejecución extraído.
Sugerencia: Para comprobar si el JRE es IBM JRE u Oracle JRE, ejecute java -version. Si contiene IBM J9 VM, es IBM JRE. Si contiene Java HotSpot VM, es Oracle JRE.

Argumentos adicionales

Con el cliente MQ versión 9.2.1(versión CD) y posterior, debe utilizar el siguiente argumento JVM para las herramientas o clientes basados en Java:
-Dcom.ibm.mq.cfg.SSL.outboundSNI=Hostname
Si el cliente o herramienta de terceros es C o .NET (No gestionado), pase OutboundSNI=HOSTNAME en la stanza SSL del archivo mqclient.ini . Este atributo puede ser leído por C, .NET no gestionado, clases IBM MQ para Java, y clases IBM MQ para Java, y clases IBM MQ para clientes JMS únicamente.
Nota: Si está utilizando el paso JDK de Oracle , utilice el siguiente argumento de JVM.
-Dcom.ibm.mq.cfg.useIBMCipherMappings=false
PRECAUCIÓN:
No utilice la versión 9.1.x de los clientes porque podría causar problemas con la indicación de nombre de servidor (SNI).

Ejemplos

  1. Si desea probar la cola QUEUE.1 en el servidor abccorp-qa-1-mq.oms.supply-chain.ibm.com, que ha actualizado los cifrados, utilizando IBM JRE, ejecute el mandato siguiente:
    ./om-compose.sh mqjc -DMQJC_HOST=abccorp-qa-1-mq.oms.supply-chain.ibm.com
    -DMQJC_QUEUE=QUEUE.1
  2. Si desea probar la cola QUEUE.2 en el servidor oldcorp-dev-1-mq.oms.supply-chain.ibm.com, que utiliza cifrados antiguos, utilizando Oracle JRE, ejecute el mandato siguiente:
    ./om-compose.sh mqjc -DMQJC_CIPHER=TLS_RSA_WITH_AES_128_CBC_SHA256
    -DMQJC_HOST=oldcorp-dev-1-mq.oms.supply-chain.ibm.com  -DMQJC_QUEUE=QUEUE.2