Integrações externas para IBM MQ

IBM MQ A integração baseada em API é suportada pelo IBM® para integrar o sistema Sterling™ Order Management com qualquer sistema externo de terceiros.

Sobre esta tarefa

Importante: se estiver usando o kit de ferramentas do desenvolvedor conteinerizado, esse processo será totalmente automatizado. Você pode usar a ferramenta Java™ Client para testar as filas MQ do IBM Sterling® Order Management System sobre SSL. Para obter mais informações, consulte Usando a ferramenta Java Client para testar as filas MQ sobre SSL.

O acesso ao servidor MQ no ambiente do Sterling Order Management System é configurado usando a Autenticação mútua. O servidor MQ é protegido com o certificado CA assinado por Digicert e a Autenticação de cliente. A Autenticação de Cliente é um processo pelo qual os usuários ou clientes podem acessar com segurança quaisquer serviços de um servidor trocando certificados digitais.

Para se conectar ao servidor MQ usando qualquer cliente para qualquer integração externa com o MQ, deve-se configurar o cliente com um certificado de cliente SSL/TLS que é gerado usando o Autoatendimento juntamente com a confiança na Raiz Digicert.

Nota:
  • Use as versões de cliente MQ 9.2.1 (CD) ou 9.0.x (LTS) para evitar problemas de handshake SSL com SNI nas versões de cliente MQ 9.1.x e 9.2.0. Você deve usar a versão 9.2.1 ou versões posteriores do cliente MQ, ou deve usar a versão 9.0.x.
  • A integração externa pelo protocolo AMQP não é compatível com o IBM MQ.
  • O OMS MQ não pode ser conectado por meio de APIs REST.

Assista a um vídeo para saber como você pode se conectar ao gerenciador de filas do sistema Sterling Order Management.

Procedimento

  1. Faça o download dos certificados DigiCert High Assurance EV Root CA e DigiCert Global Root G2 PEM em DigiCert Trusted Root Authority Certificates.
  2. Inclua o certificado PEM transferido por download no armazenamento confiável do aplicativo a ser conectado ao MQ Server.
    keytool -import -noprompt -alias ibmwebspheremq_om_qmgr -file <path to the pem certificate> 
    -keystore  <path of trustore>\truststore.jks -storepass <password of your choice>
  3. Obtenha o certificado de cliente para o MQ de Autoatendimento. Para obter mais informações, consulte Geração de certificados de entrada.
  4. Instale este certificado em um armazenamento de certificados pessoais para o cliente MQ Inclua o p12 no keystore usando o comando a seguir:
    keytool -importkeystore -srckeystore cert-bundle-binary.p12 -srcstoretype pkcs12 -destkeystore 
    <path to the keystore>\keystore.jks
  5. Inclua armazenamento confiável e keystore no aplicativo que está tentando se conectar ao MQ.

O que fazer depois

Use as seguintes informações para concluir a conexão:
  • Cifra: o servidor MQ é executado com ANY_TLS1.2_OR_HIGHER. As cifras incluídas em ANY_TLS1.2_OR_HIGHER são:
    • ECDHE_RSA_AES_128_GCM_SHA256
    • ECDHE_RSA_AES_256_GCM_SHA384
    • TLS_RSA_WITH_AES_256_GCM_SHA384
    • ECDHE_ECDSA_AES_128_GCM_SHA256
    • ECDHE_ECDSA_AES_256_GCM_SHA384
    • TLS_AES_128_GCM_SHA256
    • TLS_AES_256_GCM_SHA384
    • TLS_CHACHA20_POLY1305_SHA256
    • TLS_AES_128_CCM_SHA256

    É possível usar qualquer cifra dessa lista para se conectar ao MQ. Para a cifra escolhida, encontre o conjunto de cifras equivalente para seu Java nas classes TLS CipherSpecs e CipherSuites em IBM MQ para JMS.

    Por exemplo, se o software cliente suportar ECDHE_RSA_AES_128_GCM_SHA256, a cifra compatível para IBM JRE será SSL_ECDHE_RSA_WITH_AES_128_GCM_SHA256 e para Oracle JRE será TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256.

  • Nome do Gerenciador de Filas: OM_QMGR
  • CANAL : SYSTEM.TLS.SVRCONN
  • Nome do host: <tenant_code>-<env>-<envno>-mq.oms.supply-chain.ibm.com Por exemplo, se o código do locatário for betap, o host será betap-dev-1-mq.oms.supply-chain.ibm.com
  • Porta: 15443

    Argumentos adicionais

    Com a versão do cliente do MQ 9.2.1(versão do CD) e mais recente, use o argumento JVM a seguir para clientes ou ferramentas baseados em Java:
    -Dcom.ibm.mq.cfg.SSL.outboundSNI=Hostname
    Se o cliente ou a ferramenta de terceiros for C ou .NET (não gerenciado), passe OutboundSNI=HOSTNAME na sub-rotina SSL do arquivo mqclient.ini . Esse atributo pode ser lido por classes C, .NET não gerenciado, IBM MQ para Java e classes IBM MQ para Java e classes IBM MQ apenas para clientes JMS.
    Nota: Se você estiver usando o Oracle JDK pass, use o argumento JVM a seguir.
    -Dcom.ibm.mq.cfg.useIBMCipherMappings=false