飙血推荐
  • HTML教程
  • MySQL教程
  • JavaScript基础教程
  • php入门教程
  • JavaScript正则表达式运用
  • Excel函数教程
  • AngularJS教程
  • UEditor使用文档
  • ThinkPHP5.0教程

TLS/SSL Mulesoft 与 ActiveMQ 的集成

时间:2022-01-04  作者:电脑狂魔  

介绍

本文解释了为具有自签名证书的 ActiveMQ 代理启用 TLS/SSL 的详细过程。主要议题如下:

  • 使用 OpenSSL 生成 PKCS12 格式的自签名证书

  • 消息代理的配置更改为 E

  • Mulesoft 发布者和消费者连接器配置以包含 PKCS12 格式的信任库

本文的主要目的是帮助 Mulesoft 开发人员了解 ActiveMQ 与启用 TLS/SSL 的代理的集成。 

生成自签名证书

OpenSSL 和 keytools 是最流行的 TLS/SSL 证书生成工具。OpenSSL 是一个非常强大和通用的工具,用于广泛的用途,例如网络和证书操作。在这个过程中,我使用 OpenSSL 来生成 PKCS12 证书。

ActiveMQ 代理的密钥库

为了为 ActiveMQ Brokers 启用 TLS/SSL,我们需要一个带有私钥和发布密钥的证书。这可以是 JKD、PKCS12 等格式。

第一步:  生成密钥对

openssl req -x509 -newkey rsa:2048 -keyout 域名 -out 域名 -days 3650

上面的命令需要输入。其中重要的一个是 FQDN(完全限定域名)。对于自签名,最好使用 *.<Company-Name>.com。这将允许将证书应用于多个代理。

第二步:生成 PKCS12 格式的密钥库

openssl pkcs12 -export -in 域名 -inkey 域名 -out hytemq-域名 -name "hytemq-dev"

上述命令将生成文件 hytemq-域名。这是 ActiveMQ 代理所必需的。

要查看密钥库的内容,请使用以下命令:

openssl pkcs12 -info -in hytemq-域名

客户端信任库

信任库用于客户端连接代理。

openssl pkcs12 -export -nokeys -in 域名 -out hytemq-域名

要查看信任库的内容,请使用以下命令:

openssl pkcs12 -info -in hytemq-域名  -passin pass:changeme

使用 TLS/SSL 配置 ActiveMQ

要启用 TLS/SSL,我们需要执行以下操作:

  1. 复制hytemq-域名到${AMQ_HOME}/etc/ssl

  2. 域名通过添加以下部分进行更新:

<sslContext>
    <sslContext keyStore="etc/ssl/hytemq-域名" keyStoreKeyPassword="changeme" keyStorePassword="changeme"/>
     </sslContext>

注意:我们需要域名像下面这样添加 SSL 传输:

    <transportConnectors>
      <transportConnector name="jms-management" uri="nio://0.0.0.0:61620?域名rameSize=10485760&allowLinkStealing=false&maximumConnections=256"/>
      <transportConnector name="jms-consumers-ssl" uri="nio+ssl://0.0.0.0:61618?域名rameSize=10485760&allowLinkStealing=false&maximumConnections=256"/>
      <transportConnector name="jms-producers-ssl" uri="nio+ssl://0.0.0.0:61621?域名rameSize=10485760&allowLinkStealing=false&maximumConnections=256"/>
    </transportConnectors>
    .

使用 TLS/SSL 配置 Mulesoft ActiveMQ 连接器

使用 Mulesoft ActiveMQ 连接器在启用 TLS/SSL 的情况下发布或使用消息,我们需要将连接器配置如下:

" data-lang="" style="box-sizing: border-box;">

<jms:config name="JMS_Config_SSL" doc:name="JMS Config" doc:id="301510cd-9750-4126-b452-b833e5137566" >
<jms:active-mq-connection username="admin" password="admin" >
<tls:context >
<tls:trust-store path="ssl/hytemq-域名" password="changeme" type="pkcs12" insecure="true"/>
</tls:context>
<jms:factory-configuration brokerUrl="failover:(ssl://域名:61621,ssl://域名:61621,ssl://域名:61621)" />
</jms:active-mq-connection>
</jms:config>

创建自签名证书的命令:

  openssl req -x509 -newkey rsa:2048 -keyout 域名 -out 域名 -days 3650
  openssl pkcs12 -export -in 域名 -inkey 域名 -out hytemq-域名 -name "hytemq-dev"
  openssl pkcs12 -info -in hytemq-域名
  openssl pkcs12 -export -nokeys -in 域名 -out hytemq-域名
  openssl pkcs12 -nokeys -info -in hytemq-域名 -passin pass:changeme
  openssl pkcs12 -info -in hytemq-域名  -passin pass:changeme
湘ICP备14001474号-3  投诉建议:234161800@qq.com   部分内容来源于网络,如有侵权,请联系删除。